...
From 82cc644bd715390c761976c66bc988a21cfb7990 Mon Sep 17 00:00:00 2001
From: Biswapriyo Nath <[email protected]>
Date: Fri, 20 Sep 2019 23:27:20 +0530
Subject: [PATCH] include/uxtheme: update header file

Signed-off-by: Biswapriyo Nath <[email protected]>
---
 mingw-w64-headers/include/uxtheme.h | 145 +++++++++++++++++++++++++---
 1 file changed, 130 insertions(+), 15 deletions(-)

diff --git a/mingw-w64-headers/include/uxtheme.h b/mingw-w64-headers/include/uxtheme.h
index 84e78efb..61539860 100644
--- a/mingw-w64-headers/include/uxtheme.h
+++ b/mingw-w64-headers/include/uxtheme.h
@@ -20,13 +20,113 @@
 
 typedef HANDLE HTHEME;
 
+#if (NTDDI_VERSION >= NTDDI_VISTA)
+#define MAX_THEMECOLOR 64
+#define MAX_THEMESIZE 64
+#endif
+
 #if (NTDDI_VERSION >= NTDDI_WIN7)
 THEMEAPI_(WINBOOL) BeginPanningFeedback(HWND hwnd);
 THEMEAPI_(WINBOOL) UpdatePanningFeedback(HWND hwnd,LONG lTotalOverpanOffsetX,LONG lTotalOverpanOffsetY,WINBOOL fInInertia);
 THEMEAPI_(WINBOOL) EndPanningFeedback(HWND hwnd,WINBOOL fAnimateBack);
 #endif
 
-#if _WIN32_WINNT >= 0x0600
+#if (NTDDI_VERSION >= NTDDI_WIN8)
+
+typedef enum TA_PROPERTY {
+    TAP_FLAGS,
+    TAP_TRANSFORMCOUNT,
+    TAP_STAGGERDELAY,
+    TAP_STAGGERDELAYCAP,
+    TAP_STAGGERDELAYFACTOR,
+    TAP_ZORDER,
+} TA_PROPERTY;
+
+typedef enum TA_PROPERTY_FLAG {
+    TAPF_NONE = 0x0,
+    TAPF_HASSTAGGER = 0x1,
+    TAPF_ISRTLAWARE = 0x2,
+    TAPF_ALLOWCOLLECTION = 0x4,
+    TAPF_HASBACKGROUND = 0x8,
+    TAPF_HASPERSPECTIVE = 0x10,
+} TA_PROPERTY_FLAG;
+
+THEMEAPI GetThemeAnimationProperty(HTHEME hTheme, int iStoryboardId, int iTargetId, TA_PROPERTY eProperty, VOID *pvProperty, DWORD cbSize, DWORD *pcbSizeOut);
+
+typedef enum TA_TRANSFORM_TYPE {
+    TATT_TRANSLATE_2D,
+    TATT_SCALE_2D,
+    TATT_OPACITY,
+    TATT_CLIP,
+} TA_TRANSFORM_TYPE;
+
+typedef enum TA_TRANSFORM_FLAG {
+    TATF_NONE = 0x0,
+    TATF_TARGETVALUES_USER = 0x1,
+    TATF_HASINITIALVALUES = 0x2,
+    TATF_HASORIGINVALUES = 0x4,
+} TA_TRANSFORM_FLAG;
+
+typedef struct TA_TRANSFORM {
+    TA_TRANSFORM_TYPE eTransformType;
+    DWORD dwTimingFunctionId;
+    DWORD dwStartTime;
+    DWORD dwDurationTime;
+    TA_TRANSFORM_FLAG eFlags;
+} TA_TRANSFORM, *PTA_TRANSFORM;
+
+typedef struct TA_TRANSFORM_2D {
+    TA_TRANSFORM header;
+    float rX;
+    float rY;
+    float rInitialX;
+    float rInitialY;
+    float rOriginX;
+    float rOriginY;
+} TA_TRANSFORM_2D, *PTA_TRANSFORM_2D;
+
+typedef struct TA_TRANSFORM_OPACITY {
+    TA_TRANSFORM header;
+    float rOpacity;
+    float rInitialOpacity;
+} TA_TRANSFORM_OPACITY, *PTA_TRANSFORM_OPACITY;
+
+typedef struct TA_TRANSFORM_CLIP {
+    TA_TRANSFORM header;
+    float rLeft;
+    float rTop;
+    float rRight;
+    float rBottom;
+    float rInitialLeft;
+    float rInitialTop;
+    float rInitialRight;
+    float rInitialBottom;
+} TA_TRANSFORM_CLIP, *PTA_TRANSFORM_CLIP;
+
+THEMEAPI GetThemeAnimationTransform(HTHEME hTheme, int iStoryboardId, int iTargetId, DWORD dwTransformIndex, TA_TRANSFORM *pTransform, DWORD cbSize, DWORD *pcbSizeOut);
+
+typedef enum TA_TIMINGFUNCTION_TYPE {
+    TTFT_UNDEFINED,
+    TTFT_CUBIC_BEZIER,
+} TA_TIMINGFUNCTION_TYPE;
+
+typedef struct TA_TIMINGFUNCTION {
+    TA_TIMINGFUNCTION_TYPE eTimingFunctionType;
+} TA_TIMINGFUNCTION, *PTA_TIMINGFUNCTION;
+
+typedef struct TA_CUBIC_BEZIER {
+    TA_TIMINGFUNCTION header;
+    float rX0;
+    float rY0;
+    float rX1;
+    float rY1;
+} TA_CUBIC_BEZIER, *PTA_CUBIC_BEZIER;
+
+THEMEAPI GetThemeTimingFunction(HTHEME hTheme, int iTimingFunctionId, TA_TIMINGFUNCTION *pTimingFunction, DWORD cbSize, DWORD *pcbSizeOut);
+
+#endif
+
+#if (NTDDI_VERSION >= NTDDI_VISTA)
 
 #define GBF_DIRECT 0x00000001
 #define GBF_COPY 0x00000002
@@ -39,9 +139,14 @@ THEMEAPI GetThemeTransitionDuration(HTHEME hTheme,int iPartId,int iStateIdFrom,i
 DECLARE_HANDLE(HPAINTBUFFER);
 
 typedef enum _BP_BUFFERFORMAT {
-    BPBF_COMPATIBLEBITMAP, BPBF_DIB, BPBF_TOPDOWNDIB, BPBF_TOPDOWNMONODIB
+    BPBF_COMPATIBLEBITMAP,
+    BPBF_DIB,
+    BPBF_TOPDOWNDIB,
+    BPBF_TOPDOWNMONODIB
 } BP_BUFFERFORMAT;
 
+#define BPBF_COMPOSITED BPBF_TOPDOWNDIB
+
 #define BPPF_ERASE     0x00000001
 #define BPPF_NOCLIP    0x00000002
 #define BPPF_NONCLIENT 0x00000004
@@ -61,13 +166,17 @@ THEMEAPI_(HDC) GetBufferedPaintDC(HPAINTBUFFER hBufferedPaint);
 THEMEAPI_(HRESULT) GetBufferedPaintBits(HPAINTBUFFER hBufferedPaint,RGBQUAD **ppbBuffer,int *pcxRow);
 THEMEAPI_(HRESULT) BufferedPaintClear(HPAINTBUFFER hBufferedPaint,const RECT *prc);
 THEMEAPI_(HRESULT) BufferedPaintSetAlpha(HPAINTBUFFER hBufferedPaint,const RECT *prc,BYTE alpha);
+#define BufferedPaintMakeOpaque(hBufferedPaint, prc) BufferedPaintSetAlpha(hBufferedPaint, prc, 255)
 THEMEAPI_(HRESULT) BufferedPaintInit(VOID);
 THEMEAPI_(HRESULT) BufferedPaintUnInit(VOID);
 
 DECLARE_HANDLE(HANIMATIONBUFFER);
 
 typedef enum _BP_ANIMATIONSTYLE {
-    BPAS_NONE, BPAS_LINEAR, BPAS_CUBIC, BPAS_SINE
+    BPAS_NONE,
+    BPAS_LINEAR,
+    BPAS_CUBIC,
+    BPAS_SINE
 } BP_ANIMATIONSTYLE;
 
 typedef struct _BP_ANIMATIONPARAMS {
@@ -87,7 +196,7 @@ typedef enum WINDOWTHEMEATTRIBUTETYPE {
     WTA_NONCLIENT = 1 
 } WINDOWTHEMEATTRIBUTETYPE;
 
-typedef struct WTA_OPTIONS {
+typedef struct _WTA_OPTIONS {
     DWORD dwFlags;
     DWORD dwMask;
 } WTA_OPTIONS, *PWTA_OPTIONS;
@@ -110,21 +219,20 @@ static __inline HRESULT SetWindowThemeNonClientAttributes(HWND hwnd,DWORD dwMask
 
 THEMEAPI_(HTHEME) OpenThemeData(HWND hwnd,LPCWSTR pszClassList);
 
-#if (_WIN32_WINNT >= 0x0600)
 #define OTD_FORCE_RECT_SIZING 0x00000001
 #define OTD_NONCLIENT 0x00000002
 #define OTD_VALIDBITS (OTD_FORCE_RECT_SIZING | OTD_NONCLIENT)
+THEMEAPI_(HTHEME) OpenThemeDataForDpi(HWND hwnd, LPCWSTR pszClassList, UINT dpi);
 THEMEAPI_(HTHEME) OpenThemeDataEx(HWND hwnd,LPCWSTR pszClassList,DWORD dwFlags);
-#endif
-
 THEMEAPI CloseThemeData(HTHEME hTheme);
 THEMEAPI DrawThemeBackground(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,const RECT *pRect,const RECT *pClipRect);
 
-#define DTT_GRAYED 0x1
+#define DTT_GRAYED 0x00000001
+#define DTT_FLAGS2VALIDBITS DTT_GRAYED
 
 THEMEAPI DrawThemeText(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,LPCWSTR pszText,int iCharCount,DWORD dwTextFlags,DWORD dwTextFlags2,const RECT *pRect);
 
-#if (_WIN32_WINNT >= 0x0600)
+#if (NTDDI_VERSION >= NTDDI_VISTA)
 
 #define DTT_TEXTCOLOR (__MSABI_LONG(1U) << 0)
 #define DTT_BORDERCOLOR (__MSABI_LONG(1U) << 1)
@@ -170,7 +278,9 @@ THEMEAPI GetThemeBackgroundContentRect(HTHEME hTheme,HDC hdc,int iPartId,int iSt
 THEMEAPI GetThemeBackgroundExtent(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,const RECT *pContentRect,RECT *pExtentRect);
 
 typedef enum THEMESIZE {
-  TS_MIN,TS_TRUE,TS_DRAW
+    TS_MIN,
+    TS_TRUE,
+    TS_DRAW
 } THEMESIZE;
 
 THEMEAPI GetThemePartSize(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,RECT *prc,enum THEMESIZE eSize,SIZE *psz);
@@ -215,7 +325,7 @@ typedef struct _MARGINS {
 
 THEMEAPI GetThemeMargins(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,int iPropId,RECT *prc,MARGINS *pMargins);
 
-#if (_WIN32_WINNT >= 0x0600)
+#if (NTDDI_VERSION >= NTDDI_VISTA)
 #define MAX_INTLIST_COUNT 402
 #else
 #define MAX_INTLIST_COUNT 10
@@ -229,7 +339,11 @@ typedef struct _INTLIST {
 THEMEAPI GetThemeIntList(HTHEME hTheme,int iPartId,int iStateId,int iPropId,INTLIST *pIntList);
 
 typedef enum PROPERTYORIGIN {
-  PO_STATE,PO_PART,PO_CLASS,PO_GLOBAL,PO_NOTFOUND
+    PO_STATE,
+    PO_PART,
+    PO_CLASS,
+    PO_GLOBAL,
+    PO_NOTFOUND
 } PROPERTYORIGIN;
 
 THEMEAPI GetThemePropertyOrigin(HTHEME hTheme,int iPartId,int iStateId,int iPropId,enum PROPERTYORIGIN *pOrigin);
@@ -250,7 +364,7 @@ THEMEAPI_(HTHEME) GetWindowTheme(HWND hwnd);
 #define ETDT_ENABLE 0x00000002
 #define ETDT_USETABTEXTURE 0x00000004
 #define ETDT_ENABLETAB (ETDT_ENABLE | ETDT_USETABTEXTURE)
-#if (_WIN32_WINNT >= 0x0600)
+#if (NTDDI_VERSION >= NTDDI_VISTA)
 #define ETDT_USEAEROWIZARDTABTEXTURE 0x00000008
 #define ETDT_ENABLEAEROWIZARDTAB (ETDT_ENABLE | ETDT_USEAEROWIZARDTABTEXTURE)
 #define ETDT_VALIDBITS (ETDT_DISABLE | ETDT_ENABLE | ETDT_USETABTEXTURE | ETDT_USEAEROWIZARDTABTEXTURE)
@@ -262,8 +376,9 @@ THEMEAPI_(WINBOOL) IsThemeDialogTextureEnabled(HWND hwnd);
 #define STAP_ALLOW_NONCLIENT (1 << 0)
 #define STAP_ALLOW_CONTROLS (1 << 1)
 #define STAP_ALLOW_WEBCONTENT (1 << 2)
+#define STAP_VALIDBITS (STAP_ALLOW_NONCLIENT | STAP_ALLOW_CONTROLS | STAP_ALLOW_WEBCONTENT)
 
-THEMEAPI_(DWORD) GetThemeAppProperties();
+THEMEAPI_(DWORD) GetThemeAppProperties(VOID);
 THEMEAPI_(void) SetThemeAppProperties(DWORD dwFlags);
 THEMEAPI GetCurrentThemeName(LPWSTR pszThemeFileName,int cchMaxNameChars,LPWSTR pszColorBuff,int cchMaxColorChars,LPWSTR pszSizeBuff,int cchMaxSizeChars);
 
@@ -275,7 +390,7 @@ THEMEAPI GetCurrentThemeName(LPWSTR pszThemeFileName,int cchMaxNameChars,LPWSTR
 THEMEAPI GetThemeDocumentationProperty(LPCWSTR pszThemeName,LPCWSTR pszPropertyName,LPWSTR pszValueBuff,int cchMaxValChars);
 THEMEAPI DrawThemeParentBackground(HWND hwnd,HDC hdc,RECT *prc);
 
-#if (_WIN32_WINNT >= 0x0600)
+#if (NTDDI_VERSION >= NTDDI_VISTA)
 #define DTPB_WINDOWDC 0x00000001
 #define DTPB_USECTLCOLORSTATIC 0x00000002
 #define DTPB_USEERASEBKGND 0x00000004
-- 
2.22.0

_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to