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_ */