Qt 4.8
Public Types | Public Functions | Static Public Functions | Public Variables | Protected Functions | List of all members
QStyleOptionGraphicsItem Class Reference

The QStyleOptionGraphicsItem class is used to describe the parameters needed to draw a QGraphicsItem. More...

#include <qstyleoption.h>

Inheritance diagram for QStyleOptionGraphicsItem:
QStyleOption

Public Types

enum  StyleOptionType { Type = SO_GraphicsItem }
 This enum is used to hold information about the type of the style option, and is defined for each QStyleOption subclass. More...
 
enum  StyleOptionVersion { Version = 1 }
 This enum is used to hold information about the version of the style option, and is defined for each QStyleOption subclass. More...
 
- Public Types inherited from QStyleOption
enum  OptionType {
  SO_Default, SO_FocusRect, SO_Button, SO_Tab,
  SO_MenuItem, SO_Frame, SO_ProgressBar, SO_ToolBox,
  SO_Header, SO_Q3DockWindow, SO_DockWidget, SO_Q3ListViewItem,
  SO_ViewItem, SO_TabWidgetFrame, SO_TabBarBase, SO_RubberBand,
  SO_ToolBar, SO_GraphicsItem, SO_Complex = 0xf0000, SO_Slider,
  SO_SpinBox, SO_ToolButton, SO_ComboBox, SO_Q3ListView,
  SO_TitleBar, SO_GroupBox, SO_SizeGrip, SO_CustomBase = 0xf00,
  SO_ComplexCustomBase = 0xf000000
}
 This enum is used internally by QStyleOption, its subclasses, and qstyleoption_cast() to determine the type of style option. More...
 
enum  StyleOptionType { Type = SO_Default }
 This enum is used to hold information about the type of the style option, and is defined for each QStyleOption subclass. More...
 
enum  StyleOptionVersion { Version = 1 }
 This enum is used to hold information about the version of the style option, and is defined for each QStyleOption subclass. More...
 

Public Functions

 QStyleOptionGraphicsItem ()
 Constructs a QStyleOptionGraphicsItem. More...
 
 QStyleOptionGraphicsItem (const QStyleOptionGraphicsItem &other)
 Constructs a copy of other. More...
 
- Public Functions inherited from QStyleOption
void init (const QWidget *w)
 Use initFrom(widget) instead. More...
 
void initFrom (const QWidget *w)
 
QStyleOptionoperator= (const QStyleOption &other)
 Assign other to this QStyleOption. More...
 
 QStyleOption (int version=QStyleOption::Version, int type=SO_Default)
 Constructs a QStyleOption with the specified version and type. More...
 
 QStyleOption (const QStyleOption &other)
 Constructs a copy of other. More...
 
 ~QStyleOption ()
 Destroys this style option object. More...
 

Static Public Functions

static qreal levelOfDetailFromTransform (const QTransform &worldTransform)
 Returns the level of detail from the worldTransform. More...
 

Public Variables

QRectF exposedRect
 the exposed rectangle, in item coordinates More...
 
qreal levelOfDetail
 Use QStyleOptionGraphicsItem::levelOfDetailFromTransform() together with QPainter::worldTransform() instead. More...
 
QMatrix matrix
 the complete transformation matrix for the item More...
 
- Public Variables inherited from QStyleOption
Qt::LayoutDirection direction
 the text layout direction that should be used when drawing text in the control More...
 
QFontMetrics fontMetrics
 the font metrics that should be used when drawing text in the control More...
 
QPalette palette
 the palette that should be used when painting the control More...
 
QRect rect
 the area that should be used for various calculations and painting More...
 
QStyle::State state
 the style flags that are used when drawing the control More...
 
int type
 the option type of the style option More...
 
int version
 the version of the style option More...
 

Protected Functions

 QStyleOptionGraphicsItem (int version)
 

Additional Inherited Members

Detailed Description

The QStyleOptionGraphicsItem class is used to describe the parameters needed to draw a QGraphicsItem.

Since
4.2

For performance reasons, the access to the member variables is direct (i.e., using the . or -> operator). This low-level feel makes the structures straightforward to use and emphasizes that these are simply parameters.

For an example demonstrating how style options can be used, see the widgets/styles{Styles} example.

See also
QStyleOption, QGraphicsItem::paint()

Definition at line 867 of file qstyleoption.h.

Enumerations

◆ StyleOptionType

This enum is used to hold information about the type of the style option, and is defined for each QStyleOption subclass.

The type is used internally by QStyleOption, its subclasses, and qstyleoption_cast() to determine the type of style option. In general you do not need to worry about this unless you want to create your own QStyleOption subclass and your own styles.

See also
StyleOptionVersion
Enumerator
Type 

Definition at line 870 of file qstyleoption.h.

◆ StyleOptionVersion

This enum is used to hold information about the version of the style option, and is defined for each QStyleOption subclass.

  • Version 1

The version is used by QStyleOption subclasses to implement extensions without breaking compatibility. If you use qstyleoption_cast(), you normally do not need to check it.

