4#ifndef QQUICKWINDOWSXPSTYLE_P_P_H
5#define QQUICKWINDOWSXPSTYLE_P_P_H
21#include <QtCore/qmap.h>
36#if TMT_TEXTSHADOWCOLOR != 3818
37#undef TMT_TEXTSHADOWCOLOR
38#define TMT_TEXTSHADOWCOLOR 3818
47#define MINBS_INACTIVE 5
50#define MAXBS_INACTIVE 5
122{
return key.theme ^
key.partId ^
key.stateId; }
151#ifndef QT_NO_DEBUG_STREAM
195 void init(
bool force =
false);
196 void cleanup(
bool force =
false);
199 HBITMAP
buffer(
int w = 0,
int h = 0);
203 static bool useXP(
bool update =
false);
224 static inline bool hasTheme(
int theme) {
return theme >= 0 && theme <
NThemes && m_themes[theme]; }
232 void dumpNativeDIB(
int w,
int h);
236 static bool initVistaTreeViewTheming();
237 static void cleanupVistaTreeViewTheming();
243 HDC bufferDC =
nullptr;
244 HBITMAP bufferBitmap =
nullptr;
245 HBITMAP nullBitmap =
nullptr;
246 uchar *bufferPixels =
nullptr;
250 static HWND m_vistaTreeViewHelper;
251 static HTHEME m_themes[
NThemes];
295 int part,
int state,
int propId)
302 int part,
int state,
int propId)
305 return theme.margins(propId);
The QIcon class provides scalable icons in different modes and states.
The QPainter class performs low-level painting on widgets and other paint devices.
bool fixAlphaChannel(const QRect &rect)
bool drawBackground(XPThemeData &themeData, qreal correctionFactor=1)
bool drawBackgroundDirectly(HDC dc, XPThemeData &themeData, qreal aditionalDevicePixelRatio)
static bool hasTheme(int theme)
bool hasAlphaChannel(const QRect &rect)
void init(bool force=false)
static HWND winId(const QWindow *window)
QRegion region(XPThemeData &themeData)
static QRect scrollBarGripperBounds(QStyle::State flags, XPThemeData *theme)
static bool isItemViewDelegateLineEdit(const QWidget *widget)
bool drawBackgroundThruNativeBuffer(XPThemeData &themeData, qreal aditionalDevicePixelRatio, qreal correctionFactor)
static int fixedPixelMetric(QStyle::PixelMetric pm, const QStyleOption *option=nullptr, const QWidget *widget=nullptr)
bool isTransparent(XPThemeData &themeData)
static bool useXP(bool update=false)
void cleanup(bool force=false)
~QWindowsXPStylePrivate()
bool swapAlphaChannel(const QRect &rect, bool allPixels=false)
QRgb groupBoxTextColorDisabled
static int pixelMetricFromSystemDp(QStyle::PixelMetric pm, const QStyleOption *option=nullptr)
static bool isLineEditBaseColorSet(const QStyleOption *option, const QWidget *widget)
static HTHEME createTheme(int theme, HWND hwnd)
The QWindowsXPStyle class provides a Microsoft Windows XP-like look and feel.
QMarginsF margins(const QRect &rect, int propId=TMT_CONTENTMARGINS)
static RECT toRECT(const QRect &qr)
static QSizeF themeSize(const QWindow *w=nullptr, QPainter *p=nullptr, int themeIn=-1, int part=0, int state=0)
static QMarginsF themeMargins(const QRect &rect, const QWindow *w=nullptr, QPainter *p=nullptr, int themeIn=-1, int part=0, int state=0, int propId=TMT_CONTENTMARGINS)
XPThemeData(const QWindow *w=nullptr, QPainter *p=nullptr, int themeIn=-1, int part=0, int state=0, const QRect &r=QRect())
\inmodule QtCore\reentrant
The QRegion class specifies a clip region for a painter.
\macro QT_RESTRICTED_CAST_FROM_ASCII
QDebug operator<<(QDebug debug, const QStyleOption::OptionType &optionType)
size_t qHash(const ThemeMapKey &key)
bool operator==(const ThemeMapKey &k1, const ThemeMapKey &k2)
Combined button and popup list for selecting options.
#define SIZE(large, small, mini)
static QString themeName()
GLfloat GLfloat GLfloat w
[0]
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
GLfloat GLfloat GLfloat GLfloat h
QT_BEGIN_NAMESPACE typedef unsigned int QRgb
#define TMT_CONTENTMARGINS
AlphaChannelType alphaType
ThemeMapKey(const XPThemeData &data)