]>
git.saurik.com Git - wxWidgets.git/blob - include/wx/msw/uxthemep.h
2 * Win32 5.1 theme definitions
4 * Copyright (C) 2003 Kevin Koltzau
6 * Originally written for the Wine project, and issued under
7 * the wxWindows licence by kind permission of the author.
9 * Licence: wxWindows licence
12 #ifndef __WINE_UXTHEME_H
13 #define __WINE_UXTHEME_H
15 #include "wx/msw/wrapcctl.h"
17 typedef HANDLE HTHEME
;
19 HRESULT WINAPI
CloseThemeData(HTHEME hTheme
);
20 HRESULT WINAPI
DrawThemeBackground(HTHEME
,HDC
,int,int,const RECT
*,const RECT
*);
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
29 typedef struct _DTBGOPTS
{
33 } DTBGOPTS
, *PDTBGOPTS
;
35 HRESULT WINAPI
DrawThemeBackgroundEx(HTHEME
,HDC
,int,int,const RECT
*,
37 HRESULT WINAPI
DrawThemeEdge(HTHEME
,HDC
,int,int,const RECT
*,UINT
,UINT
,
39 HRESULT WINAPI
DrawThemeIcon(HTHEME
,HDC
,int,int,const RECT
*,HIMAGELIST
,int);
40 HRESULT WINAPI
DrawThemeParentBackground(HWND
,HDC
,RECT
*);
42 #define DTT_GRAYED 0x1
44 HRESULT WINAPI
DrawThemeText(HTHEME
,HDC
,int,int,LPCWSTR
,int,DWORD
,DWORD
,
47 #define ETDT_DISABLE 0x00000001
48 #define ETDT_ENABLE 0x00000002
49 #define ETDT_USETABTEXTURE 0x00000004
50 #define ETDT_ENABLETAB (ETDT_ENABLE|ETDT_USETABTEXTURE)
52 HRESULT WINAPI
EnableThemeDialogTexture(HWND
,DWORD
);
53 HRESULT WINAPI
EnableTheming(BOOL
);
54 HRESULT WINAPI
GetCurrentThemeName(LPWSTR
,int,LPWSTR
,int,LPWSTR
,int);
56 #define STAP_ALLOW_NONCLIENT (1<<0)
57 #define STAP_ALLOW_CONTROLS (1<<1)
58 #define STAP_ALLOW_WEBCONTENT (1<<2)
60 DWORD WINAPI
GetThemeAppProperties(void);
61 HRESULT WINAPI
GetThemeBackgroundContentRect(HTHEME
,HDC
,int,int,
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
*);
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"
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 };
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*);
93 #define MAX_INTLIST_COUNT 10
94 typedef struct _INTLIST
{
96 int iValues
[MAX_INTLIST_COUNT
];
99 HRESULT WINAPI
GetThemeIntList(HTHEME
,int,int,int,INTLIST
*);
101 typedef struct _MARGINS
{
106 } MARGINS
, *PMARGINS
;
108 HRESULT WINAPI
GetThemeMargins(HTHEME
,HDC
,int,int,int,RECT
*,MARGINS
*);
109 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
*);
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
,
140 HRESULT WINAPI
GetThemeTextMetrics(HTHEME
,HDC
,int,int,TEXTMETRICW
*);
141 HTHEME WINAPI
GetWindowTheme(HWND
);
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
156 HRESULT WINAPI
HitTestThemeBackground(HTHEME
,HDC
,int,int,DWORD
,const RECT
*,
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
);