ReactOS 0.4.16-dev-329-g9223134
uxtheme.h
Go to the documentation of this file.
1#ifndef _UXTHEME_H
2#define _UXTHEME_H
3
4#include <commctrl.h>
5
6#ifdef __cplusplus
7extern "C" {
8#endif
9
10#if (_WIN32_WINNT >= 0x0501)
11#define DTBG_CLIPRECT 0x00000001
12#define DTBG_DRAWSOLID 0x00000002
13#define DTBG_OMITBORDER 0x00000004
14#define DTBG_OMITCONTENT 0x00000008
15#define DTBG_COMPUTINGREGION 0x00000010
16#define DTBG_MIRRORDC 0x00000020
17#define DTT_GRAYED 0x00000001
18
19/* DTTOPTS.dwFlags bits */
20#define DTT_TEXTCOLOR 0x00000001
21#define DTT_BORDERCOLOR 0x00000002
22#define DTT_SHADOWCOLOR 0x00000004
23#define DTT_SHADOWTYPE 0x00000008
24#define DTT_SHADOWOFFSET 0x00000010
25#define DTT_BORDERSIZE 0x00000020
26#define DTT_FONTPROP 0x00000040
27#define DTT_COLORPROP 0x00000080
28#define DTT_STATEID 0x00000100
29#define DTT_CALCRECT 0x00000200
30#define DTT_APPLYOVERLAY 0x00000400
31#define DTT_GLOWSIZE 0x00000800
32#define DTT_CALLBACK 0x00001000
33#define DTT_COMPOSITED 0x00002000
34#define DTT_VALIDBITS 0x00003fff
35
36#define ETDT_DISABLE 0x00000001
37#define ETDT_ENABLE 0x00000002
38#define ETDT_USETABTEXTURE 0x00000004
39#define ETDT_ENABLETAB (ETDT_ENABLE | ETDT_USETABTEXTURE)
40#define STAP_ALLOW_NONCLIENT 0x00000001
41#define STAP_ALLOW_CONTROLS 0x00000002
42#define STAP_ALLOW_WEBCONTENT 0x00000004
43#define HTTB_BACKGROUNDSEG 0x0000
44#define HTTB_FIXEDBORDER 0x0002
45#define HTTB_CAPTION 0x0004
46#define HTTB_RESIZINGBORDER_LEFT 0x0010
47#define HTTB_RESIZINGBORDER_TOP 0x0020
48#define HTTB_RESIZINGBORDER_RIGHT 0x0040
49#define HTTB_RESIZINGBORDER_BOTTOM 0x0080
50#define HTTB_RESIZINGBORDER (HTTB_RESIZINGBORDER_LEFT|HTTB_RESIZINGBORDER_TOP|HTTB_RESIZINGBORDER_RIGHT|HTTB_RESIZINGBORDER_BOTTOM)
51#define HTTB_SIZINGTEMPLATE 0x0100
52#define HTTB_SYSTEMSIZINGMARGINS 0x0200
53
54#define OTD_FORCE_RECT_SIZING 0x0001
55#define OTD_NONCLIENT 0x0002
56#define OTD_VALIDBITS (OTD_FORCE_RECT_SIZING | OTD_NONCLIENT)
57
58typedef HANDLE HPAINTBUFFER;
59typedef HANDLE HTHEME;
60typedef int (WINAPI *DTT_CALLBACK_PROC)(HDC,LPWSTR,int,RECT*,UINT,LPARAM);
61
62typedef enum _BP_BUFFERFORMAT
63{
65 BPBF_DIB,
66 BPBF_TOPDOWNDIB,
67 BPBF_TOPDOWNMONODIB
69
70typedef struct _BP_PAINTPARAMS
71{
72 DWORD cbSize;
74 const RECT *prcExclude;
75 const BLENDFUNCTION *pBlendFunction;
76} BP_PAINTPARAMS, *PBP_PAINTPARAMS;
77
78typedef enum PROPERTYORIGIN {
79 PO_STATE = 0,
80 PO_PART = 1,
81 PO_CLASS = 2,
82 PO_GLOBAL = 3,
83 PO_NOTFOUND = 4
84} PROPERTYORIGIN;
85
86typedef enum THEMESIZE {
87 TS_MIN,
88 TS_TRUE,
89 TS_DRAW
90} THEMESIZE;
91
92typedef struct _DTBGOPTS {
95 RECT rcClip;
96} DTBGOPTS, *PDTBGOPTS;
97
98#define MAX_INTLIST_COUNT 10
99
100typedef struct _INTLIST {
101 int iValueCount;
102 int iValues[MAX_INTLIST_COUNT];
103} INTLIST, *PINTLIST;
104
105typedef struct _MARGINS {
106 int cxLeftWidth;
107 int cxRightWidth;
108 int cyTopHeight;
109 int cyBottomHeight;
110} MARGINS, *PMARGINS;
111
112typedef struct _DTTOPTS {
115 COLORREF crText;
116 COLORREF crBorder;
117 COLORREF crShadow;
118 int iTextShadowType;
119 POINT ptShadowOffset;
120 int iBorderSize;
121 int iFontPropId;
122 int iColorPropId;
123 int iStateId;
124 BOOL fApplyOverlay;
125 int iGlowSize;
126 DTT_CALLBACK_PROC pfnDrawTextCallback;
128} DTTOPTS, *PDTTOPTS;
129
131HRESULT WINAPI DrawThemeBackground(HTHEME,HDC,int,int,const RECT*,const RECT*);
132HRESULT WINAPI DrawThemeBackgroundEx(HTHEME,HDC,int,int,const RECT*,const DTBGOPTS*);
147HRESULT WINAPI GetThemeEnumValue(HTHEME,int,int,int,int*);
150HRESULT WINAPI GetThemeInt(HTHEME,int,int,int,int*);
151HRESULT WINAPI GetThemeIntList(HTHEME,int,int,int,INTLIST*);
153HRESULT WINAPI GetThemeMetric(HTHEME,HDC,int,int,int,int*);
154HRESULT WINAPI GetThemePartSize(HTHEME,HDC,int,int,RECT*,THEMESIZE,SIZE*);
156HRESULT WINAPI GetThemePropertyOrigin(HTHEME,int,int,int,PROPERTYORIGIN*);
158HRESULT WINAPI GetThemeString(HTHEME,int,int,int,LPWSTR,int);
179
180/* Undocumented and not exported in Windows XP/2003
181 * In public headers since Vista+ */
183WINAPI
185 _In_ HTHEME hTheme,
186 _In_ HDC hdc,
187 _In_ int iPartId,
188 _In_ int iStateId,
189 _In_ LPCWSTR pszText,
190 _In_ int iCharCount,
191 _In_ DWORD dwTextFlags,
192 _Inout_ LPRECT pRect,
193 _In_ const DTTOPTS *options
194);
195#endif
196
197#ifdef __cplusplus
198}
199#endif
200#endif
@ TS_TRUE
LPARAM lParam
Definition: combotst.c:139
HRESULT WINAPI DrawThemeEdge(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pDestRect, UINT uEdge, UINT uFlags, RECT *pContentRect)
Definition: draw.c:1342
BOOL WINAPI IsThemeDialogTextureEnabled(HWND hwnd)
Definition: draw.c:56
HRESULT WINAPI DrawThemeTextEx(_In_ HTHEME hTheme, _In_ HDC hdc, _In_ int iPartId, _In_ int iStateId, _In_ LPCWSTR pszText, _In_ int iCharCount, _In_ DWORD dwTextFlags, _Inout_ LPRECT pRect, _In_ const DTTOPTS *options)
Definition: draw.c:1379
HRESULT WINAPI DrawThemeIcon(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pRect, HIMAGELIST himl, int iImageIndex)
Definition: draw.c:1362
HRESULT WINAPI DrawThemeBackground(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pRect, const RECT *pClipRect)
Definition: draw.c:128
BOOL WINAPI IsThemeBackgroundPartiallyTransparent(HTHEME hTheme, int iPartId, int iStateId)
Definition: draw.c:1927
HRESULT WINAPI GetThemePartSize(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, RECT *prc, THEMESIZE eSize, SIZE *psz)
Definition: draw.c:1821
HRESULT WINAPI GetThemeBackgroundExtent(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pContentRect, RECT *pExtentRect)
Definition: draw.c:1572
HRESULT WINAPI GetThemeBackgroundRegion(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pRect, HRGN *pRegion)
Definition: draw.c:1768
HRESULT WINAPI DrawThemeText(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, LPCWSTR pszText, int iCharCount, DWORD dwTextFlags, DWORD dwTextFlags2, const RECT *pRect)
Definition: draw.c:1500
HRESULT WINAPI DrawThemeParentBackground(HWND hwnd, HDC hdc, RECT *prc)
Definition: draw.c:72
HRESULT WINAPI GetThemeTextMetrics(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, TEXTMETRICW *ptm)
Definition: draw.c:1893
HRESULT WINAPI GetThemeTextExtent(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, LPCWSTR pszText, int iCharCount, DWORD dwTextFlags, const RECT *pBoundingRect, RECT *pExtentRect)
Definition: draw.c:1853
HRESULT WINAPI GetThemeBackgroundContentRect(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pBoundingRect, RECT *pContentRect)
Definition: draw.c:1523
HRESULT WINAPI DrawThemeBackgroundEx(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pRect, const DTBGOPTS *pOptions)
Definition: draw.c:740
COLORREF WINAPI GetThemeSysColor(HTHEME hTheme, int iColorID)
Definition: metric.c:58
HRESULT WINAPI GetThemeSysFont(HTHEME hTheme, int iFontID, LOGFONTW *plf)
Definition: metric.c:91
HBRUSH WINAPI GetThemeSysColorBrush(HTHEME hTheme, int iColorID)
Definition: metric.c:82
HRESULT WINAPI GetThemeSysInt(HTHEME hTheme, int iIntID, int *piValue)
Definition: metric.c:134
HRESULT WINAPI GetThemeSysString(HTHEME hTheme, int iStringID, LPWSTR pszStringBuff, int cchMaxStringChars)
Definition: metric.c:205
int WINAPI GetThemeSysSize(HTHEME hTheme, int iSizeID)
Definition: metric.c:154
BOOL WINAPI GetThemeSysBool(HTHEME hTheme, int iBoolID)
Definition: metric.c:26
HRESULT WINAPI GetThemeMetric(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, int iPropId, int *piVal)
Definition: property.c:236
HRESULT WINAPI GetThemePosition(HTHEME hTheme, int iPartId, int iStateId, int iPropId, POINT *pPoint)
Definition: property.c:162
HRESULT WINAPI GetThemeIntList(HTHEME hTheme, int iPartId, int iStateId, int iPropId, INTLIST *pIntList)
Definition: property.c:144
HRESULT WINAPI GetThemeRect(HTHEME hTheme, int iPartId, int iStateId, int iPropId, RECT *pRect)
Definition: property.c:180
HRESULT WINAPI GetThemeBool(HTHEME hTheme, int iPartId, int iStateId, int iPropId, BOOL *pfVal)
Definition: property.c:26
HRESULT WINAPI GetThemeFont(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, int iPropId, LOGFONTW *pFont)
Definition: property.c:108
HRESULT WINAPI GetThemeInt(HTHEME hTheme, int iPartId, int iStateId, int iPropId, int *piVal)
Definition: property.c:126
HRESULT WINAPI GetThemePropertyOrigin(HTHEME hTheme, int iPartId, int iStateId, int iPropId, PROPERTYORIGIN *pOrigin)
Definition: property.c:280
HRESULT WINAPI GetThemeMargins(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, int iPropId, RECT *prc, MARGINS *pMargins)
Definition: property.c:216
HRESULT WINAPI GetThemeEnumValue(HTHEME hTheme, int iPartId, int iStateId, int iPropId, int *piVal)
Definition: property.c:63
HRESULT WINAPI GetThemeFilename(HTHEME hTheme, int iPartId, int iStateId, int iPropId, LPWSTR pszThemeFilename, int cchMaxBuffChars)
Definition: property.c:89
HRESULT WINAPI GetThemeString(HTHEME hTheme, int iPartId, int iStateId, int iPropId, LPWSTR pszBuff, int cchMaxBuffChars)
Definition: property.c:198
HRESULT WINAPI GetThemeColor(HTHEME hTheme, int iPartId, int iStateId, int iPropId, COLORREF *pColor)
Definition: property.c:45
HRESULT WINAPI GetThemeDocumentationProperty(LPCWSTR pszThemeName, LPCWSTR pszPropertyName, LPWSTR pszValueBuff, int cchMaxValChars)
Definition: system.c:1010
void WINAPI SetThemeAppProperties(DWORD dwFlags)
Definition: system.c:941
HRESULT WINAPI EnableTheming(BOOL fEnable)
Definition: system.c:642
DWORD WINAPI GetThemeAppProperties(void)
Definition: system.c:933
HTHEME WINAPI OpenThemeDataEx(HWND hwnd, LPCWSTR pszClassList, DWORD flags)
Definition: system.c:819
HRESULT WINAPI GetCurrentThemeName(LPWSTR pszThemeFileName, int dwMaxNameChars, LPWSTR pszColorBuff, int cchMaxColorChars, LPWSTR pszSizeBuff, int cchMaxSizeChars)
Definition: system.c:894
HTHEME WINAPI OpenThemeData(HWND hwnd, LPCWSTR classlist)
Definition: system.c:835
BOOL WINAPI IsThemePartDefined(HTHEME hTheme, int iPartId, int iStateId)
Definition: system.c:987
HTHEME WINAPI GetWindowTheme(HWND hwnd)
Definition: system.c:851
BOOL WINAPI IsThemeActive(void)
Definition: system.c:606
HRESULT WINAPI HitTestThemeBackground(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, DWORD dwOptions, const RECT *pRect, HRGN hrgn, POINT ptTest, WORD *pwHitTestCode)
Definition: system.c:973
HRESULT WINAPI CloseThemeData(HTHEME hTheme)
Definition: system.c:950
BOOL WINAPI IsAppThemed(void)
Definition: system.c:596
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
Definition: typeof.h:31
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned short WORD
Definition: ntddk_ex.h:93
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
Definition: env.c:56
HDC hdc
Definition: main.c:9
static HDC
Definition: imagelist.c:88
static const RECT BP_BUFFERFORMAT
Definition: system.c:30
static HTHEME(WINAPI *pOpenThemeDataEx)(HWND
static HPAINTBUFFER(WINAPI *pBeginBufferedPaint)(HDC
unsigned int UINT
Definition: ndis.h:50
#define _Inout_
Definition: no_sal2.h:162
#define _In_
Definition: no_sal2.h:158
Definition: misc.c:279
int cyBottomHeight
Definition: misc.c:283
int cyTopHeight
Definition: misc.c:282
int cxRightWidth
Definition: misc.c:281
int cxLeftWidth
Definition: misc.c:280
#define BPBF_COMPATIBLEBITMAP
Definition: treelist.c:133
HRESULT WINAPI EnableThemeDialogTexture(_In_ HWND hwnd, _In_ DWORD dwFlags)
Definition: uxthemesupp.c:55
HRESULT WINAPI SetWindowTheme(_In_ HWND hwnd, _In_ LPCWSTR pszSubAppName, _In_ LPCWSTR pszSubIdList)
Definition: uxthemesupp.c:69
struct _MARGINS * PMARGINS
struct _MARGINS MARGINS
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1176
LONG_PTR LPARAM
Definition: windef.h:208
DWORD COLORREF
Definition: windef.h:300
#define WINAPI
Definition: msvc.h:6
WCHAR * LPWSTR
Definition: xmlstorage.h:184
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185