8#include <QtWidgets/qtwidgetsglobal.h>
9#include <QtCore/qlocale.h>
10#include <QtCore/qvariant.h>
12#include <QtWidgets/qabstractspinbox.h>
14#include <QtGui/qicon.h>
15#include <QtGui/qtransform.h>
17#include <QtWidgets/qslider.h>
19#include <QtWidgets/qstyle.h>
21#include <QtWidgets/qtabbar.h>
23#if QT_CONFIG(tabwidget)
24#include <QtWidgets/qtabwidget.h>
26#if QT_CONFIG(rubberband)
27#include <QtWidgets/qrubberband.h>
29#include <QtWidgets/qframe.h>
30#if QT_CONFIG(itemviews)
31# include <QtCore/qabstractitemmodel.h>
43 SO_Default, SO_FocusRect, SO_Button, SO_Tab, SO_MenuItem,
44 SO_Frame, SO_ProgressBar, SO_ToolBox, SO_Header,
45 SO_DockWidget, SO_ViewItem, SO_TabWidgetFrame,
46 SO_TabBarBase, SO_RubberBand, SO_ToolBar, SO_GraphicsItem,
48 SO_Complex = 0xf0000, SO_Slider, SO_SpinBox, SO_ToolButton, SO_ComboBox,
49 SO_TitleBar, SO_GroupBox, SO_SizeGrip,
51 SO_CustomBase = 0xf00,
52 SO_ComplexCustomBase = 0xf000000
55 enum StyleOptionType { Type = SO_Default };
56 enum StyleOptionVersion { Version = 1 };
61 Qt::LayoutDirection direction;
63 QFontMetrics fontMetrics;
67 QStyleOption(
int version = QStyleOption::Version,
int type = SO_Default);
68 QStyleOption(
const QStyleOption &other);
71 void initFrom(
const QWidget *w);
72 QStyleOption &operator=(
const QStyleOption &other);
78 enum StyleOptionType { Type = SO_FocusRect };
79 enum StyleOptionVersion { Version = 1 };
81 QColor backgroundColor;
83 QStyleOptionFocusRect();
84 QStyleOptionFocusRect(
const QStyleOptionFocusRect &other) : QStyleOption(Version, Type) { *
this = other; }
85 QStyleOptionFocusRect &operator=(
const QStyleOptionFocusRect &) =
default;
88 QStyleOptionFocusRect(
int version);
94 enum StyleOptionType { Type = SO_Frame };
95 enum StyleOptionVersion { Version = 1 };
104 Q_DECLARE_FLAGS(FrameFeatures, FrameFeature)
105 FrameFeatures features;
106 QFrame::Shape frameShape;
109 QStyleOptionFrame(
const QStyleOptionFrame &other) : QStyleOption(Version, Type) { *
this = other; }
110 QStyleOptionFrame &operator=(
const QStyleOptionFrame &) =
default;
113 QStyleOptionFrame(
int version);
116Q_DECLARE_OPERATORS_FOR_FLAGS(QStyleOptionFrame::FrameFeatures)
118#if QT_CONFIG(tabwidget)
119class Q_WIDGETS_EXPORT QStyleOptionTabWidgetFrame :
public QStyleOption
122 enum StyleOptionType { Type = SO_TabWidgetFrame };
123 enum StyleOptionVersion { Version = 1 };
127 QTabBar::Shape shape;
129 QSize rightCornerWidgetSize;
130 QSize leftCornerWidgetSize;
132 QRect selectedTabRect;
134 QStyleOptionTabWidgetFrame();
135 inline QStyleOptionTabWidgetFrame(
const QStyleOptionTabWidgetFrame &other)
136 : QStyleOption(Version, Type) { *
this = other; }
137 QStyleOptionTabWidgetFrame &operator=(
const QStyleOptionTabWidgetFrame &) =
default;
140 QStyleOptionTabWidgetFrame(
int version);
147class Q_WIDGETS_EXPORT QStyleOptionTabBarBase :
public QStyleOption
150 enum StyleOptionType { Type = SO_TabBarBase };
151 enum StyleOptionVersion { Version = 1 };
153 QTabBar::Shape shape;
155 QRect selectedTabRect;
158 QStyleOptionTabBarBase();
159 QStyleOptionTabBarBase(
const QStyleOptionTabBarBase &other) : QStyleOption(Version, Type) { *
this = other; }
160 QStyleOptionTabBarBase &operator=(
const QStyleOptionTabBarBase &) =
default;
163 QStyleOptionTabBarBase(
int version);
168class Q_WIDGETS_EXPORT QStyleOptionHeader :
public QStyleOption
171 enum StyleOptionType { Type = SO_Header };
172 enum StyleOptionVersion { Version = 1 };
174 enum SectionPosition { Beginning, Middle, End, OnlyOneSection };
175 enum SelectedPosition { NotAdjacent, NextIsSelected, PreviousIsSelected,
176 NextAndPreviousAreSelected };
177 enum SortIndicator { None, SortUp, SortDown };
181 Qt::Alignment textAlignment;
183 Qt::Alignment iconAlignment;
184 SectionPosition position;
185 SelectedPosition selectedPosition;
186 SortIndicator sortIndicator;
187 Qt::Orientation orientation;
189 QStyleOptionHeader();
190 QStyleOptionHeader(
const QStyleOptionHeader &other) : QStyleOption(Version, Type) { *
this = other; }
191 QStyleOptionHeader &operator=(
const QStyleOptionHeader &) =
default;
194 QStyleOptionHeader(
int version);
201 enum StyleOptionType { Type = SO_Header };
202 enum StyleOptionVersion { Version = 2 };
204 QStyleOptionHeaderV2();
205 QStyleOptionHeaderV2(
const QStyleOptionHeaderV2 &other) : QStyleOptionHeader(Version) { *
this = other; }
206 QStyleOptionHeaderV2 &operator=(
const QStyleOptionHeaderV2 &) =
default;
208 Qt::TextElideMode textElideMode:2;
209 bool isSectionDragTarget:1;
213 QStyleOptionHeaderV2(
int version);
219 enum StyleOptionType { Type = SO_Button };
220 enum StyleOptionVersion { Version = 1 };
222 enum ButtonFeature { None = 0x00, Flat = 0x01, HasMenu = 0x02, DefaultButton = 0x04,
223 AutoDefaultButton = 0x08, CommandLinkButton = 0x10 };
224 Q_DECLARE_FLAGS(ButtonFeatures, ButtonFeature)
226 ButtonFeatures features;
231 QStyleOptionButton();
232 QStyleOptionButton(
const QStyleOptionButton &other) : QStyleOption(Version, Type) { *
this = other; }
233 QStyleOptionButton &operator=(
const QStyleOptionButton &) =
default;
236 QStyleOptionButton(
int version);
239Q_DECLARE_OPERATORS_FOR_FLAGS(QStyleOptionButton::ButtonFeatures)
242class Q_WIDGETS_EXPORT QStyleOptionTab :
public QStyleOption
245 enum StyleOptionType { Type = SO_Tab };
246 enum StyleOptionVersion { Version = 1 };
248 enum TabPosition { Beginning, Middle, End, OnlyOneTab, Moving };
249 enum SelectedPosition { NotAdjacent, NextIsSelected, PreviousIsSelected };
250 enum CornerWidget { NoCornerWidgets = 0x00, LeftCornerWidget = 0x01,
251 RightCornerWidget = 0x02 };
252 enum TabFeature { None = 0x00, HasFrame = 0x01, MinimumSizeHint = 0x02 };
253 Q_DECLARE_FLAGS(CornerWidgets, CornerWidget)
254 Q_DECLARE_FLAGS(TabFeatures, TabFeature)
256 QTabBar::Shape shape;
260 TabPosition position;
261 SelectedPosition selectedPosition;
262 CornerWidgets cornerWidgets;
265 QSize leftButtonSize;
266 QSize rightButtonSize;
267 TabFeatures features;
271 QStyleOptionTab(
const QStyleOptionTab &other) : QStyleOption(Version, Type) { *
this = other; }
272 QStyleOptionTab &operator=(
const QStyleOptionTab &) =
default;
275 QStyleOptionTab(
int version);
278Q_DECLARE_OPERATORS_FOR_FLAGS(QStyleOptionTab::CornerWidgets)
283#if QT_CONFIG(toolbar)
285class Q_WIDGETS_EXPORT QStyleOptionToolBar :
public QStyleOption
288 enum StyleOptionType { Type = SO_ToolBar };
289 enum StyleOptionVersion { Version = 1 };
290 enum ToolBarPosition { Beginning, Middle, End, OnlyOne };
291 enum ToolBarFeature { None = 0x0, Movable = 0x1 };
292 Q_DECLARE_FLAGS(ToolBarFeatures, ToolBarFeature)
293 ToolBarPosition positionOfLine;
294 ToolBarPosition positionWithinLine;
295 Qt::ToolBarArea toolBarArea;
296 ToolBarFeatures features;
299 QStyleOptionToolBar();
300 QStyleOptionToolBar(
const QStyleOptionToolBar &other) : QStyleOption(Version, Type) { *
this = other; }
301 QStyleOptionToolBar &operator=(
const QStyleOptionToolBar &) =
default;
304 QStyleOptionToolBar(
int version);
307Q_DECLARE_OPERATORS_FOR_FLAGS(QStyleOptionToolBar::ToolBarFeatures)
311class Q_WIDGETS_EXPORT QStyleOptionProgressBar :
public QStyleOption
314 enum StyleOptionType { Type = SO_ProgressBar };
315 enum StyleOptionVersion { Version = 1 };
321 Qt::Alignment textAlignment;
323 bool invertedAppearance;
326 QStyleOptionProgressBar();
327 QStyleOptionProgressBar(
const QStyleOptionProgressBar &other) : QStyleOption(Version, Type) { *
this = other; }
328 QStyleOptionProgressBar &operator=(
const QStyleOptionProgressBar &) =
default;
331 QStyleOptionProgressBar(
int version);
337 enum StyleOptionType { Type = SO_MenuItem };
338 enum StyleOptionVersion { Version = 1 };
340 enum MenuItemType { Normal, DefaultItem, Separator, SubMenu, Scroller, TearOff, Margin,
342 enum CheckType { NotCheckable, Exclusive, NonExclusive };
344 MenuItemType menuItemType;
347 bool menuHasCheckableItems;
352 int reservedShortcutWidth;
355 QStyleOptionMenuItem();
356 QStyleOptionMenuItem(
const QStyleOptionMenuItem &other) : QStyleOption(Version, Type) { *
this = other; }
357 QStyleOptionMenuItem &operator=(
const QStyleOptionMenuItem &) =
default;
360 QStyleOptionMenuItem(
int version);
367 enum StyleOptionVersion { Version = 2 };
369 QStyleOptionMenuItemV2();
370 QStyleOptionMenuItemV2(
const QStyleOptionMenuItemV2 &other) : QStyleOptionMenuItem(Version) { *
this = other; }
371 QStyleOptionMenuItemV2 &operator=(
const QStyleOptionMenuItemV2 &) =
default;
375 QStyleOptionMenuItemV2(
int version);
381 enum StyleOptionType { Type = SO_DockWidget };
382 enum StyleOptionVersion { Version = 1 };
388 bool verticalTitleBar;
390 QStyleOptionDockWidget();
391 QStyleOptionDockWidget(
const QStyleOptionDockWidget &other) : QStyleOption(Version, Type) { *
this = other; }
392 QStyleOptionDockWidget &operator=(
const QStyleOptionDockWidget &) =
default;
395 QStyleOptionDockWidget(
int version);
398#if QT_CONFIG(itemviews)
400class Q_WIDGETS_EXPORT QStyleOptionViewItem :
public QStyleOption
403 enum StyleOptionType { Type = SO_ViewItem };
404 enum StyleOptionVersion { Version = 1 };
406 enum Position { Left, Right, Top, Bottom };
408 Qt::Alignment displayAlignment;
409 Qt::Alignment decorationAlignment;
410 Qt::TextElideMode textElideMode;
411 Position decorationPosition;
412 QSize decorationSize;
414 bool showDecorationSelected;
416 enum ViewItemFeature {
420 HasCheckIndicator = 0x04,
422 HasDecoration = 0x10,
423 IsDecoratedRootColumn = 0x20,
424 IsDecorationForRootColumn = 0x40,
426 Q_DECLARE_FLAGS(ViewItemFeatures, ViewItemFeature)
428 ViewItemFeatures features;
431 const QWidget *widget;
433 enum ViewItemPosition { Invalid, Beginning, Middle, End, OnlyOne };
436 Qt::CheckState checkState;
439 ViewItemPosition viewItemPosition;
440 QBrush backgroundBrush;
442 QStyleOptionViewItem();
443 QStyleOptionViewItem(
const QStyleOptionViewItem &other) : QStyleOption(Version, Type) { *
this = other; }
444 QStyleOptionViewItem &operator=(
const QStyleOptionViewItem &) =
default;
447 QStyleOptionViewItem(
int version);
450Q_DECLARE_OPERATORS_FOR_FLAGS(QStyleOptionViewItem::ViewItemFeatures)
457 enum StyleOptionType { Type = SO_ToolBox };
458 enum StyleOptionVersion { Version = 1 };
463 enum TabPosition { Beginning, Middle, End, OnlyOneTab };
464 enum SelectedPosition { NotAdjacent, NextIsSelected, PreviousIsSelected };
466 TabPosition position;
467 SelectedPosition selectedPosition;
469 QStyleOptionToolBox();
470 QStyleOptionToolBox(
const QStyleOptionToolBox &other) : QStyleOption(Version, Type) { *
this = other; }
471 QStyleOptionToolBox &operator=(
const QStyleOptionToolBox &) =
default;
474 QStyleOptionToolBox(
int version);
477#if QT_CONFIG(rubberband)
478class Q_WIDGETS_EXPORT QStyleOptionRubberBand :
public QStyleOption
481 enum StyleOptionType { Type = SO_RubberBand };
482 enum StyleOptionVersion { Version = 1 };
484 QRubberBand::Shape shape;
487 QStyleOptionRubberBand();
488 QStyleOptionRubberBand(
const QStyleOptionRubberBand &other) : QStyleOption(Version, Type) { *
this = other; }
489 QStyleOptionRubberBand &operator=(
const QStyleOptionRubberBand &) =
default;
492 QStyleOptionRubberBand(
int version);
500 enum StyleOptionType { Type = SO_Complex };
501 enum StyleOptionVersion { Version = 1 };
503 QStyle::SubControls subControls;
504 QStyle::SubControls activeSubControls;
506 QStyleOptionComplex(
int version = QStyleOptionComplex::Version,
int type = SO_Complex);
507 QStyleOptionComplex(
const QStyleOptionComplex &other) : QStyleOption(Version, Type) { *
this = other; }
508 QStyleOptionComplex &operator=(
const QStyleOptionComplex &) =
default;
512class Q_WIDGETS_EXPORT QStyleOptionSlider :
public QStyleOptionComplex
515 enum StyleOptionType { Type = SO_Slider };
516 enum StyleOptionVersion { Version = 1 };
518 Qt::Orientation orientation;
521 QSlider::TickPosition tickPosition;
530 Qt::KeyboardModifiers keyboardModifiers;
532 QStyleOptionSlider();
533 QStyleOptionSlider(
const QStyleOptionSlider &other) : QStyleOptionComplex(Version, Type) { *
this = other; }
534 QStyleOptionSlider &operator=(
const QStyleOptionSlider &) =
default;
537 QStyleOptionSlider(
int version);
541#if QT_CONFIG(spinbox)
542class Q_WIDGETS_EXPORT QStyleOptionSpinBox :
public QStyleOptionComplex
545 enum StyleOptionType { Type = SO_SpinBox };
546 enum StyleOptionVersion { Version = 1 };
548 QAbstractSpinBox::ButtonSymbols buttonSymbols;
549 QAbstractSpinBox::StepEnabled stepEnabled;
552 QStyleOptionSpinBox();
553 QStyleOptionSpinBox(
const QStyleOptionSpinBox &other) : QStyleOptionComplex(Version, Type) { *
this = other; }
554 QStyleOptionSpinBox &operator=(
const QStyleOptionSpinBox &) =
default;
557 QStyleOptionSpinBox(
int version);
561#if QT_CONFIG(toolbutton)
562class Q_WIDGETS_EXPORT QStyleOptionToolButton :
public QStyleOptionComplex
565 enum StyleOptionType { Type = SO_ToolButton };
566 enum StyleOptionVersion { Version = 1 };
568 enum ToolButtonFeature { None = 0x00, Arrow = 0x01, Menu = 0x04, MenuButtonPopup = Menu, PopupDelay = 0x08,
570 Q_DECLARE_FLAGS(ToolButtonFeatures, ToolButtonFeature)
572 ToolButtonFeatures features;
576 Qt::ArrowType arrowType;
577 Qt::ToolButtonStyle toolButtonStyle;
581 QStyleOptionToolButton();
582 QStyleOptionToolButton(
const QStyleOptionToolButton &other) : QStyleOptionComplex(Version, Type) { *
this = other; }
583 QStyleOptionToolButton &operator=(
const QStyleOptionToolButton &) =
default;
586 QStyleOptionToolButton(
int version);
589Q_DECLARE_OPERATORS_FOR_FLAGS(QStyleOptionToolButton::ToolButtonFeatures)
595 enum StyleOptionType { Type = SO_ComboBox };
596 enum StyleOptionVersion { Version = 1 };
604 Qt::Alignment textAlignment = Qt::AlignLeft | Qt::AlignVCenter;
606 QStyleOptionComboBox();
607 QStyleOptionComboBox(
const QStyleOptionComboBox &other) : QStyleOptionComplex(Version, Type) { *
this = other; }
608 QStyleOptionComboBox &operator=(
const QStyleOptionComboBox &) =
default;
611 QStyleOptionComboBox(
int version);
617 enum StyleOptionType { Type = SO_TitleBar };
618 enum StyleOptionVersion { Version = 1 };
623 Qt::WindowFlags titleBarFlags;
625 QStyleOptionTitleBar();
626 QStyleOptionTitleBar(
const QStyleOptionTitleBar &other) : QStyleOptionComplex(Version, Type) { *
this = other; }
627 QStyleOptionTitleBar &operator=(
const QStyleOptionTitleBar &) =
default;
630 QStyleOptionTitleBar(
int version);
636 enum StyleOptionType { Type = SO_GroupBox };
637 enum StyleOptionVersion { Version = 1 };
639 QStyleOptionFrame::FrameFeatures features;
641 Qt::Alignment textAlignment;
646 QStyleOptionGroupBox();
647 QStyleOptionGroupBox(
const QStyleOptionGroupBox &other) : QStyleOptionComplex(Version, Type) { *
this = other; }
648 QStyleOptionGroupBox &operator=(
const QStyleOptionGroupBox &) =
default;
650 QStyleOptionGroupBox(
int version);
656 enum StyleOptionType { Type = SO_SizeGrip };
657 enum StyleOptionVersion { Version = 1 };
661 QStyleOptionSizeGrip();
662 QStyleOptionSizeGrip(
const QStyleOptionSizeGrip &other) : QStyleOptionComplex(Version, Type) { *
this = other; }
663 QStyleOptionSizeGrip &operator=(
const QStyleOptionSizeGrip &) =
default;
665 QStyleOptionSizeGrip(
int version);
671 enum StyleOptionType { Type = SO_GraphicsItem };
672 enum StyleOptionVersion { Version = 1 };
676 QStyleOptionGraphicsItem();
677 QStyleOptionGraphicsItem(
const QStyleOptionGraphicsItem &other) : QStyleOption(Version, Type) { *
this = other; }
678 QStyleOptionGraphicsItem &operator=(
const QStyleOptionGraphicsItem &) =
default;
679 static qreal levelOfDetailFromTransform(
const QTransform &worldTransform);
681 QStyleOptionGraphicsItem(
int version);
687 typedef typename std::remove_cv<
typename std::remove_pointer<T>::type>::type Opt;
688 if (opt && opt->version >= Opt::Version && (opt->type == Opt::Type
689 ||
int(Opt::Type) == QStyleOption::SO_Default
690 || (
int(Opt::Type) == QStyleOption::SO_Complex
691 && opt->type > QStyleOption::SO_Complex)))
692 return static_cast<T>(opt);
699 typedef typename std::remove_cv<
typename std::remove_pointer<T>::type>::type Opt;
700 if (opt && opt->version >= Opt::Version && (opt->type == Opt::Type
701 ||
int(Opt::Type) == QStyleOption::SO_Default
702 || (
int(Opt::Type) == QStyleOption::SO_Complex
703 && opt->type > QStyleOption::SO_Complex)))
704 return static_cast<T>(opt);
711 enum HintReturnType {
712 SH_Default=0xf000, SH_Mask, SH_Variant
715 enum StyleOptionType { Type = SH_Default };
716 enum StyleOptionVersion { Version = 1 };
718 QStyleHintReturn(
int version = QStyleOption::Version,
int type = SH_Default);
727 enum StyleOptionType { Type = SH_Mask };
728 enum StyleOptionVersion { Version = 1 };
730 QStyleHintReturnMask();
731 ~QStyleHintReturnMask();
738 enum StyleOptionType { Type = SH_Variant };
739 enum StyleOptionVersion { Version = 1 };
741 QStyleHintReturnVariant();
742 ~QStyleHintReturnVariant();
750 typedef typename std::remove_cv<
typename std::remove_pointer<T>::type>::type Opt;
751 if (hint && hint->version <= Opt::Version &&
752 (hint->type == Opt::Type ||
int(Opt::Type) == QStyleHintReturn::SH_Default))
753 return static_cast<T>(hint);
760 typedef typename std::remove_cv<
typename std::remove_pointer<T>::type>::type Opt;
761 if (hint && hint->version <= Opt::Version &&
762 (hint->type == Opt::Type ||
int(Opt::Type) == QStyleHintReturn::SH_Default))
763 return static_cast<T>(hint);
767#if !defined(QT_NO_DEBUG_STREAM)
768Q_WIDGETS_EXPORT
QDebug operator<<(QDebug debug,
const QStyleOption::OptionType &optionType);
769Q_WIDGETS_EXPORT
QDebug operator<<(QDebug debug,
const QStyleOption &option);
The QApplication class manages the GUI application's control flow and main settings.
The QPaintEngineState class provides information about the active paint engine's current state....
virtual QPixmap createPixmap(QSize size)
void setSystemRect(const QRect &rect)
void setActive(bool newState)
Sets the active state of the paint engine to state.
virtual void drawPolygon(const QPoint *points, int pointCount, PolygonDrawMode mode)
This is an overloaded member function, provided for convenience. It differs from the above function o...
virtual QPixmap createPixmapFromImage(QImage image, Qt::ImageConversionFlags flags=Qt::AutoColor)
friend class QWidgetPrivate
QPaintEngine(PaintEngineFeatures features=PaintEngineFeatures())
Creates a paint engine with the featureset specified by caps.
friend class QFontEngineQPF2
friend class QMacCGContext
virtual void drawTextItem(const QPointF &p, const QTextItem &textItem)
This function draws the text item textItem at position p.
virtual void drawLines(const QLineF *lines, int lineCount)
The default implementation splits the list of lines in lines into lineCount separate calls to drawPat...
PolygonDrawMode
\value OddEvenMode The polygon should be drawn using OddEven fill rule.
virtual void drawPoints(const QPointF *points, int pointCount)
Draws the first pointCount points in the buffer points.
virtual void drawRects(const QRectF *rects, int rectCount)
Draws the first rectCount rectangles in the buffer rects.
virtual void drawImage(const QRectF &r, const QImage &pm, const QRectF &sr, Qt::ImageConversionFlags flags=Qt::AutoColor)
Reimplement this function to draw the part of the image specified by the sr rectangle in the given re...
QPainter * painter() const
Returns the paint engine's painter.
void fix_neg_rect(int *x, int *y, int *w, int *h)
void setPaintDevice(QPaintDevice *device)
virtual QPoint coordinateOffset() const
virtual void drawPolygon(const QPointF *points, int pointCount, PolygonDrawMode mode)
Reimplement this virtual function to draw the polygon defined by the pointCount first points in point...
void setDirty(DirtyFlags df)
void setSystemClip(const QRegion &baseClip)
QPaintEngineState * state
friend class QPainterReplayer
friend class QX11GLPlatformPixmap
PaintEngineFeatures gccaps
void clearDirty(DirtyFlags df)
bool hasFeature(PaintEngineFeatures feature) const
Returns true if the paint engine supports the specified feature; otherwise returns false.
virtual void drawEllipse(const QRectF &r)
Reimplement this function to draw the largest ellipse that can be contained within rectangle rect.
QRegion systemClip() const
QPaintDevice * paintDevice() const
Returns the device that this engine is painting on, if painting is active; otherwise returns \nullptr...
bool testDirty(DirtyFlags df)
virtual void updateState(const QPaintEngineState &state)=0
Reimplement this function to update the state of a paint engine.
DirtyFlag
\value DirtyPen The pen is dirty and needs to be updated.
Type
\value X11 \value Windows \value MacPrinter \value CoreGraphics \macos's Quartz2D (CoreGraphics) \val...
virtual Type type() const =0
Reimplement this function to return the paint engine \l{Type}.
void drawPath(const QPainterPath &path)
Draws the given painter path using the current pen for outline and the current brush for filling.
bool begin(QPaintDevice *)
Begins painting the paint device and returns true if successful; otherwise returns false.
void drawRects(const QRectF *rects, int rectCount)
Draws the first rectCount of the given rectangles using the current pen and brush.
void drawLines(const QLineF *lines, int lineCount)
Draws the first lineCount lines in the array lines using the current pen.
friend class QFontEngineMac
friend class QWin32PaintEngine
friend class QWin32PaintEnginePrivate
friend class QFontEngineWin
void drawEllipse(const QRectF &r)
Draws the ellipse defined by the given rectangle.
void drawPoints(const QPointF *points, int pointCount)
Draws the first pointCount points in the array points using the current pen's color.
bool isActive() const
Returns true if begin() has been called and end() has not yet been called; otherwise returns false.
\inmodule QtCore\reentrant
The QPolygonF class provides a list of points using floating point precision.
The QStyleHintReturnMask class provides style hints that return a QRegion.
The QStyleHintReturnVariant class provides style hints that return a QVariant.
\variable QStyleOptionGraphicsItem::exposedRect
\variable QStyleOptionDockWidget::title
\variable QStyleOptionMenuItem::menuItemType
\variable QStyleOption::palette
\variable QStyleOptionFocusRect::backgroundColor
The QStyleOptionGraphicsItem class is used to describe the parameters needed to draw a QGraphicsItem.
\variable QStyleOptionFrame::features
\variable QStyleOptionToolBox::selectedPosition
The QStyleOption class stores the parameters used by QStyle functions.
The QWindows11Style class provides a look and feel suitable for applications on Microsoft Windows 11.
void drawControl(ControlElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget) const override
void unpolish(QWidget *widget) override
void polish(QWidget *widget) override
void drawComplexControl(ComplexControl control, const QStyleOptionComplex *option, QPainter *painter, const QWidget *widget) const override
QSize sizeFromContents(ContentsType type, const QStyleOption *option, const QSize &size, const QWidget *widget) const override
QRect subControlRect(ComplexControl control, const QStyleOptionComplex *option, SubControl subControl, const QWidget *widget) const override
QWindows11Style(QWindows11StylePrivate &dd)
void polish(QPalette &pal) override
int pixelMetric(PixelMetric metric, const QStyleOption *option=nullptr, const QWidget *widget=nullptr) const override
int styleHint(StyleHint hint, const QStyleOption *opt=nullptr, const QWidget *widget=nullptr, QStyleHintReturn *returnData=nullptr) const override
void drawPrimitive(PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget) const override
QRect subElementRect(QStyle::SubElement element, const QStyleOption *option, const QWidget *widget=nullptr) const override
~QWindows11Style() override
Destructor.
HBITMAP buffer(int w=0, int h=0)
static int fixedPixelMetric(QStyle::PixelMetric pm)
static HDC hdcForWidgetBackingStore(const QWidget *widget)
static QBackingStore * backingStoreForWidget(const QWidget *widget)
bool swapAlphaChannel(const QRect &rect, bool allPixels=false)
bool drawBackgroundThruNativeBuffer(QWindowsThemeData &QWindowsThemeData, qreal aditionalDevicePixelRatio, qreal correctionFactor)
static HWND winId(const QWidget *widget)
void init(bool force=false)
static bool isLineEditBaseColorSet(const QStyleOption *option, const QWidget *widget)
bool transitionsEnabled() const
bool drawBackgroundDirectly(HDC dc, QWindowsThemeData &QWindowsThemeData, qreal aditionalDevicePixelRatio)
static bool isItemViewDelegateLineEdit(const QWidget *widget)
static bool useVista(bool update=false)
QRgb groupBoxTextColorDisabled
bool fixAlphaChannel(const QRect &rect)
QIcon m_titleBarCloseIcon
void cleanup(bool force=false)
QWindowsVistaStylePrivate()
bool isTransparent(QWindowsThemeData &QWindowsThemeData)
bool hasAlphaChannel(const QRect &rect)
QIcon m_titleBarNormalIcon
QRegion region(QWindowsThemeData &QWindowsThemeData)
QTime animationTime() const
~QWindowsVistaStylePrivate()
bool drawBackground(QWindowsThemeData &QWindowsThemeData, qreal correctionFactor=1)
static HTHEME createTheme(int theme, const QWidget *widget)
static int pixelMetricFromSystemDp(QStyle::PixelMetric pm, const QStyleOption *option=nullptr, const QWidget *widget=nullptr)
static QString themeName(int theme)
The QWindowsVistaStyle class provides a look and feel suitable for applications on Microsoft Windows ...
QRect subElementRect(SubElement element, const QStyleOption *option, const QWidget *widget) const override
QRect subControlRect(ComplexControl cc, const QStyleOptionComplex *opt, SubControl sc, const QWidget *widget) const override
int styleHint(StyleHint hint, const QStyleOption *opt=nullptr, const QWidget *widget=nullptr, QStyleHintReturn *returnData=nullptr) const override
SubControl hitTestComplexControl(ComplexControl control, const QStyleOptionComplex *option, const QPoint &pos, const QWidget *widget=nullptr) const override
void drawControl(ControlElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget) const override
void polish(QWidget *widget) override
int pixelMetric(PixelMetric metric, const QStyleOption *option=nullptr, const QWidget *widget=nullptr) const override
QPixmap standardPixmap(StandardPixmap standardPixmap, const QStyleOption *opt, const QWidget *widget=nullptr) const override
QIcon standardIcon(StandardPixmap standardIcon, const QStyleOption *option=nullptr, const QWidget *widget=nullptr) const override
\reimp
~QWindowsVistaStyle() override
Destructor.
void polish(QPalette &pal) override
void drawPrimitive(PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget=nullptr) const override
QSize sizeFromContents(ContentsType type, const QStyleOption *option, const QSize &size, const QWidget *widget) const override
QWindowsVistaStyle(QWindowsVistaStylePrivate &dd)
void drawComplexControl(ComplexControl control, const QStyleOptionComplex *option, QPainter *painter, const QWidget *widget) const override
void unpolish(QWidget *widget) override
QString string() const override
void paint(QPainter *painter, const QRect &rect, QIcon::Mode mode, QIcon::State state) override
Uses the given painter to paint the icon with the required mode and state into the rectangle rect.
QString key() const override
\variable QIconEngine::ScaledPixmapArgument::size
QIconEngine * clone() const override
Reimplement this method to return a clone of this icon engine.
WinFontIconEngine(const QChar &glyph, const QFont &font)
Q_DECLARE_TYPEINFO(QByteArrayView, Q_PRIMITIVE_TYPE)
Q_CORE_EXPORT QDebug operator<<(QDebug debug, QDir::Filters filters)
T qstyleoption_cast(const QStyleOption *opt)
T qstyleoption_cast(QStyleOption *opt)
@ fillControlAltSecondary
@ frameColorStrongDisabled
@ controlStrokeOnAccentSecondary
@ fillControlAltQuarternary
bool operator==(const ThemeMapKey &k1, const ThemeMapKey &k2)
size_t qHash(const ThemeMapKey &key)
AlphaChannelType alphaType
ThemeMapKey(const QWindowsThemeData &data)