4#ifndef QWINDOWSVISTASTYLE_P_P_H
5#define QWINDOWSVISTASTYLE_P_P_H
18#include <QtWidgets/private/qtwidgetsglobal_p.h>
21#include <private/qpaintengine_raster_p.h>
27#include <QtWidgets/private/qwindowsstyle_p_p.h>
30#if QT_CONFIG(pushbutton)
34#if QT_CONFIG(lineedit)
38#if QT_CONFIG(toolbutton)
47#if QT_CONFIG(combobox)
50#if QT_CONFIG(scrollbar)
53#if QT_CONFIG(progressbar)
56#if QT_CONFIG(dockwidget)
59#if QT_CONFIG(listview)
62#if QT_CONFIG(treeview)
67#if QT_CONFIG(dialogbuttonbox)
71#if QT_CONFIG(tableview)
75#if QT_CONFIG(commandlinkbutton)
119 static inline bool hasTheme(
int theme) {
return theme >= 0 && theme <
NThemes && m_themes[theme]; }
125 static bool useVista(
bool update =
false);
129 void init(
bool force =
false);
130 void cleanup(
bool force =
false);
133 HBITMAP
buffer(
int w = 0,
int h = 0);
160 static bool initVistaTreeViewTheming();
161 static void cleanupVistaTreeViewTheming();
164 static bool useVistaTheme;
167 HDC bufferDC =
nullptr;
168 HBITMAP bufferBitmap =
nullptr;
169 HBITMAP nullBitmap =
nullptr;
170 uchar *bufferPixels =
nullptr;
174 static HWND m_vistaTreeViewHelper;
175 static HTHEME m_themes[
NThemes];
The QBackingStore class provides a drawing area for QWindow.
The QIcon class provides scalable icons in different modes and states.
\inmodule QtCore\reentrant
The QRegion class specifies a clip region for a painter.
\macro QT_RESTRICTED_CAST_FROM_ASCII
The QStyleOption class stores the parameters used by QStyle functions.
PixelMetric
This enum describes the various available pixel metrics.
\inmodule QtCore \reentrant
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)
static HTHEME openThemeForPrimaryScreenDpi(HWND hwnd, const wchar_t *name)
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
static HTHEME createTheme(int theme, HWND hwnd)
bool fixAlphaChannel(const QRect &rect)
void cleanup(bool force=false)
QWindowsVistaStylePrivate()
bool isTransparent(QWindowsThemeData &QWindowsThemeData)
bool hasAlphaChannel(const QRect &rect)
QRegion region(QWindowsThemeData &QWindowsThemeData)
QTime animationTime() const
~QWindowsVistaStylePrivate()
bool drawBackground(QWindowsThemeData &QWindowsThemeData, qreal correctionFactor=1)
static bool hasTheme(int theme)
static int pixelMetricFromSystemDp(QStyle::PixelMetric pm, const QStyleOption *option=nullptr, const QWidget *widget=nullptr)
The QWindowsVistaStyle class provides a look and feel suitable for applications on Microsoft Windows ...
Combined button and popup list for selecting options.
static QString themeName()
GLfloat GLfloat GLfloat w
[0]
GLfloat GLfloat GLfloat GLfloat h
QT_BEGIN_NAMESPACE typedef unsigned int QRgb