directx header from mingw, writen by our Filip Navara
[reactos.git] / reactos / w32api / include / uxtheme.h
1 #ifndef _UXTHEME_H
2 #define _UXTHEME_H
3 #if __GNUC__ >= 3
4 #pragma GCC system_header
5 #endif
6
7 #include <commctrl.h>
8
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12
13 #if (_WIN32_WINNT >= 0x0501)
14 #define DTBG_CLIPRECT 0x00000001
15 #define DTBG_DRAWSOLID 0x00000002
16 #define DTBG_OMITBORDER 0x00000004
17 #define DTBG_OMITCONTENT 0x00000008
18 #define DTBG_COMPUTINGREGION 0x00000010
19 #define DTBG_MIRRORDC 0x00000020
20 #define DTT_GRAYED 0x00000001
21 #define ETDT_DISABLE 0x00000001
22 #define ETDT_ENABLE 0x00000002
23 #define ETDT_USETABTEXTURE 0x00000004
24 #define ETDT_ENABLETAB (ETDT_ENABLE|ETDT_USETABTEXTURE)
25 #define STAP_ALLOW_NONCLIENT 0x00000001
26 #define STAP_ALLOW_CONTROLS 0x00000002
27 #define STAP_ALLOW_WEBCONTENT 0x00000004
28 #define HTTB_BACKGROUNDSEG 0x0000
29 #define HTTB_FIXEDBORDER 0x0002
30 #define HTTB_CAPTION 0x0004
31 #define HTTB_RESIZINGBORDER_LEFT 0x0010
32 #define HTTB_RESIZINGBORDER_TOP 0x0020
33 #define HTTB_RESIZINGBORDER_RIGHT 0x0040
34 #define HTTB_RESIZINGBORDER_BOTTOM 0x0080
35 #define HTTB_RESIZINGBORDER (HTTB_RESIZINGBORDER_LEFT|HTTB_RESIZINGBORDER_TOP|HTTB_RESIZINGBORDER_RIGHT|HTTB_RESIZINGBORDER_BOTTOM)
36 #define HTTB_SIZINGTEMPLATE 0x0100
37 #define HTTB_SYSTEMSIZINGMARGINS 0x0200
38
39 typedef enum PROPERTYORIGIN {
40 PO_STATE = 0,
41 PO_PART = 1,
42 PO_CLASS = 2,
43 PO_GLOBAL = 3,
44 PO_NOTFOUND = 4
45 } PROPERTYORIGIN;
46 typedef enum THEMESIZE {
47 TS_MIN,
48 TS_TRUE,
49 TS_DRAW
50 } THEMESIZE;
51 typedef struct _DTBGOPTS {
52 DWORD dwSize;
53 DWORD dwFlags;
54 RECT rcClip;
55 } DTBGOPTS, *PDTBGOPTS;
56 #define MAX_INTLIST_COUNT 10
57 typedef struct _INTLIST {
58 int iValueCount;
59 int iValues[MAX_INTLIST_COUNT];
60 } INTLIST, *PINTLIST;
61 typedef struct _MARGINS {
62 int cxLeftWidth;
63 int cxRightWidth;
64 int cyTopHeight;
65 int cyBottomHeight;
66 } MARGINS, *PMARGINS;
67 typedef HANDLE HTHEME;
68
69 HRESULT WINAPI CloseThemeData(HTHEME);
70 HRESULT WINAPI DrawThemeBackground(HTHEME,HDC,int,int,const RECT*,const RECT*);
71 HRESULT WINAPI DrawThemeBackgroundEx(HTHEME,HDC,int,int,const RECT*,const DTBGOPTS*);
72 HRESULT WINAPI DrawThemeEdge(HTHEME,HDC,int,int,const RECT*,UINT,UINT,RECT*);
73 HRESULT WINAPI DrawThemeIcon(HTHEME,HDC,int,int,const RECT*,HIMAGELIST,int);
74 HRESULT WINAPI DrawThemeParentBackground(HWND,HDC,RECT*);
75 HRESULT WINAPI DrawThemeText(HTHEME,HDC,int,int,LPCWSTR,int,DWORD,DWORD,const RECT*);
76 HRESULT WINAPI EnableThemeDialogTexture(HWND,DWORD);
77 HRESULT WINAPI EnableTheming(BOOL);
78 HRESULT WINAPI GetCurrentThemeName(LPWSTR,int,LPWSTR,int,LPWSTR,int);
79 DWORD WINAPI GetThemeAppProperties();
80 HRESULT WINAPI GetThemeBackgroundContentRect(HTHEME,HDC,int,int,const RECT*,RECT*);
81 HRESULT WINAPI GetThemeBackgroundExtent(HTHEME,HDC,int,int,const RECT*,RECT*);
82 HRESULT WINAPI GetThemeBackgroundRegion(HTHEME,HDC,int,int,const RECT*,HRGN*);
83 HRESULT WINAPI GetThemeBool(HTHEME,int,int,int,BOOL*);
84 HRESULT WINAPI GetThemeColor(HTHEME,int,int,int,COLORREF*);
85 HRESULT WINAPI GetThemeDocumentationProperty(LPCWSTR,LPCWSTR,LPWSTR,int);
86 HRESULT WINAPI GetThemeEnumValue(HTHEME,int,int,int,int*);
87 HRESULT WINAPI GetThemeFilename(HTHEME,int,int,int,LPWSTR,int);
88 HRESULT WINAPI GetThemeFont(HTHEME,HDC,int,int,int,LOGFONTW*);
89 HRESULT WINAPI GetThemeInt(HTHEME,int,int,int,int*);
90 HRESULT WINAPI GetThemeIntList(HTHEME,int,int,int,INTLIST*);
91 HRESULT WINAPI GetThemeMargins(HTHEME,HDC,int,int,int,RECT*,MARGINS*);
92 HRESULT WINAPI GetThemeMetric(HTHEME,HDC,int,int,int,int*);
93 HRESULT WINAPI GetThemePartSize(HTHEME,HDC,int,int,RECT*,THEMESIZE,SIZE*);
94 HRESULT WINAPI GetThemePosition(HTHEME,int,int,int,POINT*);
95 HRESULT WINAPI GetThemePropertyOrigin(HTHEME,int,int,int,PROPERTYORIGIN*);
96 HRESULT WINAPI GetThemeRect(HTHEME,int,int,int,RECT*);
97 HRESULT WINAPI GetThemeString(HTHEME,int,int,int,LPWSTR,int);
98 BOOL WINAPI GetThemeSysBool(HTHEME,int);
99 COLORREF WINAPI GetThemeSysColor(HTHEME,int);
100 HBRUSH WINAPI GetThemeSysColorBrush(HTHEME,int);
101 HRESULT WINAPI GetThemeSysFont(HTHEME,int,LOGFONTW*);
102 HRESULT WINAPI GetThemeSysInt(HTHEME,int,int*);
103 int WINAPI GetThemeSysSize(HTHEME,int);
104 HRESULT WINAPI GetThemeSysString(HTHEME,int,LPWSTR,int);
105 HRESULT WINAPI GetThemeTextExtent(HTHEME,HDC,int,int,LPCWSTR,int,DWORD,const RECT*,RECT*);
106 HRESULT WINAPI GetThemeTextMetrics(HTHEME,HDC,int,int,TEXTMETRICW*);
107 HTHEME WINAPI GetWindowTheme(HWND);
108 HRESULT WINAPI HitTestThemeBackground(HTHEME,HDC,int,int,DWORD,const RECT*,HRGN,POINT,WORD*);
109 BOOL WINAPI IsAppThemed();
110 BOOL WINAPI IsThemeActive();
111 BOOL WINAPI IsThemeBackgroundPartiallyTransparent(HTHEME,int,int);
112 BOOL WINAPI IsThemeDialogTextureEnabled(HWND);
113 BOOL WINAPI IsThemePartDefined(HTHEME,int,int);
114 HTHEME WINAPI OpenThemeData(HWND,LPCWSTR);
115 void WINAPI SetThemeAppProperties(DWORD);
116 HRESULT WINAPI SetWindowTheme(HWND,LPCWSTR,LPCWSTR);
117 #endif
118
119 #ifdef __cplusplus
120 }
121 #endif
122 #endif