]>
Commit | Line | Data |
---|---|---|
1 | /* | |
2 | * Win32 5.1 theme definitions | |
3 | * | |
4 | * Copyright (C) 2003 Kevin Koltzau | |
5 | * | |
6 | * Originally written for the Wine project, and issued under | |
7 | * the wxWindows License by kind permission of the author. | |
8 | * | |
9 | * License: wxWindows License | |
10 | */ | |
11 | ||
12 | #ifndef __WINE_UXTHEME_H | |
13 | #define __WINE_UXTHEME_H | |
14 | ||
15 | #include <commctrl.h> | |
16 | ||
17 | typedef HANDLE HTHEME; | |
18 | ||
19 | HRESULT WINAPI CloseThemeData(HTHEME hTheme); | |
20 | HRESULT WINAPI DrawThemeBackground(HTHEME,HDC,int,int,const RECT*,const RECT*); | |
21 | ||
22 | #define DTBG_CLIPRECT 0x00000001 | |
23 | #define DTBG_DRAWSOLID 0x00000002 | |
24 | #define DTBG_OMITBORDER 0x00000004 | |
25 | #define DTBG_OMITCONTENT 0x00000008 | |
26 | #define DTBG_COMPUTINGREGION 0x00000010 | |
27 | #define DTBG_MIRRORDC 0x00000020 | |
28 | ||
29 | typedef struct _DTBGOPTS { | |
30 | DWORD dwSize; | |
31 | DWORD dwFlags; | |
32 | RECT rcClip; | |
33 | } DTBGOPTS, *PDTBGOPTS; | |
34 | ||
35 | HRESULT WINAPI DrawThemeBackgroundEx(HTHEME,HDC,int,int,const RECT*, | |
36 | const DTBGOPTS*); | |
37 | HRESULT WINAPI DrawThemeEdge(HTHEME,HDC,int,int,const RECT*,UINT,UINT, | |
38 | RECT*); | |
39 | HRESULT WINAPI DrawThemeIcon(HTHEME,HDC,int,int,const RECT*,HIMAGELIST,int); | |
40 | HRESULT WINAPI DrawThemeParentBackground(HWND,HDC,RECT*); | |
41 | ||
42 | #define DTT_GRAYED 0x1 | |
43 | ||
44 | HRESULT WINAPI DrawThemeText(HTHEME,HDC,int,int,LPCWSTR,int,DWORD,DWORD, | |
45 | const RECT*); | |
46 | ||
47 | #define ETDT_DISABLE 0x00000001 | |
48 | #define ETDT_ENABLE 0x00000002 | |
49 | #define ETDT_USETABTEXTURE 0x00000004 | |
50 | #define ETDT_ENABLETAB (ETDT_ENABLE|ETDT_USETABTEXTURE) | |
51 | ||
52 | HRESULT WINAPI EnableThemeDialogTexture(HWND,DWORD); | |
53 | HRESULT WINAPI EnableTheming(BOOL); | |
54 | HRESULT WINAPI GetCurrentThemeName(LPWSTR,int,LPWSTR,int,LPWSTR,int); | |
55 | ||
56 | #define STAP_ALLOW_NONCLIENT (1<<0) | |
57 | #define STAP_ALLOW_CONTROLS (1<<1) | |
58 | #define STAP_ALLOW_WEBCONTENT (1<<2) | |
59 | ||
60 | DWORD WINAPI GetThemeAppProperties(void); | |
61 | HRESULT WINAPI GetThemeBackgroundContentRect(HTHEME,HDC,int,int, | |
62 | const RECT*,RECT*); | |
63 | HRESULT WINAPI GetThemeBackgroundExtent(HTHEME,HDC,int,int,const RECT*,RECT*); | |
64 | HRESULT WINAPI GetThemeBackgroundRegion(HTHEME,HDC,int,int,const RECT*,HRGN*); | |
65 | HRESULT WINAPI GetThemeBool(HTHEME,int,int,int,BOOL*); | |
66 | HRESULT WINAPI GetThemeColor(HTHEME,int,int,int,COLORREF*); | |
67 | ||
68 | #if defined(__GNUC__) | |
69 | # define SZ_THDOCPROP_DISPLAYNAME (const WCHAR []){ 'D','i','s','p','l','a','y','N','a','m','e',0 } | |
70 | # define SZ_THDOCPROP_CANONICALNAME (const WCHAR []){ 'T','h','e','m','e','N','a','m','e',0 } | |
71 | # define SZ_THDOCPROP_TOOLTIP (const WCHAR []){ 'T','o','o','l','T','i','p',0 } | |
72 | # define SZ_THDOCPROP_AUTHOR (const WCHAR []){ 'a','u','t','h','o','r',0 } | |
73 | #else /* lif defined(_MSC_VER) */ | |
74 | # define SZ_THDOCPROP_DISPLAYNAME L"DisplayName" | |
75 | # define SZ_THDOCPROP_CANONICALNAME L"ThemeName" | |
76 | # define SZ_THDOCPROP_TOOLTIP L"ToolTip" | |
77 | # define SZ_THDOCPROP_AUTHOR L"author" | |
78 | /* | |
79 | #else | |
80 | static const WCHAR SZ_THDOCPROP_DISPLAYNAME[] = { 'D','i','s','p','l','a','y','N','a','m','e',0 }; | |
81 | static const WCHAR SZ_THDOCPROP_CANONICALNAME[] = { 'T','h','e','m','e','N','a','m','e',0 }; | |
82 | static const WCHAR SZ_THDOCPROP_TOOLTIP[] = { 'T','o','o','l','T','i','p',0 }; | |
83 | static const WCHAR SZ_THDOCPROP_AUTHOR[] = { 'a','u','t','h','o','r',0 }; | |
84 | */ | |
85 | #endif | |
86 | ||
87 | HRESULT WINAPI GetThemeDocumentationProperty(LPCWSTR,LPCWSTR,LPWSTR,int); | |
88 | HRESULT WINAPI GetThemeEnumValue(HTHEME,int,int,int,int*); | |
89 | HRESULT WINAPI GetThemeFilename(HTHEME,int,int,int,LPWSTR,int); | |
90 | HRESULT WINAPI GetThemeFont(HTHEME,HDC,int,int,int,LOGFONTW*); | |
91 | HRESULT WINAPI GetThemeInt(HTHEME,int,int,int,int*); | |
92 | ||
93 | #define MAX_INTLIST_COUNT 10 | |
94 | typedef struct _INTLIST { | |
95 | int iValueCount; | |
96 | int iValues[MAX_INTLIST_COUNT]; | |
97 | } INTLIST, *PINTLIST; | |
98 | ||
99 | HRESULT WINAPI GetThemeIntList(HTHEME,int,int,int,INTLIST*); | |
100 | ||
101 | typedef struct _MARGINS { | |
102 | int cxLeftWidth; | |
103 | int cxRightWidth; | |
104 | int cyTopHeight; | |
105 | int cyBottomHeight; | |
106 | } MARGINS, *PMARGINS; | |
107 | ||
108 | HRESULT WINAPI GetThemeMargins(HTHEME,HDC,int,int,int,RECT*,MARGINS*); | |
109 | HRESULT WINAPI GetThemeMetric(HTHEME,HDC,int,int,int,int*); | |
110 | ||
111 | typedef enum { | |
112 | TS_MIN, | |
113 | TS_TRUE, | |
114 | TS_DRAW | |
115 | } THEMESIZE; | |
116 | ||
117 | HRESULT WINAPI GetThemePartSize(HTHEME,HDC,int,int,RECT*,THEMESIZE,SIZE*); | |
118 | HRESULT WINAPI GetThemePosition(HTHEME,int,int,int,POINT*); | |
119 | ||
120 | typedef enum { | |
121 | PO_STATE, | |
122 | PO_PART, | |
123 | PO_CLASS, | |
124 | PO_GLOBAL, | |
125 | PO_NOTFOUND | |
126 | } PROPERTYORIGIN; | |
127 | ||
128 | HRESULT WINAPI GetThemePropertyOrigin(HTHEME,int,int,int,PROPERTYORIGIN*); | |
129 | HRESULT WINAPI GetThemeRect(HTHEME,int,int,int,RECT*); | |
130 | HRESULT WINAPI GetThemeString(HTHEME,int,int,int,LPWSTR,int); | |
131 | BOOL WINAPI GetThemeSysBool(HTHEME,int); | |
132 | COLORREF WINAPI GetThemeSysColor(HTHEME,int); | |
133 | HBRUSH WINAPI GetThemeSysColorBrush(HTHEME,int); | |
134 | HRESULT WINAPI GetThemeSysFont(HTHEME,int,LOGFONTW*); | |
135 | HRESULT WINAPI GetThemeSysInt(HTHEME,int,int*); | |
136 | int WINAPI GetThemeSysSize(HTHEME,int); | |
137 | HRESULT WINAPI GetThemeSysString(HTHEME,int,LPWSTR,int); | |
138 | HRESULT WINAPI GetThemeTextExtent(HTHEME,HDC,int,int,LPCWSTR,int,DWORD, | |
139 | const RECT*,RECT*); | |
140 | HRESULT WINAPI GetThemeTextMetrics(HTHEME,HDC,int,int,TEXTMETRICW*); | |
141 | HTHEME WINAPI GetWindowTheme(HWND); | |
142 | ||
143 | #define HTTB_BACKGROUNDSEG 0x0000 | |
144 | #define HTTB_FIXEDBORDER 0x0002 | |
145 | #define HTTB_CAPTION 0x0004 | |
146 | #define HTTB_RESIZINGBORDER_LEFT 0x0010 | |
147 | #define HTTB_RESIZINGBORDER_TOP 0x0020 | |
148 | #define HTTB_RESIZINGBORDER_RIGHT 0x0040 | |
149 | #define HTTB_RESIZINGBORDER_BOTTOM 0x0080 | |
150 | #define HTTB_RESIZINGBORDER \ | |
151 | (HTTB_RESIZINGBORDER_LEFT|HTTB_RESIZINGBORDER_TOP|\ | |
152 | HTTB_RESIZINGBORDER_RIGHT|HTTB_RESIZINGBORDER_BOTTOM) | |
153 | #define HTTB_SIZINGTEMPLATE 0x0100 | |
154 | #define HTTB_SYSTEMSIZINGMARGINS 0x0200 | |
155 | ||
156 | HRESULT WINAPI HitTestThemeBackground(HTHEME,HDC,int,int,DWORD,const RECT*, | |
157 | HRGN,POINT,WORD*); | |
158 | BOOL WINAPI IsAppThemed(void); | |
159 | BOOL WINAPI IsThemeActive(void); | |
160 | BOOL WINAPI IsThemeBackgroundPartiallyTransparent(HTHEME,int,int); | |
161 | BOOL WINAPI IsThemeDialogTextureEnabled(void); | |
162 | BOOL WINAPI IsThemePartDefined(HTHEME,int,int); | |
163 | HTHEME WINAPI OpenThemeData(HWND,LPCWSTR); | |
164 | void WINAPI SetThemeAppProperties(DWORD); | |
165 | HRESULT WINAPI SetWindowTheme(HWND,LPCWSTR,LPCWSTR); | |
166 | ||
167 | ||
168 | #endif | |
169 |