See also
StyleOptionType
Enumerator
Version 

Definition at line 871 of file qstyleoption.h.

Constructors and Destructors

◆ QStyleOptionGraphicsItem() [1/3]

QStyleOptionGraphicsItem::QStyleOptionGraphicsItem ( )

Constructs a QStyleOptionGraphicsItem.

Definition at line 6027 of file qstyleoption.cpp.

6029 {
6030 }
qreal levelOfDetail
Use QStyleOptionGraphicsItem::levelOfDetailFromTransform() together with QPainter::worldTransform() i...
Definition: qstyleoption.h:875
QStyleOption(int version=QStyleOption::Version, int type=SO_Default)
Constructs a QStyleOption with the specified version and type.

◆ QStyleOptionGraphicsItem() [2/3]

QStyleOptionGraphicsItem::QStyleOptionGraphicsItem ( const QStyleOptionGraphicsItem other)
inline

Constructs a copy of other.

Definition at line 878 of file qstyleoption.h.

878 : QStyleOption(Version, Type) { *this = other; }
QStyleOption(int version=QStyleOption::Version, int type=SO_Default)
Constructs a QStyleOption with the specified version and type.

◆ QStyleOptionGraphicsItem() [3/3]

QStyleOptionGraphicsItem::QStyleOptionGraphicsItem ( int  version)
protected
Warning
This function is not part of the public interface.

Definition at line 6035 of file qstyleoption.cpp.

6037 {
6038 }
int version
the version of the style option
Definition: qstyleoption.h:86
qreal levelOfDetail
Use QStyleOptionGraphicsItem::levelOfDetailFromTransform() together with QPainter::worldTransform() i...
Definition: qstyleoption.h:875
QStyleOption(int version=QStyleOption::Version, int type=SO_Default)
Constructs a QStyleOption with the specified version and type.

Functions

◆ levelOfDetailFromTransform()

qreal QStyleOptionGraphicsItem::levelOfDetailFromTransform ( const QTransform worldTransform)
static

Returns the level of detail from the worldTransform.

Since
4.6

Its value represents the maximum value of the height and width of a unity rectangle, mapped using the worldTransform of the painter used to draw the item. By default, if no transformations are applied, its value is 1. If zoomed out 1:2, the level of detail will be 0.5, and if zoomed in 2:1, its value is 2.

Definition at line 6054 of file qstyleoption.cpp.

6055 {
6056  if (worldTransform.type() <= QTransform::TxTranslate)
6057  return 1; // Translation only? The LOD is 1.
6058 
6059  // Two unit vectors.
6060  QLineF v1(0, 0, 1, 0);
6061  QLineF v2(0, 0, 0, 1);
6062  // LOD is the transformed area of a 1x1 rectangle.
6063  return qSqrt(worldTransform.map(v1).length() * worldTransform.map(v2).length());
6064 }
TransformationType type() const
Returns the transformation type of this matrix.
The QLineF class provides a two-dimensional vector using floating point precision.
Definition: qline.h:212
QPoint map(const QPoint &p) const
Creates and returns a QPoint object that is a copy of the given point, mapped into the coordinate sys...
qreal qSqrt(qreal v)
Definition: qmath.h:205

Properties

◆ exposedRect

QStyleOptionGraphicsItem::exposedRect

the exposed rectangle, in item coordinates

Make use of this rectangle to speed up item drawing when only parts of the item are exposed. If the whole item is exposed, this rectangle will be the same as QGraphicsItem::boundingRect().

This member is only initialized for items that have the QGraphicsItem::ItemUsesExtendedStyleOption flag set.

Definition at line 873 of file qstyleoption.h.

Referenced by _q_paintItem(), QGraphicsScenePrivate::drawItemHelper(), QGraphicsItemPrivate::initStyleOption(), QGraphicsProxyWidget::paint(), QGraphicsTextItem::paint(), and QGraphicsWidget::paintWindowFrame().

◆ levelOfDetail

QStyleOptionGraphicsItem::levelOfDetail

◆ matrix

QStyleOptionGraphicsItem::matrix

the complete transformation matrix for the item

The QMatrix provided through this member does include information about
any perspective transformations applied to the view or item. To get the
correct transformation matrix, use QPainter::transform() on the painter
passed into the QGraphicsItem::paint() implementation.

This matrix is the combination of the item's scene matrix and the matrix
of the painter used for drawing the item. It is provided for convenience,
allowing anvanced level-of-detail metrics that can be used to speed up
item drawing.

To find the dimensions of an item in screen coordinates (i.e., pixels),
you can use the mapping functions of QMatrix, such as QMatrix::map().

This member is only initialized for items that have the
QGraphicsItem::ItemUsesExtendedStyleOption flag set.

\sa QStyleOptionGraphicsItem::levelOfDetailFromTransform()

Definition at line 874 of file qstyleoption.h.

Referenced by QGraphicsItemPrivate::initStyleOption().


The documentation for this class was generated from the following files: