42 #ifndef QWINDOWSXPSTYLE_P_H 43 #define QWINDOWSXPSTYLE_P_H 64 # if (__W32API_MAJOR_VERSION >= 3 || (__W32API_MAJOR_VERSION == 2 && __W32API_MINOR_VERSION >= 5)) 68 # define _WIN32_WINNT 0x0501 69 # include <commctrl.h> 89 #ifndef DTBG_OMITBORDER 90 # ifndef DTBG_CLIPRECT 91 # define DTBG_CLIPRECT 0x00000001 93 # ifndef DTBG_DRAWSOLID 94 # define DTBG_DRAWSOLID 0x00000002 96 # ifndef DTBG_OMITBORDER 97 # define DTBG_OMITBORDER 0x00000004 99 # ifndef DTBG_OMITCONTENT 100 # define DTBG_OMITCONTENT 0x00000008 102 # ifndef DTBG_COMPUTINGREGION 103 # define DTBG_COMPUTINGREGION 0x00000010 105 # ifndef DTBG_MIRRORDC 106 # define DTBG_MIRRORDC 0x00000020 117 #ifndef TMT_TEXTCOLOR 118 # define TMT_TEXTCOLOR 3803 120 #ifndef TMT_BORDERCOLORHINT 121 # define TMT_BORDERCOLORHINT 3822 123 #ifndef TMT_BORDERSIZE 124 # define TMT_BORDERSIZE 2403 126 #ifndef TMT_BORDERONLY 127 # define TMT_BORDERONLY 2203 129 #ifndef TMT_TRANSPARENTCOLOR 130 # define TMT_TRANSPARENTCOLOR 3809 132 #ifndef TMT_CAPTIONMARGINS 133 # define TMT_CAPTIONMARGINS 3603 135 #ifndef TMT_CONTENTMARGINS 136 # define TMT_CONTENTMARGINS 3602 138 #ifndef TMT_SIZINGMARGINS 139 # define TMT_SIZINGMARGINS 3601 141 #ifndef TMT_GLYPHTYPE 142 # define TMT_GLYPHTYPE 4012 145 # define TMT_BGTYPE 4001 147 #ifndef TMT_TEXTSHADOWTYPE 148 # define TMT_TEXTSHADOWTYPE 4010 150 #ifndef TMT_BORDERCOLOR 151 # define TMT_BORDERCOLOR 3801 154 # define BT_IMAGEFILE 0 156 #ifndef BT_BORDERFILL 157 # define BT_BORDERFILL 1 162 #ifndef TMT_FILLCOLOR 163 # define TMT_FILLCOLOR 3802 165 #ifndef TMT_PROGRESSCHUNKSIZE 166 # define TMT_PROGRESSCHUNKSIZE 2411 170 #if TMT_TEXTSHADOWCOLOR != 3818 171 #undef TMT_TEXTSHADOWCOLOR 172 #define TMT_TEXTSHADOWCOLOR 3818 181 #ifndef GT_IMAGEGLYPH 182 # define GT_IMAGEGLYPH 1 187 #ifndef MINBS_INACTIVE 188 #define MINBS_INACTIVE 5 190 #ifndef MAXBS_INACTIVE 191 #define MAXBS_INACTIVE 5 194 #define RBS_INACTIVE 5 197 #define HBS_INACTIVE 5 200 #define CBS_INACTIVE 5 206 #if !defined(QT_NO_STYLE_WINDOWSXP) 213 int part = 0,
int state = 0,
const QRect &r =
QRect())
214 :
widget(w), painter(p),
name(theme), htheme(0), partId(part), stateId(state),
215 mirrorHorizontally(false), mirrorVertically(false), noBorder(false),
216 noContent(false), rotate(0), rect(r)
222 RECT toRECT(
const QRect &qr);
249 : name(data.name), partId(data.partId), stateId(data.stateId),
250 noBorder(data.noBorder), noContent(data.noContent) {}
281 ThemeMapData() : dataValid(false), partIsTransparent(false), hasAnyData(false),
282 hasAlphaChannel(false), wasAlphaSwapped(false), hadInvalidAlpha(false) {}
291 bufferPixels(0), bufferW(0), bufferH(0)
299 void init(
bool force =
false);
300 void cleanup(
bool force =
false);
301 void cleanupHandleMap();
304 HBITMAP buffer(
int w = 0,
int h = 0);
308 static bool resolveSymbols();
309 static bool useXP(
bool update =
false);
316 void drawBackgroundThruNativeBuffer(
XPThemeData &themeData);
317 void drawBackgroundDirectly(
XPThemeData &themeData);
319 bool hasAnyData(
const QRect &rect);
320 bool hasAlphaChannel(
const QRect &rect);
321 bool fixAlphaChannel(
const QRect &rect);
322 bool swapAlphaChannel(
const QRect &rect,
bool allPixels =
false);
324 static bool isItemViewDelegateLineEdit(
const QWidget *widget);
336 #ifdef DEBUG_XP_STYLE 337 void dumpNativeDIB(
int w,
int h);
354 #endif // QT_NO_STYLE_WINDOWS 358 #endif //QWINDOWSXPSTYLE_P_H The QPainter class performs low-level painting on widgets and other paint devices.
struct _DTBGOPTS * PDTBGOPTS
#define QT_END_NAMESPACE
This macro expands to.
QPointer< QWidget > widget
static QBasicAtomicInt ref
The QString class provides a Unicode character string.
struct _DTBGOPTS DTBGOPTS
uint qHash(const ThemeMapKey &key)
XPThemeData(const QWidget *w=0, QPainter *p=0, const QString &theme=QString(), int part=0, int state=0, const QRect &r=QRect())
QHash< ThemeMapKey, ThemeMapData > alphaCache
#define QT_BEGIN_NAMESPACE
This macro expands to.
static const char * data(const QByteArray &arr)
The QRegion class specifies a clip region for a painter.
The QWindowsXPStyle class provides a Microsoft Windows XP-like look and feel.
#define Q_DECLARE_PUBLIC(Class)
ThemeMapKey(const XPThemeData &data)
The QRect class defines a rectangle in the plane using integer precision.
static QWidget * limboWidget
The QPixmap class is an off-screen image representation that can be used as a paint device...
static QMap< QString, HTHEME > * handleMap
bool operator==(const ThemeMapKey &k1, const ThemeMapKey &k2)
AlphaChannelType alphaType
~QWindowsXPStylePrivate()
QRgb groupBoxTextColorDisabled
The QIcon class provides scalable icons in different modes and states.