| 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 |
#define TMT_DISPLAYNAME 0x0259 |
| 39 |
#define TMT_TOOLTIP 0x025A |
| 40 |
#define TMT_COMPANY 0x025B |
| 41 |
#define TMT_AUTHOR 0x025C |
| 42 |
#define TMT_COPYRIGHT 0x025D |
| 43 |
#define TMT_URL 0x025E |
| 44 |
#define TMT_VERSION 0x025F |
| 45 |
#define TMT_DESCRIPTION 0x0260 |
| 46 |
#define TMT_CAPTIONFONT 0x0321 |
| 47 |
#define TMT_SMALLCAPTIONFONT 0x0322 |
| 48 |
#define TMT_MENUFONT 0x0323 |
| 49 |
#define TMT_STATUSFONT 0x0324 |
| 50 |
#define TMT_MSGBOXFONT 0x0325 |
| 51 |
#define TMT_ICONTITLEFONT 0x0326 |
| 52 |
#define TMT_FLATMENUS 0x03E9 |
| 53 |
#define TMT_MINCOLORDEPTH 0x0515 |
| 54 |
#define TMT_CSSNAME 0x0579 |
| 55 |
#define TMT_XMLNAME 0x057A |
| 56 |
#define TMT_SCROLLBAR 0x0641 |
| 57 |
#define TMT_BACKGROUND 0x0642 |
| 58 |
#define TMT_ACTIVECAPTION 0x0643 |
| 59 |
#define TMT_INACTIVECAPTION 0x0644 |
| 60 |
#define TMT_WINDOW 0x0646 |
| 61 |
#define TMT_WINDOWFRAME 0x0647 |
| 62 |
#define TMT_MENUTEXT 0x0648 |
| 63 |
#define TMT_WINDOWTEXT 0x0649 |
| 64 |
#define TMT_CAPTIONTEXT 0x064A |
| 65 |
#define TMT_ACTIVEBORDER 0x064B |
| 66 |
#define TMT_INACTIVEBORDER 0x064C |
| 67 |
#define TMT_APPWORKSPACE 0x064D |
| 68 |
#define TMT_HIGHLIGHT 0x064E |
| 69 |
#define TMT_HIGHLIGHTTEXT 0x064F |
| 70 |
#define TMT_BTNFACE 0x0650 |
| 71 |
#define TMT_BTNSHADOW 0x0651 |
| 72 |
#define TMT_GRAYTEXT 0x0652 |
| 73 |
#define TMT_BTNTEXT 0x0653 |
| 74 |
#define TMT_INACTIVECAPTIONTEXT 0x0654 |
| 75 |
#define TMT_BTNHIGHLIGHT 0x0655 |
| 76 |
#define TMT_DKSHADOW3D 0x0656 |
| 77 |
#define TMT_LIGHT3D 0x0657 |
| 78 |
#define TMT_INFOTEXT 0x0658 |
| 79 |
#define TMT_INFOBK 0x0659 |
| 80 |
#define TMT_BUTTONALTERNATEFACE 0x065A |
| 81 |
#define TMT_HOTTRACKING 0x065B |
| 82 |
#define TMT_GRADIENTACTIVECAPTION 0x065C |
| 83 |
#define TMT_GRADIENTINACTIVECAPTION 0x065D |
| 84 |
#define TMT_MENUHILIGHT 0x065E |
| 85 |
#define TMT_MENUBAR 0x065F |
| 86 |
#define TMT_TRANSPARENT 0x0899 |
| 87 |
#define TMT_AUTOSIZE 0x089A |
| 88 |
#define TMT_BORDERONLY 0x089B |
| 89 |
#define TMT_COMPOSITED 0x089C |
| 90 |
#define TMT_BGFILL 0x089D |
| 91 |
#define TMT_GLYPHTRANSPARENT 0x089E |
| 92 |
#define TMT_GLYPHONLY 0x089F |
| 93 |
#define TMT_ALWAYSSHOWSIZINGBAR 0x08A0 |
| 94 |
#define TMT_MIRRORIMAGE 0x08A1 |
| 95 |
#define TMT_UNIFORMSIZING 0x08A2 |
| 96 |
#define TMT_INTEGRALSIZING 0x08A3 |
| 97 |
#define TMT_SOURCEGROW 0x08A4 |
| 98 |
#define TMT_SOURCESHRINK 0x08A5 |
| 99 |
#define TMT_IMAGECOUNT 0x0961 |
| 100 |
#define TMT_ALPHALEVEL 0x0962 |
| 101 |
#define TMT_BORDERSIZE 0x0963 |
| 102 |
#define TMT_ROUNDCORNERWIDTH 0x0964 |
| 103 |
#define TMT_ROUNDCORNERHEIGHT 0x0965 |
| 104 |
#define TMT_GRADIENTRATIO1 0x0966 |
| 105 |
#define TMT_GRADIENTRATIO2 0x0967 |
| 106 |
#define TMT_GRADIENTRATIO3 0x0968 |
| 107 |
#define TMT_GRADIENTRATIO4 0x0969 |
| 108 |
#define TMT_GRADIENTRATIO5 0x096A |
| 109 |
#define TMT_PROGRESSCHUNKSIZE 0x096B |
| 110 |
#define TMT_PROGRESSSPACESIZE 0x096C |
| 111 |
#define TMT_SATURATION 0x096D |
| 112 |
#define TMT_TEXTBORDERSIZE 0x096E |
| 113 |
#define TMT_ALPHATHRESHOLD 0x096F |
| 114 |
#define TMT_WIDTH 0x0970 |
| 115 |
#define TMT_HEIGHT 0x0971 |
| 116 |
#define TMT_GLYPHINDEX 0x0972 |
| 117 |
#define TMT_TRUESIZESTRETCHMARK 0x0973 |
| 118 |
#define TMT_MINDPI1 0x0974 |
| 119 |
#define TMT_MINDPI2 0x0975 |
| 120 |
#define TMT_MINDPI3 0x0976 |
| 121 |
#define TMT_MINDPI4 0x0977 |
| 122 |
#define TMT_MINDPI5 0x0978 |
| 123 |
#define TMT_GLYPHFONT 0x0A29 |
| 124 |
#define TMT_IMAGEFILE 0x0BB9 |
| 125 |
#define TMT_IMAGEFILE1 0x0BBA |
| 126 |
#define TMT_IMAGEFILE2 0x0BBB |
| 127 |
#define TMT_IMAGEFILE3 0x0BBC |
| 128 |
#define TMT_IMAGEFILE4 0x0BBD |
| 129 |
#define TMT_IMAGEFILE5 0x0BBE |
| 130 |
#define TMT_STOCKIMAGEFILE 0x0BBF |
| 131 |
#define TMT_GLYPHIMAGEFILE 0x0BC0 |
| 132 |
#define TMT_TEXT 0x0C81 |
| 133 |
#define TMT_OFFSET 0x0D49 |
| 134 |
#define TMT_TEXTSHADOWOFFSET 0x0D4A |
| 135 |
#define TMT_MINSIZE 0x0D4B |
| 136 |
#define TMT_MINSIZE1 0x0D4C |
| 137 |
#define TMT_MINSIZE2 0x0D4D |
| 138 |
#define TMT_MINSIZE3 0x0D4E |
| 139 |
#define TMT_MINSIZE4 0x0D4F |
| 140 |
#define TMT_MINSIZE5 0x0D50 |
| 141 |
#define TMT_NORMALSIZE 0x0D51 |
| 142 |
#define TMT_SIZINGMARGINS 0x0E11 |
| 143 |
#define TMT_CONTENTMARGINS 0x0E12 |
| 144 |
#define TMT_CAPTIONMARGINS 0x0E13 |
| 145 |
#define TMT_BORDERCOLOR 0x0ED9 |
| 146 |
#define TMT_FILLCOLOR 0x0EDA |
| 147 |
#define TMT_TEXTCOLOR 0x0EDB |
| 148 |
#define TMT_EDGELIGHTCOLOR 0x0EDC |
| 149 |
#define TMT_EDGEHIGHLIGHTCOLOR 0x0EDD |
| 150 |
#define TMT_EDGESHADOWCOLOR 0x0EDE |
| 151 |
#define TMT_EDGEDKSHADOWCOLOR 0x0EDF |
| 152 |
#define TMT_EDGEFILLCOLOR 0x0EE0 |
| 153 |
#define TMT_TRANSPARENTCOLOR 0x0EE1 |
| 154 |
#define TMT_GRADIENTCOLOR1 0x0EE2 |
| 155 |
#define TMT_GRADIENTCOLOR2 0x0EE3 |
| 156 |
#define TMT_GRADIENTCOLOR3 0x0EE4 |
| 157 |
#define TMT_GRADIENTCOLOR4 0x0EE5 |
| 158 |
#define TMT_GRADIENTCOLOR5 0x0EE6 |
| 159 |
#define TMT_SHADOWCOLOR 0x0EE7 |
| 160 |
#define TMT_GLOWCOLOR 0x0EE8 |
| 161 |
#define TMT_TEXTBORDERCOLOR 0x0EE9 |
| 162 |
#define TMT_TEXTSHADOWCOLOR 0x0EEA |
| 163 |
#define TMT_GLYPHTEXTCOLOR 0x0EEB |
| 164 |
#define TMT_GLYPHTRANSPARENTCOLOR 0x0EEC |
| 165 |
#define TMT_FILLCOLORHINT 0x0EED |
| 166 |
#define TMT_BORDERCOLORHINT 0x0EEE |
| 167 |
#define TMT_ACCENTCOLORHINT 0x0EEF |
| 168 |
#define TMT_BGTYPE 0x0FA1 |
| 169 |
#define TMT_BORDERTYPE 0x0FA2 |
| 170 |
#define TMT_FILLTYPE 0x0FA3 |
| 171 |
#define TMT_SIZINGTYPE 0x0FA4 |
| 172 |
#define TMT_HALIGN 0x0FA5 |
| 173 |
#define TMT_CONTENTALIGNMENT 0x0FA6 |
| 174 |
#define TMT_VALIGN 0x0FA7 |
| 175 |
#define TMT_OFFSETTYPE 0x0FA8 |
| 176 |
#define TMT_ICONEFFECT 0x0FA9 |
| 177 |
#define TMT_TEXTSHADOWTYPE 0x0FAA |
| 178 |
#define TMT_IMAGELAYOUT 0x0FAB |
| 179 |
#define TMT_GLYPHTYPE 0x0FAC |
| 180 |
#define TMT_IMAGESELECTTYPE 0x0FAD |
| 181 |
#define TMT_GLYPHFONTSIZINGTYPE 0x0FAE |
| 182 |
#define TMT_TRUESIZESCALINGTYPE 0x0FAF |
| 183 |
#define TMT_USERPICTURE 0x1389 |
| 184 |
#define TMT_DEFAULTPANESIZE 0x138A |
| 185 |
#define TMT_BLENDCOLOR 0x138B |
| 186 |
#define BT_IMAGEFILE 0x0000 |
| 187 |
#define BT_BORDERFILL 0x0001 |
| 188 |
#define BT_NONE 0x0002 |
| 189 |
|
| 190 |
typedef enum PROPERTYORIGIN { |
| 191 |
PO_STATE = 0, |
| 192 |
PO_PART = 1, |
| 193 |
PO_CLASS = 2, |
| 194 |
PO_GLOBAL = 3, |
| 195 |
PO_NOTFOUND = 4 |
| 196 |
} PROPERTYORIGIN; |
| 197 |
typedef enum THEMESIZE { |
| 198 |
TS_MIN, |
| 199 |
TS_TRUE, |
| 200 |
TS_DRAW |
| 201 |
} THEME_SIZE; |
| 202 |
typedef struct _DTBGOPTS { |
| 203 |
DWORD dwSize; |
| 204 |
DWORD dwFlags; |
| 205 |
RECT rcClip; |
| 206 |
} DTBGOPTS, *PDTBGOPTS; |
| 207 |
#define MAX_INTLIST_COUNT 10 |
| 208 |
typedef struct _INTLIST { |
| 209 |
int iValueCount; |
| 210 |
int iValues[MAX_INTLIST_COUNT]; |
| 211 |
} INTLIST, *PINTLIST; |
| 212 |
typedef struct _MARGINS { |
| 213 |
int cxLeftWidth; |
| 214 |
int cxRightWidth; |
| 215 |
int cyTopHeight; |
| 216 |
int cyBottomHeight; |
| 217 |
} MARGINS, *PMARGINS; |
| 218 |
typedef HANDLE HTHEME; |
| 219 |
|
| 220 |
HRESULT WINAPI CloseThemeData(HTHEME); |
| 221 |
HRESULT WINAPI DrawThemeBackground(HTHEME,HDC,int,int,const RECT*,const RECT*); |
| 222 |
HRESULT WINAPI DrawThemeBackgroundEx(HTHEME,HDC,int,int,const RECT*,const DTBGOPTS*); |
| 223 |
HRESULT WINAPI DrawThemeEdge(HTHEME,HDC,int,int,const RECT*,UINT,UINT,RECT*); |
| 224 |
HRESULT WINAPI DrawThemeIcon(HTHEME,HDC,int,int,const RECT*,HIMAGELIST,int); |
| 225 |
HRESULT WINAPI DrawThemeParentBackground(HWND,HDC,RECT*); |
| 226 |
HRESULT WINAPI DrawThemeText(HTHEME,HDC,int,int,LPCWSTR,int,DWORD,DWORD,const RECT*); |
| 227 |
HRESULT WINAPI EnableThemeDialogTexture(HWND,DWORD); |
| 228 |
HRESULT WINAPI EnableTheming(BOOL); |
| 229 |
HRESULT WINAPI GetCurrentThemeName(LPWSTR,int,LPWSTR,int,LPWSTR,int); |
| 230 |
DWORD WINAPI GetThemeAppProperties(); |
| 231 |
HRESULT WINAPI GetThemeBackgroundContentRect(HTHEME,HDC,int,int,const RECT*,RECT*); |
| 232 |
HRESULT WINAPI GetThemeBackgroundExtent(HTHEME,HDC,int,int,const RECT*,RECT*); |
| 233 |
HRESULT WINAPI GetThemeBackgroundRegion(HTHEME,HDC,int,int,const RECT*,HRGN*); |
| 234 |
HRESULT WINAPI GetThemeBool(HTHEME,int,int,int,BOOL*); |
| 235 |
HRESULT WINAPI GetThemeColor(HTHEME,int,int,int,COLORREF*); |
| 236 |
HRESULT WINAPI GetThemeDocumentationProperty(LPCWSTR,LPCWSTR,LPWSTR,int); |
| 237 |
HRESULT WINAPI GetThemeEnumValue(HTHEME,int,int,int,int*); |
| 238 |
HRESULT WINAPI GetThemeFilename(HTHEME,int,int,int,LPWSTR,int); |
| 239 |
HRESULT WINAPI GetThemeFont(HTHEME,HDC,int,int,int,LOGFONT*); |
| 240 |
HRESULT WINAPI GetThemeInt(HTHEME,int,int,int,int*); |
| 241 |
HRESULT WINAPI GetThemeIntList(HTHEME,int,int,int,INTLIST*); |
| 242 |
HRESULT WINAPI GetThemeMargins(HTHEME,HDC,int,int,int,RECT*,MARGINS*); |
| 243 |
HRESULT WINAPI GetThemeMetric(HTHEME,HDC,int,int,int,int*); |
| 244 |
HRESULT WINAPI GetThemePartSize(HTHEME,HDC,int,int,RECT*,THEME_SIZE,SIZE*); |
| 245 |
HRESULT WINAPI GetThemePosition(HTHEME,int,int,int,POINT*); |
| 246 |
HRESULT WINAPI GetThemePropertyOrigin(HTHEME,int,int,int,PROPERTYORIGIN*); |
| 247 |
HRESULT WINAPI GetThemeRect(HTHEME,int,int,int,RECT*); |
| 248 |
HRESULT WINAPI GetThemeString(HTHEME,int,int,int,LPWSTR,int); |
| 249 |
BOOL WINAPI GetThemeSysBool(HTHEME,int); |
| 250 |
COLORREF WINAPI GetThemeSysColor(HTHEME,int); |
| 251 |
HBRUSH WINAPI GetThemeSysColorBrush(HTHEME,int); |
| 252 |
HRESULT WINAPI GetThemeSysFont(HTHEME,int,LOGFONT*); |
| 253 |
HRESULT WINAPI GetThemeSysInt(HTHEME,int,int*); |
| 254 |
int WINAPI GetThemeSysSize(HTHEME,int); |
| 255 |
HRESULT WINAPI GetThemeSysString(HTHEME,int,LPWSTR,int); |
| 256 |
HRESULT WINAPI GetThemeTextExtent(HTHEME,HDC,int,int,LPCWSTR,int,DWORD,const RECT*,RECT*); |
| 257 |
HRESULT WINAPI GetThemeTextMetrics(HTHEME,HDC,int,int,TEXTMETRIC*); |
| 258 |
HTHEME WINAPI GetWindowTheme(HWND); |
| 259 |
HRESULT WINAPI HitTestThemeBackground(HTHEME,HDC,int,int,DWORD,const RECT*,HRGN,POINT,WORD*); |
| 260 |
BOOL WINAPI IsAppThemed(); |
| 261 |
BOOL WINAPI IsThemeActive(); |
| 262 |
BOOL WINAPI IsThemeBackgroundPartiallyTransparent(HTHEME,int,int); |
| 263 |
BOOL WINAPI IsThemeDialogTextureEnabled(HWND); |
| 264 |
BOOL WINAPI IsThemePartDefined(HTHEME,int,int); |
| 265 |
HTHEME WINAPI OpenThemeData(HWND,LPCWSTR); |
| 266 |
void WINAPI SetThemeAppProperties(DWORD); |
| 267 |
HRESULT WINAPI SetWindowTheme(HWND,LPCWSTR,LPCWSTR); |
| 268 |
#endif |
| 269 |
|
| 270 |
#ifdef __cplusplus |
| 271 |
} |
| 272 |
#endif |
| 273 |
#endif |