headers/wingdi.h: add missing symbols
Signed-off-by: Biswapriyo Nath <nathbappai@gmail.com>
Signed-off-by: Liu Hao <lh_mouse@126.com>
diff --git a/mingw-w64-headers/include/wingdi.h b/mingw-w64-headers/include/wingdi.h
index 43f2b43..bad9833 100644
--- a/mingw-w64-headers/include/wingdi.h
+++ b/mingw-w64-headers/include/wingdi.h
@@ -67,7 +67,7 @@
#define NOMIRRORBITMAP (DWORD)0x80000000
#define CAPTUREBLT (DWORD)0x40000000
#define MAKEROP4(fore,back) (DWORD)((((back) << 8) & 0xFF000000) | (fore))
-#endif
+#endif /* NORASTEROPS */
#define GDI_ERROR (__MSABI_LONG(0xFFFFFFFF))
#define HGDI_ERROR (LongToHandle(0xFFFFFFFF))
@@ -229,7 +229,7 @@
} DRAWPATRECT,*PDRAWPATRECT;
#endif
-#endif
+#endif /* NOMETAFILE */
#define NEWFRAME 1
#define ABORTDOC 2
@@ -376,6 +376,8 @@
#define PSINJECT_VMSAVE 200
#define PSINJECT_VMRESTORE 201
+#define PSINJECT_DLFONT 0xdddddddd
+
#define FEATURESETTING_NUP 0
#define FEATURESETTING_OUTPUT 1
#define FEATURESETTING_PSLEVEL 2
@@ -471,7 +473,7 @@
BYTE rgbtBlue;
BYTE rgbtGreen;
BYTE rgbtRed;
- } RGBTRIPLE;
+ } RGBTRIPLE,*PRGBTRIPLE,*NPRGBTRIPLE,*LPRGBTRIPLE;
#include <poppack.h>
typedef struct tagRGBQUAD {
@@ -792,7 +794,7 @@
SIZEL szlMicrometers;
} ENHMETAHEADER,*PENHMETAHEADER,*LPENHMETAHEADER;
#endif
-#endif
+#endif /* NOMETAFILE */
#ifndef NOTEXTMETRIC
#define TMPF_FIXED_PITCH 0x01
@@ -2055,6 +2057,7 @@
#define DISPLAY_DEVICE_UNSAFE_MODES_ON 0x00080000
#endif
#define DISPLAY_DEVICE_MODESPRUNED 0x08000000
+#define DISPLAY_DEVICE_RDPUDD 0x01000000
#define DISPLAY_DEVICE_REMOTE 0x04000000
#define DISPLAY_DEVICE_DISCONNECT 0x02000000
@@ -2086,6 +2089,9 @@
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_UDI_EXTERNAL = (int) 12,
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_UDI_EMBEDDED = (int) 13,
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SDTVDONGLE = (int) 14,
+ DISPLAYCONFIG_OUTPUT_TECHNOLOGY_MIRACAST = (int) 15,
+ DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INDIRECT_WIRED = (int) 16,
+ DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INDIRECT_VIRTUAL = (int) 17,
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INTERNAL = (int) 0x80000000,
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_FORCE_UINT32 = (int) 0xFFFFFFFF
} DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY;
@@ -2110,7 +2116,14 @@
DISPLAYCONFIG_RATIONAL vSyncFreq;
DISPLAYCONFIG_2DREGION activeSize;
DISPLAYCONFIG_2DREGION totalSize;
- UINT32 videoStandard;
+ __C89_NAMELESS union {
+ __C89_NAMELESS struct {
+ UINT32 videoStandard : 16;
+ UINT32 vSyncFreqDivider : 6;
+ UINT32 reserved : 10;
+ } AdditionalSignalInfo;
+ UINT32 videoStandard;
+ };
DISPLAYCONFIG_SCANLINE_ORDERING scanLineOrdering;
} DISPLAYCONFIG_VIDEO_SIGNAL_INFO;
@@ -2135,6 +2148,7 @@
typedef enum {
DISPLAYCONFIG_MODE_INFO_TYPE_SOURCE = 1,
DISPLAYCONFIG_MODE_INFO_TYPE_TARGET = 2,
+ DISPLAYCONFIG_MODE_INFO_TYPE_DESKTOP_IMAGE = 3,
DISPLAYCONFIG_MODE_INFO_TYPE_FORCE_UINT32 = 0xFFFFFFFF
} DISPLAYCONFIG_MODE_INFO_TYPE;
@@ -2158,6 +2172,12 @@
DISPLAYCONFIG_VIDEO_SIGNAL_INFO targetVideoSignalInfo;
} DISPLAYCONFIG_TARGET_MODE;
+ typedef struct DISPLAYCONFIG_DESKTOP_IMAGE_INFO {
+ POINTL PathSourceSize;
+ RECTL DesktopImageRegion;
+ RECTL DesktopImageClip;
+ } DISPLAYCONFIG_DESKTOP_IMAGE_INFO;
+
typedef struct DISPLAYCONFIG_MODE_INFO {
DISPLAYCONFIG_MODE_INFO_TYPE infoType;
UINT32 id;
@@ -2169,11 +2189,21 @@
} DISPLAYCONFIG_MODE_INFO;
#define DISPLAYCONFIG_PATH_MODE_IDX_INVALID 0xffffffff
+#define DISPLAYCONFIG_PATH_TARGET_MODE_IDX_INVALID 0xffff
+#define DISPLAYCONFIG_PATH_DESKTOP_IMAGE_IDX_INVALID 0xffff
+#define DISPLAYCONFIG_PATH_SOURCE_MODE_IDX_INVALID 0xffff
+#define DISPLAYCONFIG_PATH_CLONE_GROUP_INVALID 0xffff
typedef struct DISPLAYCONFIG_PATH_SOURCE_INFO {
LUID adapterId;
UINT32 id;
- UINT32 modeInfoIdx;
+ __C89_NAMELESS union {
+ UINT32 modeInfoIdx;
+ __C89_NAMELESS struct {
+ UINT32 cloneGroupId : 16;
+ UINT32 sourceModeInfoIdx : 16;
+ };
+ };
UINT32 statusFlags;
} DISPLAYCONFIG_PATH_SOURCE_INFO;
@@ -2182,7 +2212,13 @@
typedef struct DISPLAYCONFIG_PATH_TARGET_INFO {
LUID adapterId;
UINT32 id;
- UINT32 modeInfoIdx;
+ __C89_NAMELESS union {
+ UINT32 modeInfoIdx;
+ __C89_NAMELESS struct {
+ UINT32 desktopModeInfoIdx : 16;
+ UINT32 targetModeInfoIdx : 16;
+ };
+ };
DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY outputTechnology;
DISPLAYCONFIG_ROTATION rotation;
DISPLAYCONFIG_SCALING scaling;
@@ -2197,6 +2233,7 @@
#define DISPLAYCONFIG_TARGET_FORCED_AVAILABILITY_BOOT 0x00000004
#define DISPLAYCONFIG_TARGET_FORCED_AVAILABILITY_PATH 0x00000008
#define DISPLAYCONFIG_TARGET_FORCED_AVAILABILITY_SYSTEM 0x00000010
+#define DISPLAYCONFIG_TARGET_IS_HMD 0x00000020
typedef struct DISPLAYCONFIG_PATH_INFO {
DISPLAYCONFIG_PATH_SOURCE_INFO sourceInfo;
@@ -2204,7 +2241,10 @@
UINT32 flags;
} DISPLAYCONFIG_PATH_INFO;
-#define DISPLAYCONFIG_PATH_ACTIVE 0x1
+#define DISPLAYCONFIG_PATH_ACTIVE 0x00000001
+#define DISPLAYCONFIG_PATH_PREFERRED_UNSCALED 0x00000004
+#define DISPLAYCONFIG_PATH_SUPPORT_VIRTUAL_MODE 0x00000008
+#define DISPLAYCONFIG_PATH_VALID_FLAGS 0x0000000D
typedef enum {
DISPLAYCONFIG_TOPOLOGY_INTERNAL = 0x1,
@@ -2220,6 +2260,12 @@
DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_PREFERRED_MODE = 3,
DISPLAYCONFIG_DEVICE_INFO_GET_ADAPTER_NAME = 4,
DISPLAYCONFIG_DEVICE_INFO_SET_TARGET_PERSISTENCE = 5,
+ DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_BASE_TYPE = 6,
+ DISPLAYCONFIG_DEVICE_INFO_GET_SUPPORT_VIRTUAL_RESOLUTION = 7,
+ DISPLAYCONFIG_DEVICE_INFO_SET_SUPPORT_VIRTUAL_RESOLUTION = 8,
+ DISPLAYCONFIG_DEVICE_INFO_GET_ADVANCED_COLOR_INFO = 9,
+ DISPLAYCONFIG_DEVICE_INFO_SET_ADVANCED_COLOR_STATE = 10,
+ DISPLAYCONFIG_DEVICE_INFO_GET_SDR_WHITE_LEVEL = 11,
DISPLAYCONFIG_DEVICE_INFO_FORCE_UINT32 = 0xFFFFFFFF
} DISPLAYCONFIG_DEVICE_INFO_TYPE;
@@ -2273,6 +2319,11 @@
WCHAR adapterDevicePath[128];
} DISPLAYCONFIG_ADAPTER_NAME;
+ typedef struct DISPLAYCONFIG_TARGET_BASE_TYPE {
+ DISPLAYCONFIG_DEVICE_INFO_HEADER header;
+ DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY baseOutputTechnology;
+ } DISPLAYCONFIG_TARGET_BASE_TYPE;
+
typedef struct DISPLAYCONFIG_SET_TARGET_PERSISTENCE {
DISPLAYCONFIG_DEVICE_INFO_HEADER header;
__C89_NAMELESS union {
@@ -2283,11 +2334,66 @@
UINT32 value;
};
} DISPLAYCONFIG_SET_TARGET_PERSISTENCE;
+
+ typedef struct DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION {
+ DISPLAYCONFIG_DEVICE_INFO_HEADER header;
+ __C89_NAMELESS union {
+ __C89_NAMELESS struct {
+ UINT32 disableMonitorVirtualResolution : 1;
+ UINT32 reserved : 31;
+ };
+ UINT32 value;
+ };
+ } DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION;
+
+ typedef enum _DISPLAYCONFIG_COLOR_ENCODING {
+ DISPLAYCONFIG_COLOR_ENCODING_RGB = 0,
+ DISPLAYCONFIG_COLOR_ENCODING_YCBCR444 = 1,
+ DISPLAYCONFIG_COLOR_ENCODING_YCBCR422 = 2,
+ DISPLAYCONFIG_COLOR_ENCODING_YCBCR420 = 3,
+ DISPLAYCONFIG_COLOR_ENCODING_INTENSITY = 4,
+ DISPLAYCONFIG_COLOR_ENCODING_FORCE_UINT32 = 0xFFFFFFFF
+ } DISPLAYCONFIG_COLOR_ENCODING;
+
+ typedef struct _DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO {
+ DISPLAYCONFIG_DEVICE_INFO_HEADER header;
+ __C89_NAMELESS union {
+ __C89_NAMELESS struct {
+ UINT32 advancedColorSupported :1;
+ UINT32 advancedColorEnabled :1;
+ UINT32 wideColorEnforced :1;
+ UINT32 advancedColorForceDisabled :1;
+ UINT32 reserved :28;
+ };
+ UINT32 value;
+ };
+ DISPLAYCONFIG_COLOR_ENCODING colorEncoding;
+ UINT32 bitsPerColorChannel;
+ } DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO;
+
+ typedef struct _DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE {
+ DISPLAYCONFIG_DEVICE_INFO_HEADER header;
+ __C89_NAMELESS union {
+ __C89_NAMELESS struct {
+ UINT32 enableAdvancedColor :1;
+ UINT32 reserved :31;
+ };
+ UINT32 value;
+ };
+} DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE;
+
+ typedef struct _DISPLAYCONFIG_SDR_WHITE_LEVEL {
+ DISPLAYCONFIG_DEVICE_INFO_HEADER header;
+ ULONG SDRWhiteLevel;
+ } DISPLAYCONFIG_SDR_WHITE_LEVEL;
+
#endif /* WINAPI_PARTITION_DESKTOP */
#define QDC_ALL_PATHS 0x00000001
#define QDC_ONLY_ACTIVE_PATHS 0x00000002
#define QDC_DATABASE_CURRENT 0x00000004
+#define QDC_VIRTUAL_MODE_AWARE 0x00000010
+#define QDC_INCLUDE_HMD 0x00000020
#define SDC_TOPOLOGY_INTERNAL 0x00000001
#define SDC_TOPOLOGY_CLONE 0x00000002
@@ -2306,6 +2412,7 @@
#define SDC_PATH_PERSIST_IF_REQUIRED 0x00000800
#define SDC_FORCE_MODE_ENUMERATION 0x00001000
#define SDC_ALLOW_PATH_ORDER_CHANGES 0x00002000
+#define SDC_VIRTUAL_MODE_AWARE 0x00008000
#endif /* WINVER >= 0x0601 */
@@ -2420,7 +2527,7 @@
__MINGW_TYPEDEF_AW(NPOUTLINETEXTMETRIC)
__MINGW_TYPEDEF_AW(LPOUTLINETEXTMETRIC)
#endif
-#endif
+#endif /* NOTEXTMETRIC */
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
typedef struct tagPOLYTEXTA {
@@ -2932,6 +3039,8 @@
#define STAMP_DESIGNVECTOR (0x8000000 + 'd' + ('v' << 8))
#define STAMP_AXESLIST (0x8000000 + 'a' + ('l' << 8))
+#define STAMP_TRUETYPE_VARIATION (0x8000000 + 't' + ('v' << 8))
+#define STAMP_CFF2 (0x8000000 + 'c' + ('v' << 8))
#define MM_MAX_NUMAXES 16
typedef struct tagDESIGNVECTOR {
@@ -3232,6 +3341,11 @@
WINGDIAPI UINT WINAPI GetDIBColorTable(HDC hdc,UINT iStart,UINT cEntries,RGBQUAD *prgbq);
WINGDIAPI UINT WINAPI SetDIBColorTable(HDC hdc,UINT iStart,UINT cEntries,CONST RGBQUAD *prgbq);
+#define GDI_WIDTHBYTES(bits) ((DWORD)(((bits)+31) & (~31)) / 8)
+#define GDI_DIBWIDTHBYTES(bi) (DWORD)GDI_WIDTHBYTES((DWORD)(bi).biWidth * (DWORD)(bi).biBitCount)
+#define GDI__DIBSIZE(bi) (GDI_DIBWIDTHBYTES(bi) * (DWORD)(bi).biHeight)
+#define GDI_DIBSIZE(bi) ((bi).biHeight < 0 ? (-1)*(GDI__DIBSIZE(bi)) : GDI__DIBSIZE(bi))
+
#define CA_NEGATIVE 0x0001
#define CA_LOG_FILTER 0x0002
@@ -4168,7 +4282,7 @@
#define EPS_SIGNATURE 0x46535045
#define GDICOMMENT_UNICODE_STRING 0x00000040
#define GDICOMMENT_UNICODE_END 0x00000080
-#endif
+#endif /* NOMETAFILE */
#define wglUseFontBitmaps __MINGW_NAME_AW(wglUseFontBitmaps)
@@ -4300,4 +4414,4 @@
#ifdef __cplusplus
}
#endif
-#endif
+#endif /* _WINGDI_ */