Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qpixmapstyle_p.h
Go to the documentation of this file.
1// Copyright (C) 2014 BlackBerry Limited. All rights reserved.
2// Copyright (C) 2015 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com
3// Copyright (C) 2016 The Qt Company Ltd.
4// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
5
6#ifndef QPIXMAPSTYLE_H
7#define QPIXMAPSTYLE_H
8
9#include <QtWidgets/private/qtwidgetsglobal_p.h>
10#include <QtWidgets/QCommonStyle>
11#include <QtWidgets/QTileRules>
12
13//
14// W A R N I N G
15// -------------
16//
17// This file is not part of the Qt API. It exists purely as an
18// implementation detail. This header file may change from version to
19// version without notice, or even be removed.
20//
21// We mean it.
22//
23
25
27
28class Q_WIDGETS_EXPORT QPixmapStyle : public QCommonStyle
29{
31
32public:
72
98
99public:
100 QPixmapStyle();
102
103 void polish(QApplication *application) override;
104 void polish(QPalette &palette) override;
105 void polish(QWidget *widget) override;
106 void unpolish(QApplication *application) override;
107 void unpolish(QWidget *widget) override;
108
109 void drawPrimitive(PrimitiveElement element, const QStyleOption *option,
110 QPainter *painter, const QWidget *widget = nullptr) const override;
111 void drawControl(ControlElement element, const QStyleOption *option,
112 QPainter *painter, const QWidget *widget = nullptr) const override;
113 void drawComplexControl(ComplexControl cc, const QStyleOptionComplex *option,
114 QPainter *painter, const QWidget *widget=nullptr) const override;
115
116 QSize sizeFromContents(ContentsType type, const QStyleOption *option,
117 const QSize &contentsSize, const QWidget *widget = nullptr) const override;
118 QRect subElementRect(SubElement element, const QStyleOption *option,
119 const QWidget *widget = nullptr) const override;
120 QRect subControlRect(ComplexControl cc, const QStyleOptionComplex *option,
121 SubControl sc, const QWidget *widget = nullptr) const override;
122
123 int pixelMetric(PixelMetric metric, const QStyleOption *option = nullptr,
124 const QWidget *widget = nullptr) const override;
125 int styleHint(StyleHint hint, const QStyleOption *option,
126 const QWidget *widget, QStyleHintReturn *returnData) const override;
127 SubControl hitTestComplexControl(ComplexControl control, const QStyleOptionComplex *option,
128 const QPoint &pos, const QWidget *widget) const override;
129
130 bool eventFilter(QObject *watched, QEvent *event) override;
131
132 void addDescriptor(ControlDescriptor control, const QString &fileName,
133 QMargins margins = QMargins(),
135 void copyDescriptor(ControlDescriptor source, ControlDescriptor dest);
136 void drawCachedPixmap(ControlDescriptor control, const QRect &rect, QPainter *p) const;
137
138 void addPixmap(ControlPixmap control, const QString &fileName,
139 QMargins margins = QMargins());
140 void copyPixmap(ControlPixmap source, ControlPixmap dest);
141
142protected:
143 void drawPushButton(const QStyleOption *option,
144 QPainter *painter, const QWidget *widget) const;
145 void drawLineEdit(const QStyleOption *option,
146 QPainter *painter, const QWidget *widget) const;
147 void drawTextEdit(const QStyleOption *option,
148 QPainter *painter, const QWidget *widget) const;
149 void drawCheckBox(const QStyleOption *option,
150 QPainter *painter, const QWidget *widget) const;
151 void drawRadioButton(const QStyleOption *option,
152 QPainter *painter, const QWidget *widget) const;
153 void drawPanelItemViewItem(const QStyleOption *option,
154 QPainter *painter, const QWidget *widget) const;
155 void drawProgressBarBackground(const QStyleOption *option,
156 QPainter *painter, const QWidget *widget) const;
157 void drawProgressBarLabel(const QStyleOption *option,
158 QPainter *painter, const QWidget *widget) const;
159 void drawProgressBarFill(const QStyleOption *option,
160 QPainter *painter, const QWidget *widget) const;
161 void drawSlider(const QStyleOptionComplex *option,
162 QPainter *painter, const QWidget *widget) const;
163 void drawComboBox(const QStyleOptionComplex *option,
164 QPainter *painter, const QWidget *widget) const;
165 void drawScrollBar(const QStyleOptionComplex *option,
166 QPainter *painter, const QWidget *widget) const;
167
168 QSize pushButtonSizeFromContents(const QStyleOption *option,
169 const QSize &contentsSize, const QWidget *widget) const;
170 QSize lineEditSizeFromContents(const QStyleOption *option,
171 const QSize &contentsSize, const QWidget *widget) const;
172 QSize progressBarSizeFromContents(const QStyleOption *option,
173 const QSize &contentsSize, const QWidget *widget) const;
174 QSize sliderSizeFromContents(const QStyleOption *option,
175 const QSize &contentsSize, const QWidget *widget) const;
176 QSize comboBoxSizeFromContents(const QStyleOption *option,
177 const QSize &contentsSize, const QWidget *widget) const;
178 QSize itemViewSizeFromContents(const QStyleOption *option,
179 const QSize &contentsSize, const QWidget *widget) const;
180
181 QRect comboBoxSubControlRect(const QStyleOptionComplex *option, QPixmapStyle::SubControl sc,
182 const QWidget *widget) const;
183 QRect scrollBarSubControlRect(const QStyleOptionComplex *option, QPixmapStyle::SubControl sc,
184 const QWidget *widget) const;
185
186protected:
188
189private:
190 Q_DECLARE_PRIVATE(QPixmapStyle)
191};
192
194
195#endif // QPIXMAPSTYLE_H
The QApplication class manages the GUI application's control flow and main settings.
The QCommonStyle class encapsulates the common Look and Feel of a GUI.
\inmodule QtCore
Definition qcoreevent.h:45
\inmodule QtCore
Definition qmargins.h:24
\inmodule QtCore
Definition qobject.h:103
The QPainter class performs low-level painting on widgets and other paint devices.
Definition qpainter.h:46
The QPalette class contains color groups for each widget state.
Definition qpalette.h:19
The QPixmapStyle class provides mechanism for writing pixmap based styles.
\inmodule QtCore\reentrant
Definition qpoint.h:25
\inmodule QtCore\reentrant
Definition qrect.h:30
\inmodule QtCore
Definition qsize.h:25
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
\variable QStyleOptionGraphicsItem::exposedRect
\variable QStyleOptionMenuItem::menuItemType
The QStyleOption class stores the parameters used by QStyle functions.
SubControl
This enum describes the available sub controls.
Definition qstyle.h:347
The QWidget class is the base class of all user interface objects.
Definition qwidget.h:99
QOpenGLWidget * widget
[1]
drawPrimitive(PE_IndicatorCheckBox, &subopt, p, widget)
rect
[4]
p drawControl(QStyle::CE_CheckBox, opt)
Combined button and popup list for selecting options.
@ RepeatTile
Definition qnamespace.h:135
GLenum type
GLsizei GLsizei GLchar * source
struct _cl_event * event
GLfloat GLfloat p
[1]
GLuint GLenum option
static QT_BEGIN_NAMESPACE QVariant hint(QPlatformIntegration::StyleHint h)
#define Q_OBJECT
QPainter painter(this)
[7]
The QTileRules class provides the rules used to draw a pixmap or image split into nine segments.
Definition qdrawutil.h:88