source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/uxtheme.h

Last change on this file was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 15.5 KB
Line 
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef _UXTHEME_H_
7#define _UXTHEME_H_
8
9#include <commctrl.h>
10
11#ifndef THEMEAPI
12#if !defined(_UXTHEME_)
13#define THEMEAPI EXTERN_C DECLSPEC_IMPORT HRESULT WINAPI
14#define THEMEAPI_(type) EXTERN_C DECLSPEC_IMPORT type WINAPI
15#else
16#define THEMEAPI STDAPI
17#define THEMEAPI_(type) STDAPI_(type)
18#endif
19#endif
20
21typedef HANDLE HTHEME;
22
23#if (NTDDI_VERSION >= NTDDI_VISTA)
24#define MAX_THEMECOLOR 64
25#define MAX_THEMESIZE 64
26#endif
27
28#if (NTDDI_VERSION >= NTDDI_WIN7)
29THEMEAPI_(WINBOOL) BeginPanningFeedback(HWND hwnd);
30THEMEAPI_(WINBOOL) UpdatePanningFeedback(HWND hwnd,LONG lTotalOverpanOffsetX,LONG lTotalOverpanOffsetY,WINBOOL fInInertia);
31THEMEAPI_(WINBOOL) EndPanningFeedback(HWND hwnd,WINBOOL fAnimateBack);
32#endif
33
34#if (NTDDI_VERSION >= NTDDI_WIN8)
35
36typedef enum TA_PROPERTY {
37 TAP_FLAGS,
38 TAP_TRANSFORMCOUNT,
39 TAP_STAGGERDELAY,
40 TAP_STAGGERDELAYCAP,
41 TAP_STAGGERDELAYFACTOR,
42 TAP_ZORDER,
43} TA_PROPERTY;
44
45typedef enum TA_PROPERTY_FLAG {
46 TAPF_NONE = 0x0,
47 TAPF_HASSTAGGER = 0x1,
48 TAPF_ISRTLAWARE = 0x2,
49 TAPF_ALLOWCOLLECTION = 0x4,
50 TAPF_HASBACKGROUND = 0x8,
51 TAPF_HASPERSPECTIVE = 0x10,
52} TA_PROPERTY_FLAG;
53
54THEMEAPI GetThemeAnimationProperty(HTHEME hTheme, int iStoryboardId, int iTargetId, TA_PROPERTY eProperty, VOID *pvProperty, DWORD cbSize, DWORD *pcbSizeOut);
55
56typedef enum TA_TRANSFORM_TYPE {
57 TATT_TRANSLATE_2D,
58 TATT_SCALE_2D,
59 TATT_OPACITY,
60 TATT_CLIP,
61} TA_TRANSFORM_TYPE;
62
63typedef enum TA_TRANSFORM_FLAG {
64 TATF_NONE = 0x0,
65 TATF_TARGETVALUES_USER = 0x1,
66 TATF_HASINITIALVALUES = 0x2,
67 TATF_HASORIGINVALUES = 0x4,
68} TA_TRANSFORM_FLAG;
69
70typedef struct TA_TRANSFORM {
71 TA_TRANSFORM_TYPE eTransformType;
72 DWORD dwTimingFunctionId;
73 DWORD dwStartTime;
74 DWORD dwDurationTime;
75 TA_TRANSFORM_FLAG eFlags;
76} TA_TRANSFORM, *PTA_TRANSFORM;
77
78typedef struct TA_TRANSFORM_2D {
79 TA_TRANSFORM header;
80 float rX;
81 float rY;
82 float rInitialX;
83 float rInitialY;
84 float rOriginX;
85 float rOriginY;
86} TA_TRANSFORM_2D, *PTA_TRANSFORM_2D;
87
88typedef struct TA_TRANSFORM_OPACITY {
89 TA_TRANSFORM header;
90 float rOpacity;
91 float rInitialOpacity;
92} TA_TRANSFORM_OPACITY, *PTA_TRANSFORM_OPACITY;
93
94typedef struct TA_TRANSFORM_CLIP {
95 TA_TRANSFORM header;
96 float rLeft;
97 float rTop;
98 float rRight;
99 float rBottom;
100 float rInitialLeft;
101 float rInitialTop;
102 float rInitialRight;
103 float rInitialBottom;
104} TA_TRANSFORM_CLIP, *PTA_TRANSFORM_CLIP;
105
106THEMEAPI GetThemeAnimationTransform(HTHEME hTheme, int iStoryboardId, int iTargetId, DWORD dwTransformIndex, TA_TRANSFORM *pTransform, DWORD cbSize, DWORD *pcbSizeOut);
107
108typedef enum TA_TIMINGFUNCTION_TYPE {
109 TTFT_UNDEFINED,
110 TTFT_CUBIC_BEZIER,
111} TA_TIMINGFUNCTION_TYPE;
112
113typedef struct TA_TIMINGFUNCTION {
114 TA_TIMINGFUNCTION_TYPE eTimingFunctionType;
115} TA_TIMINGFUNCTION, *PTA_TIMINGFUNCTION;
116
117typedef struct TA_CUBIC_BEZIER {
118 TA_TIMINGFUNCTION header;
119 float rX0;
120 float rY0;
121 float rX1;
122 float rY1;
123} TA_CUBIC_BEZIER, *PTA_CUBIC_BEZIER;
124
125THEMEAPI GetThemeTimingFunction(HTHEME hTheme, int iTimingFunctionId, TA_TIMINGFUNCTION *pTimingFunction, DWORD cbSize, DWORD *pcbSizeOut);
126
127#endif
128
129#if (NTDDI_VERSION >= NTDDI_VISTA)
130
131#define GBF_DIRECT 0x00000001
132#define GBF_COPY 0x00000002
133#define GBF_VALIDBITS (GBF_DIRECT | GBF_COPY)
134
135THEMEAPI GetThemeBitmap(HTHEME hTheme,int iPartId,int iStateId,int iPropId,ULONG dwFlags,HBITMAP *phBitmap);
136THEMEAPI GetThemeStream(HTHEME hTheme,int iPartId,int iStateId,int iPropId,VOID **ppvStream,DWORD *pcbStream,HINSTANCE hInst);
137THEMEAPI GetThemeTransitionDuration(HTHEME hTheme,int iPartId,int iStateIdFrom,int iStateIdTo,int iPropId,DWORD *pdwDuration);
138
139DECLARE_HANDLE(HPAINTBUFFER);
140
141typedef enum _BP_BUFFERFORMAT {
142 BPBF_COMPATIBLEBITMAP,
143 BPBF_DIB,
144 BPBF_TOPDOWNDIB,
145 BPBF_TOPDOWNMONODIB
146} BP_BUFFERFORMAT;
147
148#define BPBF_COMPOSITED BPBF_TOPDOWNDIB
149
150#define BPPF_ERASE 0x00000001
151#define BPPF_NOCLIP 0x00000002
152#define BPPF_NONCLIENT 0x00000004
153
154typedef struct _BP_PAINTPARAMS {
155 DWORD cbSize;
156 DWORD dwFlags;
157 const RECT *prcExclude;
158 const BLENDFUNCTION *pBlendFunction;
159} BP_PAINTPARAMS, *PBP_PAINTPARAMS;
160
161THEMEAPI_(HPAINTBUFFER) BeginBufferedPaint(HDC hdcTarget,const RECT *prcTarget,BP_BUFFERFORMAT dwFormat,BP_PAINTPARAMS *pPaintParams,HDC *phdc);
162THEMEAPI_(HRESULT) EndBufferedPaint(HPAINTBUFFER hBufferedPaint,WINBOOL fUpdateTarget);
163THEMEAPI_(HRESULT) GetBufferedPaintTargetRect(HPAINTBUFFER hBufferedPaint,RECT *prc);
164THEMEAPI_(HDC) GetBufferedPaintTargetDC(HPAINTBUFFER hBufferedPaint);
165THEMEAPI_(HDC) GetBufferedPaintDC(HPAINTBUFFER hBufferedPaint);
166THEMEAPI_(HRESULT) GetBufferedPaintBits(HPAINTBUFFER hBufferedPaint,RGBQUAD **ppbBuffer,int *pcxRow);
167THEMEAPI_(HRESULT) BufferedPaintClear(HPAINTBUFFER hBufferedPaint,const RECT *prc);
168THEMEAPI_(HRESULT) BufferedPaintSetAlpha(HPAINTBUFFER hBufferedPaint,const RECT *prc,BYTE alpha);
169#define BufferedPaintMakeOpaque(hBufferedPaint, prc) BufferedPaintSetAlpha(hBufferedPaint, prc, 255)
170THEMEAPI_(HRESULT) BufferedPaintInit(VOID);
171THEMEAPI_(HRESULT) BufferedPaintUnInit(VOID);
172
173DECLARE_HANDLE(HANIMATIONBUFFER);
174
175typedef enum _BP_ANIMATIONSTYLE {
176 BPAS_NONE,
177 BPAS_LINEAR,
178 BPAS_CUBIC,
179 BPAS_SINE
180} BP_ANIMATIONSTYLE;
181
182typedef struct _BP_ANIMATIONPARAMS {
183 DWORD cbSize;
184 DWORD dwFlags;
185 BP_ANIMATIONSTYLE style;
186 DWORD dwDuration;
187} BP_ANIMATIONPARAMS, *PBP_ANIMATIONPARAMS;
188
189THEMEAPI_(HANIMATIONBUFFER) BeginBufferedAnimation(HWND hwnd,HDC hdcTarget,const RECT *rcTarget,BP_BUFFERFORMAT dwFormat,BP_PAINTPARAMS *pPaintParams,BP_ANIMATIONPARAMS *pAnimationParams,HDC *phdcFrom,HDC *phdcTo);
190THEMEAPI EndBufferedAnimation(HANIMATIONBUFFER hbpAnimation,WINBOOL fUpdateTarget);
191THEMEAPI_(WINBOOL) BufferedPaintRenderAnimation(HWND hwnd,HDC hdcTarget);
192THEMEAPI BufferedPaintStopAllAnimations(HWND hwnd);
193THEMEAPI_(WINBOOL) IsCompositionActive(void);
194
195typedef enum WINDOWTHEMEATTRIBUTETYPE {
196 WTA_NONCLIENT = 1
197} WINDOWTHEMEATTRIBUTETYPE;
198
199typedef struct _WTA_OPTIONS {
200 DWORD dwFlags;
201 DWORD dwMask;
202} WTA_OPTIONS, *PWTA_OPTIONS;
203
204#define WTNCA_NODRAWCAPTION 0x00000001
205#define WTNCA_NODRAWICON 0x00000002
206#define WTNCA_NOSYSMENU 0x00000004
207#define WTNCA_NOMIRRORHELP 0x00000008
208#define WTNCA_VALIDBITS (WTNCA_NODRAWCAPTION | WTNCA_NODRAWICON | WTNCA_NOSYSMENU | WTNCA_NOMIRRORHELP)
209
210THEMEAPI SetWindowThemeAttribute(HWND hwnd,enum WINDOWTHEMEATTRIBUTETYPE eAttribute,PVOID pvAttribute,DWORD cbAttribute);
211
212static __inline HRESULT SetWindowThemeNonClientAttributes(HWND hwnd,DWORD dwMask,DWORD dwAttributes)
213{
214 WTA_OPTIONS wta = { dwAttributes, dwMask };
215 return SetWindowThemeAttribute(hwnd, WTA_NONCLIENT, &wta, sizeof(WTA_OPTIONS));
216}
217
218#endif
219
220THEMEAPI_(HTHEME) OpenThemeData(HWND hwnd,LPCWSTR pszClassList);
221
222#define OTD_FORCE_RECT_SIZING 0x00000001
223#define OTD_NONCLIENT 0x00000002
224#define OTD_VALIDBITS (OTD_FORCE_RECT_SIZING | OTD_NONCLIENT)
225THEMEAPI_(HTHEME) OpenThemeDataForDpi(HWND hwnd, LPCWSTR pszClassList, UINT dpi);
226THEMEAPI_(HTHEME) OpenThemeDataEx(HWND hwnd,LPCWSTR pszClassList,DWORD dwFlags);
227THEMEAPI CloseThemeData(HTHEME hTheme);
228THEMEAPI DrawThemeBackground(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,const RECT *pRect,const RECT *pClipRect);
229
230#define DTT_GRAYED 0x00000001
231#define DTT_FLAGS2VALIDBITS DTT_GRAYED
232
233THEMEAPI DrawThemeText(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,LPCWSTR pszText,int iCharCount,DWORD dwTextFlags,DWORD dwTextFlags2,const RECT *pRect);
234
235#if (NTDDI_VERSION >= NTDDI_VISTA)
236
237#define DTT_TEXTCOLOR (__MSABI_LONG(1U) << 0)
238#define DTT_BORDERCOLOR (__MSABI_LONG(1U) << 1)
239#define DTT_SHADOWCOLOR (__MSABI_LONG(1U) << 2)
240#define DTT_SHADOWTYPE (__MSABI_LONG(1U) << 3)
241#define DTT_SHADOWOFFSET (__MSABI_LONG(1U) << 4)
242#define DTT_BORDERSIZE (__MSABI_LONG(1U) << 5)
243#define DTT_FONTPROP (__MSABI_LONG(1U) << 6)
244#define DTT_COLORPROP (__MSABI_LONG(1U) << 7)
245#define DTT_STATEID (__MSABI_LONG(1U) << 8)
246#define DTT_CALCRECT (__MSABI_LONG(1U) << 9)
247#define DTT_APPLYOVERLAY (__MSABI_LONG(1U) << 10)
248#define DTT_GLOWSIZE (__MSABI_LONG(1U) << 11)
249#define DTT_CALLBACK (__MSABI_LONG(1U) << 12)
250#define DTT_COMPOSITED (__MSABI_LONG(1U) << 13)
251#define DTT_VALIDBITS (DTT_TEXTCOLOR | DTT_BORDERCOLOR | DTT_SHADOWCOLOR | DTT_SHADOWTYPE | DTT_SHADOWOFFSET | DTT_BORDERSIZE | \
252 DTT_FONTPROP | DTT_COLORPROP | DTT_STATEID | DTT_CALCRECT | DTT_APPLYOVERLAY | DTT_GLOWSIZE | DTT_COMPOSITED)
253
254typedef int (WINAPI *DTT_CALLBACK_PROC)(HDC hdc,LPWSTR pszText,int cchText,LPRECT prc,UINT dwFlags,LPARAM lParam);
255
256typedef struct _DTTOPTS {
257 DWORD dwSize;
258 DWORD dwFlags;
259 COLORREF crText;
260 COLORREF crBorder;
261 COLORREF crShadow;
262 int iTextShadowType;
263 POINT ptShadowOffset;
264 int iBorderSize;
265 int iFontPropId;
266 int iColorPropId;
267 int iStateId;
268 WINBOOL fApplyOverlay;
269 int iGlowSize;
270 DTT_CALLBACK_PROC pfnDrawTextCallback;
271 LPARAM lParam;
272} DTTOPTS, *PDTTOPTS;
273
274THEMEAPI DrawThemeTextEx(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,LPCWSTR pszText,int iCharCount,DWORD dwFlags,LPRECT pRect,const DTTOPTS *pOptions);
275#endif
276
277THEMEAPI GetThemeBackgroundContentRect(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,const RECT *pBoundingRect,RECT *pContentRect);
278THEMEAPI GetThemeBackgroundExtent(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,const RECT *pContentRect,RECT *pExtentRect);
279
280typedef enum THEMESIZE {
281 TS_MIN,
282 TS_TRUE,
283 TS_DRAW
284} THEMESIZE;
285
286THEMEAPI GetThemePartSize(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,RECT *prc,enum THEMESIZE eSize,SIZE *psz);
287THEMEAPI GetThemeTextExtent(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,LPCWSTR pszText,int iCharCount,DWORD dwTextFlags,const RECT *pBoundingRect,RECT *pExtentRect);
288THEMEAPI GetThemeTextMetrics(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,TEXTMETRIC *ptm);
289THEMEAPI GetThemeBackgroundRegion(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,const RECT *pRect,HRGN *pRegion);
290
291#define HTTB_BACKGROUNDSEG 0x0000
292#define HTTB_FIXEDBORDER 0x0002
293#define HTTB_CAPTION 0x0004
294#define HTTB_RESIZINGBORDER_LEFT 0x0010
295#define HTTB_RESIZINGBORDER_TOP 0x0020
296#define HTTB_RESIZINGBORDER_RIGHT 0x0040
297#define HTTB_RESIZINGBORDER_BOTTOM 0x0080
298
299#define HTTB_RESIZINGBORDER (HTTB_RESIZINGBORDER_LEFT|HTTB_RESIZINGBORDER_TOP| HTTB_RESIZINGBORDER_RIGHT|HTTB_RESIZINGBORDER_BOTTOM)
300
301#define HTTB_SIZINGTEMPLATE 0x0100
302#define HTTB_SYSTEMSIZINGMARGINS 0x0200
303
304THEMEAPI HitTestThemeBackground(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,DWORD dwOptions,const RECT *pRect,HRGN hrgn,POINT ptTest,WORD *pwHitTestCode);
305THEMEAPI DrawThemeEdge(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,const RECT *pDestRect,UINT uEdge,UINT uFlags,RECT *pContentRect);
306THEMEAPI DrawThemeIcon(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,const RECT *pRect,HIMAGELIST himl,int iImageIndex);
307THEMEAPI_(WINBOOL) IsThemePartDefined(HTHEME hTheme,int iPartId,int iStateId);
308THEMEAPI_(WINBOOL) IsThemeBackgroundPartiallyTransparent(HTHEME hTheme,int iPartId,int iStateId);
309THEMEAPI GetThemeColor(HTHEME hTheme,int iPartId,int iStateId,int iPropId,COLORREF *pColor);
310THEMEAPI GetThemeMetric(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,int iPropId,int *piVal);
311THEMEAPI GetThemeString(HTHEME hTheme,int iPartId,int iStateId,int iPropId,LPWSTR pszBuff,int cchMaxBuffChars);
312THEMEAPI GetThemeBool(HTHEME hTheme,int iPartId,int iStateId,int iPropId,WINBOOL *pfVal);
313THEMEAPI GetThemeInt(HTHEME hTheme,int iPartId,int iStateId,int iPropId,int *piVal);
314THEMEAPI GetThemeEnumValue(HTHEME hTheme,int iPartId,int iStateId,int iPropId,int *piVal);
315THEMEAPI GetThemePosition(HTHEME hTheme,int iPartId,int iStateId,int iPropId,POINT *pPoint);
316THEMEAPI GetThemeFont(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,int iPropId,LOGFONTW *pFont);
317THEMEAPI GetThemeRect(HTHEME hTheme,int iPartId,int iStateId,int iPropId,RECT *pRect);
318
319typedef struct _MARGINS {
320 int cxLeftWidth;
321 int cxRightWidth;
322 int cyTopHeight;
323 int cyBottomHeight;
324} MARGINS,*PMARGINS;
325
326THEMEAPI GetThemeMargins(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,int iPropId,RECT *prc,MARGINS *pMargins);
327
328#if (NTDDI_VERSION >= NTDDI_VISTA)
329#define MAX_INTLIST_COUNT 402
330#else
331#define MAX_INTLIST_COUNT 10
332#endif
333
334typedef struct _INTLIST {
335 int iValueCount;
336 int iValues[MAX_INTLIST_COUNT];
337} INTLIST,*PINTLIST;
338
339THEMEAPI GetThemeIntList(HTHEME hTheme,int iPartId,int iStateId,int iPropId,INTLIST *pIntList);
340
341typedef enum PROPERTYORIGIN {
342 PO_STATE,
343 PO_PART,
344 PO_CLASS,
345 PO_GLOBAL,
346 PO_NOTFOUND
347} PROPERTYORIGIN;
348
349THEMEAPI GetThemePropertyOrigin(HTHEME hTheme,int iPartId,int iStateId,int iPropId,enum PROPERTYORIGIN *pOrigin);
350THEMEAPI SetWindowTheme(HWND hwnd,LPCWSTR pszSubAppName,LPCWSTR pszSubIdList);
351THEMEAPI GetThemeFilename(HTHEME hTheme,int iPartId,int iStateId,int iPropId,LPWSTR pszThemeFileName,int cchMaxBuffChars);
352THEMEAPI_(COLORREF) GetThemeSysColor(HTHEME hTheme,int iColorId);
353THEMEAPI_(HBRUSH) GetThemeSysColorBrush(HTHEME hTheme,int iColorId);
354THEMEAPI_(WINBOOL) GetThemeSysBool(HTHEME hTheme,int iBoolId);
355THEMEAPI_(int) GetThemeSysSize(HTHEME hTheme,int iSizeId);
356THEMEAPI GetThemeSysFont(HTHEME hTheme,int iFontId,LOGFONTW *plf);
357THEMEAPI GetThemeSysString(HTHEME hTheme,int iStringId,LPWSTR pszStringBuff,int cchMaxStringChars);
358THEMEAPI GetThemeSysInt(HTHEME hTheme,int iIntId,int *piValue);
359THEMEAPI_(WINBOOL) IsThemeActive();
360THEMEAPI_(WINBOOL) IsAppThemed();
361THEMEAPI_(HTHEME) GetWindowTheme(HWND hwnd);
362
363#define ETDT_DISABLE 0x00000001
364#define ETDT_ENABLE 0x00000002
365#define ETDT_USETABTEXTURE 0x00000004
366#define ETDT_ENABLETAB (ETDT_ENABLE | ETDT_USETABTEXTURE)
367#if (NTDDI_VERSION >= NTDDI_VISTA)
368#define ETDT_USEAEROWIZARDTABTEXTURE 0x00000008
369#define ETDT_ENABLEAEROWIZARDTAB (ETDT_ENABLE | ETDT_USEAEROWIZARDTABTEXTURE)
370#define ETDT_VALIDBITS (ETDT_DISABLE | ETDT_ENABLE | ETDT_USETABTEXTURE | ETDT_USEAEROWIZARDTABTEXTURE)
371#endif
372
373THEMEAPI EnableThemeDialogTexture(HWND hwnd,DWORD dwFlags);
374THEMEAPI_(WINBOOL) IsThemeDialogTextureEnabled(HWND hwnd);
375
376#define STAP_ALLOW_NONCLIENT (1 << 0)
377#define STAP_ALLOW_CONTROLS (1 << 1)
378#define STAP_ALLOW_WEBCONTENT (1 << 2)
379#define STAP_VALIDBITS (STAP_ALLOW_NONCLIENT | STAP_ALLOW_CONTROLS | STAP_ALLOW_WEBCONTENT)
380
381THEMEAPI_(DWORD) GetThemeAppProperties(VOID);
382THEMEAPI_(void) SetThemeAppProperties(DWORD dwFlags);
383THEMEAPI GetCurrentThemeName(LPWSTR pszThemeFileName,int cchMaxNameChars,LPWSTR pszColorBuff,int cchMaxColorChars,LPWSTR pszSizeBuff,int cchMaxSizeChars);
384
385#define SZ_THDOCPROP_DISPLAYNAME L"DisplayName"
386#define SZ_THDOCPROP_CANONICALNAME L"ThemeName"
387#define SZ_THDOCPROP_TOOLTIP L"ToolTip"
388#define SZ_THDOCPROP_AUTHOR L"author"
389
390THEMEAPI GetThemeDocumentationProperty(LPCWSTR pszThemeName,LPCWSTR pszPropertyName,LPWSTR pszValueBuff,int cchMaxValChars);
391THEMEAPI DrawThemeParentBackground(HWND hwnd,HDC hdc,RECT *prc);
392
393#if (NTDDI_VERSION >= NTDDI_VISTA)
394#define DTPB_WINDOWDC 0x00000001
395#define DTPB_USECTLCOLORSTATIC 0x00000002
396#define DTPB_USEERASEBKGND 0x00000004
397
398THEMEAPI DrawThemeParentBackgroundEx(HWND hwnd,HDC hdc,DWORD dwFlags,const RECT *prc);
399#endif
400
401THEMEAPI EnableTheming(WINBOOL fEnable);
402
403#define DTBG_CLIPRECT 0x00000001
404#define DTBG_DRAWSOLID 0x00000002
405#define DTBG_OMITBORDER 0x00000004
406#define DTBG_OMITCONTENT 0x00000008
407#define DTBG_COMPUTINGREGION 0x00000010
408#define DTBG_MIRRORDC 0x00000020
409#define DTBG_NOMIRROR 0x00000040
410#define DTBG_VALIDBITS (DTBG_CLIPRECT | DTBG_DRAWSOLID | DTBG_OMITBORDER | DTBG_OMITCONTENT | DTBG_COMPUTINGREGION | DTBG_MIRRORDC | DTBG_NOMIRROR)
411
412typedef struct _DTBGOPTS {
413 DWORD dwSize;
414 DWORD dwFlags;
415 RECT rcClip;
416} DTBGOPTS,*PDTBGOPTS;
417
418THEMEAPI DrawThemeBackgroundEx(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,const RECT *pRect,const DTBGOPTS *pOptions);
419#endif
Note: See TracBrowser for help on using the repository browser.