Mercurial > games > semicongine
comparison fuhtark_test/include/winapi/uxtheme.h @ 1500:91c8c3b7cbf0
add: futhark tests for generating vulkan api
| author | sam <sam@basx.dev> |
|---|---|
| date | Wed, 26 Nov 2025 21:36:48 +0700 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 1499:1f58458b7ef7 | 1500:91c8c3b7cbf0 |
|---|---|
| 1 /** | |
| 2 * This file has no copyright assigned and is placed in the Public Domain. | |
| 3 * This file is part of the w64 mingw-runtime package. | |
| 4 * No warranty is given; refer to the file DISCLAIMER within this package. | |
| 5 */ | |
| 6 #ifndef _UXTHEME_H_ | |
| 7 #define _UXTHEME_H_ | |
| 8 | |
| 9 #include <commctrl.h> | |
| 10 | |
| 11 #ifndef THEMEAPI | |
| 12 #if !defined(_UXTHEME_) | |
| 13 #define THEMEAPI EXTERN_C DECLSPEC_IMPORT HRESULT WINAPI | |
| 14 #define THEMEAPI_(type) EXTERN_C DECLSPEC_IMPORT type WINAPI | |
| 15 #else | |
| 16 #define THEMEAPI STDAPI | |
| 17 #define THEMEAPI_(type) STDAPI_(type) | |
| 18 #endif | |
| 19 #endif | |
| 20 | |
| 21 typedef HANDLE HTHEME; | |
| 22 | |
| 23 #if _WIN32_WINNT >= 0x0600 | |
| 24 | |
| 25 DECLARE_HANDLE(HPAINTBUFFER); | |
| 26 | |
| 27 typedef enum _BP_BUFFERFORMAT { | |
| 28 BPBF_COMPATIBLEBITMAP, BPBF_DIB, BPBF_TOPDOWNDIB, BPBF_TOPDOWNMONODIB | |
| 29 } BP_BUFFERFORMAT; | |
| 30 | |
| 31 typedef struct _BP_PAINTPARAMS { | |
| 32 DWORD cbSize; | |
| 33 DWORD dwFlags; | |
| 34 const RECT *prcExclude; | |
| 35 const BLENDFUNCTION *pBlendFunction; | |
| 36 } BP_PAINTPARAMS, *PBP_PAINTPARAMS; | |
| 37 | |
| 38 THEMEAPI_(HPAINTBUFFER) BeginBufferedPaint(HDC hdcTarget,const RECT *prcTarget,BP_BUFFERFORMAT dwFormat, | |
| 39 BP_PAINTPARAMS *pPaintParams,HDC *phdc); | |
| 40 THEMEAPI_(HRESULT) EndBufferedPaint(HPAINTBUFFER hBufferedPaint,BOOL fUpdateTarget); | |
| 41 THEMEAPI_(HRESULT) GetBufferedPaintTargetRect(HPAINTBUFFER hBufferedPaint,RECT *prc); | |
| 42 THEMEAPI_(HDC) GetBufferedPaintTargetDC(HPAINTBUFFER hBufferedPaint); | |
| 43 THEMEAPI_(HDC) GetBufferedPaintDC(HPAINTBUFFER hBufferedPaint); | |
| 44 THEMEAPI_(HRESULT) GetBufferedPaintBits(HPAINTBUFFER hBufferedPaint,RGBQUAD **ppbBuffer,int *pcxRow); | |
| 45 THEMEAPI_(HRESULT) BufferedPaintClear(HPAINTBUFFER hBufferedPaint,const RECT *prc); | |
| 46 THEMEAPI_(HRESULT) BufferedPaintSetAlpha(HPAINTBUFFER hBufferedPaint,const RECT *prc,BYTE alpha); | |
| 47 THEMEAPI_(HRESULT) BufferedPaintInit(VOID); | |
| 48 THEMEAPI_(HRESULT) BufferedPaintUnInit(VOID); | |
| 49 | |
| 50 #endif | |
| 51 | |
| 52 THEMEAPI_(HTHEME) OpenThemeData(HWND hwnd,LPCWSTR pszClassList); | |
| 53 THEMEAPI CloseThemeData(HTHEME hTheme); | |
| 54 THEMEAPI DrawThemeBackground(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,const RECT *pRect,const RECT *pClipRect); | |
| 55 | |
| 56 #define DTT_GRAYED 0x1 | |
| 57 | |
| 58 THEMEAPI DrawThemeText(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,LPCWSTR pszText,int iCharCount,DWORD dwTextFlags,DWORD dwTextFlags2,const RECT *pRect); | |
| 59 THEMEAPI GetThemeBackgroundContentRect(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,const RECT *pBoundingRect,RECT *pContentRect); | |
| 60 THEMEAPI GetThemeBackgroundExtent(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,const RECT *pContentRect,RECT *pExtentRect); | |
| 61 | |
| 62 typedef enum THEMESIZE { | |
| 63 TS_MIN,TS_TRUE,TS_DRAW | |
| 64 } THEMESIZE; | |
| 65 | |
| 66 THEMEAPI GetThemePartSize(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,RECT *prc,enum THEMESIZE eSize,SIZE *psz); | |
| 67 THEMEAPI GetThemeTextExtent(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,LPCWSTR pszText,int iCharCount,DWORD dwTextFlags,const RECT *pBoundingRect,RECT *pExtentRect); | |
| 68 THEMEAPI GetThemeTextMetrics(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,TEXTMETRIC *ptm); | |
| 69 THEMEAPI GetThemeBackgroundRegion(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,const RECT *pRect,HRGN *pRegion); | |
| 70 | |
| 71 #define HTTB_BACKGROUNDSEG 0x0000 | |
| 72 #define HTTB_FIXEDBORDER 0x0002 | |
| 73 #define HTTB_CAPTION 0x0004 | |
| 74 #define HTTB_RESIZINGBORDER_LEFT 0x0010 | |
| 75 #define HTTB_RESIZINGBORDER_TOP 0x0020 | |
| 76 #define HTTB_RESIZINGBORDER_RIGHT 0x0040 | |
| 77 #define HTTB_RESIZINGBORDER_BOTTOM 0x0080 | |
| 78 | |
| 79 #define HTTB_RESIZINGBORDER (HTTB_RESIZINGBORDER_LEFT|HTTB_RESIZINGBORDER_TOP| HTTB_RESIZINGBORDER_RIGHT|HTTB_RESIZINGBORDER_BOTTOM) | |
| 80 | |
| 81 #define HTTB_SIZINGTEMPLATE 0x0100 | |
| 82 #define HTTB_SYSTEMSIZINGMARGINS 0x0200 | |
| 83 | |
| 84 THEMEAPI HitTestThemeBackground(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,DWORD dwOptions,const RECT *pRect,HRGN hrgn,POINT ptTest,WORD *pwHitTestCode); | |
| 85 THEMEAPI DrawThemeEdge(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,const RECT *pDestRect,UINT uEdge,UINT uFlags,RECT *pContentRect); | |
| 86 THEMEAPI DrawThemeIcon(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,const RECT *pRect,HIMAGELIST himl,int iImageIndex); | |
| 87 THEMEAPI_(WINBOOL) IsThemePartDefined(HTHEME hTheme,int iPartId,int iStateId); | |
| 88 THEMEAPI_(WINBOOL) IsThemeBackgroundPartiallyTransparent(HTHEME hTheme,int iPartId,int iStateId); | |
| 89 THEMEAPI GetThemeColor(HTHEME hTheme,int iPartId,int iStateId,int iPropId,COLORREF *pColor); | |
| 90 THEMEAPI GetThemeMetric(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,int iPropId,int *piVal); | |
| 91 THEMEAPI GetThemeString(HTHEME hTheme,int iPartId,int iStateId,int iPropId,LPWSTR pszBuff,int cchMaxBuffChars); | |
| 92 THEMEAPI GetThemeBool(HTHEME hTheme,int iPartId,int iStateId,int iPropId,WINBOOL *pfVal); | |
| 93 THEMEAPI GetThemeInt(HTHEME hTheme,int iPartId,int iStateId,int iPropId,int *piVal); | |
| 94 THEMEAPI GetThemeEnumValue(HTHEME hTheme,int iPartId,int iStateId,int iPropId,int *piVal); | |
| 95 THEMEAPI GetThemePosition(HTHEME hTheme,int iPartId,int iStateId,int iPropId,POINT *pPoint); | |
| 96 THEMEAPI GetThemeFont(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,int iPropId,LOGFONT *pFont); | |
| 97 THEMEAPI GetThemeRect(HTHEME hTheme,int iPartId,int iStateId,int iPropId,RECT *pRect); | |
| 98 | |
| 99 typedef struct _MARGINS { | |
| 100 int cxLeftWidth; | |
| 101 int cxRightWidth; | |
| 102 int cyTopHeight; | |
| 103 int cyBottomHeight; | |
| 104 } MARGINS,*PMARGINS; | |
| 105 | |
| 106 THEMEAPI GetThemeMargins(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,int iPropId,RECT *prc,MARGINS *pMargins); | |
| 107 | |
| 108 #define MAX_INTLIST_COUNT 10 | |
| 109 | |
| 110 typedef struct _INTLIST { | |
| 111 int iValueCount; | |
| 112 int iValues[MAX_INTLIST_COUNT]; | |
| 113 } INTLIST,*PINTLIST; | |
| 114 | |
| 115 THEMEAPI GetThemeIntList(HTHEME hTheme,int iPartId,int iStateId,int iPropId,INTLIST *pIntList); | |
| 116 | |
| 117 typedef enum PROPERTYORIGIN { | |
| 118 PO_STATE,PO_PART,PO_CLASS,PO_GLOBAL,PO_NOTFOUND | |
| 119 } PROPERTYORIGIN; | |
| 120 | |
| 121 THEMEAPI GetThemePropertyOrigin(HTHEME hTheme,int iPartId,int iStateId,int iPropId,enum PROPERTYORIGIN *pOrigin); | |
| 122 THEMEAPI SetWindowTheme(HWND hwnd,LPCWSTR pszSubAppName,LPCWSTR pszSubIdList); | |
| 123 THEMEAPI GetThemeFilename(HTHEME hTheme,int iPartId,int iStateId,int iPropId,LPWSTR pszThemeFileName,int cchMaxBuffChars); | |
| 124 THEMEAPI_(COLORREF) GetThemeSysColor(HTHEME hTheme,int iColorId); | |
| 125 THEMEAPI_(HBRUSH) GetThemeSysColorBrush(HTHEME hTheme,int iColorId); | |
| 126 THEMEAPI_(WINBOOL) GetThemeSysBool(HTHEME hTheme,int iBoolId); | |
| 127 THEMEAPI_(int) GetThemeSysSize(HTHEME hTheme,int iSizeId); | |
| 128 THEMEAPI GetThemeSysFont(HTHEME hTheme,int iFontId,LOGFONT *plf); | |
| 129 THEMEAPI GetThemeSysString(HTHEME hTheme,int iStringId,LPWSTR pszStringBuff,int cchMaxStringChars); | |
| 130 THEMEAPI GetThemeSysInt(HTHEME hTheme,int iIntId,int *piValue); | |
| 131 THEMEAPI_(WINBOOL) IsThemeActive(); | |
| 132 THEMEAPI_(WINBOOL) IsAppThemed(); | |
| 133 THEMEAPI_(HTHEME) GetWindowTheme(HWND hwnd); | |
| 134 | |
| 135 #define ETDT_DISABLE 0x00000001 | |
| 136 #define ETDT_ENABLE 0x00000002 | |
| 137 #define ETDT_USETABTEXTURE 0x00000004 | |
| 138 #define ETDT_ENABLETAB (ETDT_ENABLE | ETDT_USETABTEXTURE) | |
| 139 | |
| 140 THEMEAPI EnableThemeDialogTexture(HWND hwnd,DWORD dwFlags); | |
| 141 THEMEAPI_(WINBOOL) IsThemeDialogTextureEnabled(HWND hwnd); | |
| 142 | |
| 143 #define STAP_ALLOW_NONCLIENT (1 << 0) | |
| 144 #define STAP_ALLOW_CONTROLS (1 << 1) | |
| 145 #define STAP_ALLOW_WEBCONTENT (1 << 2) | |
| 146 | |
| 147 THEMEAPI_(DWORD) GetThemeAppProperties(); | |
| 148 THEMEAPI_(void) SetThemeAppProperties(DWORD dwFlags); | |
| 149 THEMEAPI GetCurrentThemeName(LPWSTR pszThemeFileName,int cchMaxNameChars,LPWSTR pszColorBuff,int cchMaxColorChars,LPWSTR pszSizeBuff,int cchMaxSizeChars); | |
| 150 | |
| 151 #define SZ_THDOCPROP_DISPLAYNAME L"DisplayName" | |
| 152 #define SZ_THDOCPROP_CANONICALNAME L"ThemeName" | |
| 153 #define SZ_THDOCPROP_TOOLTIP L"ToolTip" | |
| 154 #define SZ_THDOCPROP_AUTHOR L"author" | |
| 155 | |
| 156 THEMEAPI GetThemeDocumentationProperty(LPCWSTR pszThemeName,LPCWSTR pszPropertyName,LPWSTR pszValueBuff,int cchMaxValChars); | |
| 157 THEMEAPI DrawThemeParentBackground(HWND hwnd,HDC hdc,RECT *prc); | |
| 158 THEMEAPI EnableTheming(WINBOOL fEnable); | |
| 159 | |
| 160 #define DTBG_CLIPRECT 0x00000001 | |
| 161 #define DTBG_DRAWSOLID 0x00000002 | |
| 162 #define DTBG_OMITBORDER 0x00000004 | |
| 163 #define DTBG_OMITCONTENT 0x00000008 | |
| 164 | |
| 165 #define DTBG_COMPUTINGREGION 0x00000010 | |
| 166 | |
| 167 #define DTBG_MIRRORDC 0x00000020 | |
| 168 | |
| 169 typedef struct _DTBGOPTS { | |
| 170 DWORD dwSize; | |
| 171 DWORD dwFlags; | |
| 172 RECT rcClip; | |
| 173 } DTBGOPTS,*PDTBGOPTS; | |
| 174 | |
| 175 THEMEAPI DrawThemeBackgroundEx(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,const RECT *pRect,const DTBGOPTS *pOptions); | |
| 176 #endif |
