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 #define ETDT_DISABLE 0x00000001
19 #define ETDT_ENABLE 0x00000002
20 #define ETDT_USETABTEXTURE 0x00000004
21 #define ETDT_ENABLETAB (ETDT_ENABLE | ETDT_USETABTEXTURE)
22 #define STAP_ALLOW_NONCLIENT 0x00000001
23 #define STAP_ALLOW_CONTROLS 0x00000002
24 #define STAP_ALLOW_WEBCONTENT 0x00000004
25 #define HTTB_BACKGROUNDSEG 0x0000
26 #define HTTB_FIXEDBORDER 0x0002
27 #define HTTB_CAPTION 0x0004
28 #define HTTB_RESIZINGBORDER_LEFT 0x0010
29 #define HTTB_RESIZINGBORDER_TOP 0x0020
30 #define HTTB_RESIZINGBORDER_RIGHT 0x0040
31 #define HTTB_RESIZINGBORDER_BOTTOM 0x0080
32 #define HTTB_RESIZINGBORDER (HTTB_RESIZINGBORDER_LEFT|HTTB_RESIZINGBORDER_TOP|HTTB_RESIZINGBORDER_RIGHT|HTTB_RESIZINGBORDER_BOTTOM)
33 #define HTTB_SIZINGTEMPLATE 0x0100
34 #define HTTB_SYSTEMSIZINGMARGINS 0x0200
36 #define OTD_FORCE_RECT_SIZING 0x0001
37 #define OTD_NONCLIENT 0x0002
38 #define OTD_VALIDBITS (OTD_FORCE_RECT_SIZING | OTD_NONCLIENT)
40 typedef HANDLE HPAINTBUFFER
;
41 typedef HANDLE HTHEME
;
43 typedef enum _BP_BUFFERFORMAT
45 BPBF_COMPATIBLEBITMAP
,
51 typedef struct _BP_PAINTPARAMS
55 const RECT
*prcExclude
;
56 const BLENDFUNCTION
*pBlendFunction
;
57 } BP_PAINTPARAMS
, *PBP_PAINTPARAMS
;
59 typedef enum PROPERTYORIGIN
{
67 typedef enum THEMESIZE
{
73 typedef struct _DTBGOPTS
{
77 } DTBGOPTS
, *PDTBGOPTS
;
79 #define MAX_INTLIST_COUNT 10
81 typedef struct _INTLIST
{
83 int iValues
[MAX_INTLIST_COUNT
];
86 typedef struct _MARGINS
{
93 HRESULT WINAPI
CloseThemeData(HTHEME
);
94 HRESULT WINAPI
DrawThemeBackground(HTHEME
,HDC
,int,int,const RECT
*,const RECT
*);
95 HRESULT WINAPI
DrawThemeBackgroundEx(HTHEME
,HDC
,int,int,const RECT
*,const DTBGOPTS
*);
96 HRESULT WINAPI
DrawThemeEdge(HTHEME
,HDC
,int,int,const RECT
*,UINT
,UINT
,RECT
*);
97 HRESULT WINAPI
DrawThemeIcon(HTHEME
,HDC
,int,int,const RECT
*,HIMAGELIST
,int);
98 HRESULT WINAPI
DrawThemeParentBackground(HWND
,HDC
,RECT
*);
99 HRESULT WINAPI
DrawThemeText(HTHEME
,HDC
,int,int,LPCWSTR
,int,DWORD
,DWORD
,const RECT
*);
100 HRESULT WINAPI
EnableThemeDialogTexture(HWND
,DWORD
);
101 HRESULT WINAPI
EnableTheming(BOOL
);
102 HRESULT WINAPI
GetCurrentThemeName(LPWSTR
,int,LPWSTR
,int,LPWSTR
,int);
103 DWORD WINAPI
GetThemeAppProperties(void);
104 HRESULT WINAPI
GetThemeBackgroundContentRect(HTHEME
,HDC
,int,int,const RECT
*,RECT
*);
105 HRESULT WINAPI
GetThemeBackgroundExtent(HTHEME
,HDC
,int,int,const RECT
*,RECT
*);
106 HRESULT WINAPI
GetThemeBackgroundRegion(HTHEME
,HDC
,int,int,const RECT
*,HRGN
*);
107 HRESULT WINAPI
GetThemeBool(HTHEME
,int,int,int,BOOL
*);
108 HRESULT WINAPI
GetThemeColor(HTHEME
,int,int,int,COLORREF
*);
109 HRESULT WINAPI
GetThemeDocumentationProperty(LPCWSTR
,LPCWSTR
,LPWSTR
,int);
110 HRESULT WINAPI
GetThemeEnumValue(HTHEME
,int,int,int,int*);
111 HRESULT WINAPI
GetThemeFilename(HTHEME
,int,int,int,LPWSTR
,int);
112 HRESULT WINAPI
GetThemeFont(HTHEME
,HDC
,int,int,int,LOGFONTW
*);
113 HRESULT WINAPI
GetThemeInt(HTHEME
,int,int,int,int*);
114 HRESULT WINAPI
GetThemeIntList(HTHEME
,int,int,int,INTLIST
*);
115 HRESULT WINAPI
GetThemeMargins(HTHEME
,HDC
,int,int,int,RECT
*,MARGINS
*);
116 HRESULT WINAPI
GetThemeMetric(HTHEME
,HDC
,int,int,int,int*);
117 HRESULT WINAPI
GetThemePartSize(HTHEME
,HDC
,int,int,RECT
*,THEMESIZE
,SIZE
*);
118 HRESULT WINAPI
GetThemePosition(HTHEME
,int,int,int,POINT
*);
119 HRESULT WINAPI
GetThemePropertyOrigin(HTHEME
,int,int,int,PROPERTYORIGIN
*);
120 HRESULT WINAPI
GetThemeRect(HTHEME
,int,int,int,RECT
*);
121 HRESULT WINAPI
GetThemeString(HTHEME
,int,int,int,LPWSTR
,int);
122 BOOL WINAPI
GetThemeSysBool(HTHEME
,int);
123 COLORREF WINAPI
GetThemeSysColor(HTHEME
,int);
124 HBRUSH WINAPI
GetThemeSysColorBrush(HTHEME
,int);
125 HRESULT WINAPI
GetThemeSysFont(HTHEME
,int,LOGFONTW
*);
126 HRESULT WINAPI
GetThemeSysInt(HTHEME
,int,int*);
127 int WINAPI
GetThemeSysSize(HTHEME
,int);
128 HRESULT WINAPI
GetThemeSysString(HTHEME
,int,LPWSTR
,int);
129 HRESULT WINAPI
GetThemeTextExtent(HTHEME
,HDC
,int,int,LPCWSTR
,int,DWORD
,const RECT
*,RECT
*);
130 HRESULT WINAPI
GetThemeTextMetrics(HTHEME
,HDC
,int,int,TEXTMETRICW
*);
131 HTHEME WINAPI
GetWindowTheme(HWND
);
132 HRESULT WINAPI
HitTestThemeBackground(HTHEME
,HDC
,int,int,DWORD
,const RECT
*,HRGN
,POINT
,WORD
*);
133 BOOL WINAPI
IsAppThemed(void);
134 BOOL WINAPI
IsThemeActive(void);
135 BOOL WINAPI
IsThemeBackgroundPartiallyTransparent(HTHEME
,int,int);
136 BOOL WINAPI
IsThemeDialogTextureEnabled(HWND
);
137 BOOL WINAPI
IsThemePartDefined(HTHEME
,int,int);
138 HTHEME WINAPI
OpenThemeData(HWND
,LPCWSTR
);
139 HTHEME WINAPI
OpenThemeDataEx(HWND
,LPCWSTR
,DWORD
);
140 void WINAPI
SetThemeAppProperties(DWORD
);
141 HRESULT WINAPI
SetWindowTheme(HWND
,LPCWSTR
,LPCWSTR
);