* wingdi.h: Add support for WINAPI_FAMILY_PARTITION. (ETO_REVERSE_INDEX_MAP): New macros. (MILCORE_TS_QUERYVER_RESULT_FALSE, MILCORE_TS_QUERYVER_RESULT_TRUE): Likewise. (GDI_OBJ_LAST): Likewise. (EXTLOGPEN32, *PEXTLOGPEN32, *NPEXTLOGPEN32, *LPEXTLOGPEN32): New. (HS_API_MAX): New. (DM_INTERLACED): New. (DISPLAY_DEVICE_ACC_DRIVER): New. (DISPLAY_DEVICE_TS_COMPATIBLE): New. (DISPLAY_DEVICE_UNSAFE_MODES_ON): New. (DISPLAYCONFIG_MAXPATH): New. (DISPLAYCONFIG_RATIONAL): New. (DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY): New. (DISPLAYCONFIG_SCANLINE_ORDERING): New. (DISPLAYCONFIG_DEVICE_INFO_TYPE): New. (DISPLAYCONFIG_TOPOLOGY_ID): New. (DISPLAYCONFIG_PATH_ACTIVE): New. (DISPLAYCONFIG_PATH_INFO): New. (DISPLAYCONFIG_TARGET_*): New macros. (DISPLAYCONFIG_PATH_TARGET_INFO): New. (DISPLAYCONFIG_SOURCE_IN_USE): New macro. (DISPLAYCONFIG_PATH_SOURCE_INFO): New. (DISPLAYCONFIG_PATH_MODE_IDX_INVALID): New macro. (DISPLAYCONFIG_MODE_INFO): New. (DISPLAYCONFIG_TARGET_MODE): New. (DISPLAYCONFIG_SOURCE_MODE): New. (DISPLAYCONFIG_PIXELFORMAT): New. (DISPLAYCONFIG_MODE_INFO_TYPE): New. (DISPLAYCONFIG_2DREGION): New. (DISPLAYCONFIG_VIDEO_SIGNAL_INFO): New. (DISPLAYCONFIG_SCALING): New. (DISPLAYCONFIG_ROTATION): New. (DISPLAYCONFIG_DEVICE_INFO_HEADER): New. (DISPLAYCONFIG_SOURCE_DEVICE_NAME): New. (DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS): New. (DISPLAYCONFIG_TARGET_DEVICE_NAME): New. (DISPLAYCONFIG_TARGET_PREFERRED_MODE): New. (DISPLAYCONFIG_ADAPTER_NAME): New. (DISPLAYCONFIG_SET_TARGET_PERSISTENCE): New. (QDC_*, SDC_*): New macros. (PFD_DIRECT3D_ACCELERATED, PFD_SUPPORT_COMPOSITION): New macro. git-svn-id: svn+ssh://svn.code.sf.net/p/mingw-w64/code/trunk@5861 4407c894-4637-0410-b4f5-ada5f102cad1
diff --git a/mingw-w64-headers/include/ChangeLog b/mingw-w64-headers/include/ChangeLog index 2fca47c..24a8566 100644 --- a/mingw-w64-headers/include/ChangeLog +++ b/mingw-w64-headers/include/ChangeLog
@@ -1,3 +1,47 @@ +2013-05-16 Kai Tietz <ktietz@redhat.com> + + * wingdi.h: Add support for WINAPI_FAMILY_PARTITION. + (ETO_REVERSE_INDEX_MAP): New macros. + (MILCORE_TS_QUERYVER_RESULT_FALSE, MILCORE_TS_QUERYVER_RESULT_TRUE): Likewise. + (GDI_OBJ_LAST): Likewise. + (EXTLOGPEN32, *PEXTLOGPEN32, *NPEXTLOGPEN32, *LPEXTLOGPEN32): New. + (HS_API_MAX): New. + (DM_INTERLACED): New. + (DISPLAY_DEVICE_ACC_DRIVER): New. + (DISPLAY_DEVICE_TS_COMPATIBLE): New. + (DISPLAY_DEVICE_UNSAFE_MODES_ON): New. + (DISPLAYCONFIG_MAXPATH): New. + (DISPLAYCONFIG_RATIONAL): New. + (DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY): New. + (DISPLAYCONFIG_SCANLINE_ORDERING): New. + (DISPLAYCONFIG_DEVICE_INFO_TYPE): New. + (DISPLAYCONFIG_TOPOLOGY_ID): New. + (DISPLAYCONFIG_PATH_ACTIVE): New. + (DISPLAYCONFIG_PATH_INFO): New. + (DISPLAYCONFIG_TARGET_*): New macros. + (DISPLAYCONFIG_PATH_TARGET_INFO): New. + (DISPLAYCONFIG_SOURCE_IN_USE): New macro. + (DISPLAYCONFIG_PATH_SOURCE_INFO): New. + (DISPLAYCONFIG_PATH_MODE_IDX_INVALID): New macro. + (DISPLAYCONFIG_MODE_INFO): New. + (DISPLAYCONFIG_TARGET_MODE): New. + (DISPLAYCONFIG_SOURCE_MODE): New. + (DISPLAYCONFIG_PIXELFORMAT): New. + (DISPLAYCONFIG_MODE_INFO_TYPE): New. + (DISPLAYCONFIG_2DREGION): New. + (DISPLAYCONFIG_VIDEO_SIGNAL_INFO): New. + (DISPLAYCONFIG_SCALING): New. + (DISPLAYCONFIG_ROTATION): New. + (DISPLAYCONFIG_DEVICE_INFO_HEADER): New. + (DISPLAYCONFIG_SOURCE_DEVICE_NAME): New. + (DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS): New. + (DISPLAYCONFIG_TARGET_DEVICE_NAME): New. + (DISPLAYCONFIG_TARGET_PREFERRED_MODE): New. + (DISPLAYCONFIG_ADAPTER_NAME): New. + (DISPLAYCONFIG_SET_TARGET_PERSISTENCE): New. + (QDC_*, SDC_*): New macros. + (PFD_DIRECT3D_ACCELERATED, PFD_SUPPORT_COMPOSITION): New macro. + 2013-05-09 Conrad Meyer <unknown> * hidsdi.h (HidD_GetHidGuid): Add prototype.
diff --git a/mingw-w64-headers/include/wingdi.h b/mingw-w64-headers/include/wingdi.h index d0bb532..1dd0efa 100644 --- a/mingw-w64-headers/include/wingdi.h +++ b/mingw-w64-headers/include/wingdi.h
@@ -6,6 +6,7 @@ #ifndef _WINGDI_ #define _WINGDI_ +#include <winapifamily.h> #include <_mingw_unicode.h> #ifdef _GDI32_ @@ -134,6 +135,9 @@ #define ETO_NUMERICSLATIN 0x0800 #define ETO_IGNORELANGUAGE 0x1000 #define ETO_PDY 0x2000 +#if _WIN32_WINNT >= 0x0600 +#define ETO_REVERSE_INDEX_MAP 0x10000 +#endif #define ASPECT_FILTERING 0x0001 @@ -216,6 +220,7 @@ #define META_CREATEBRUSHINDIRECT 0x02FC #define META_CREATEREGION 0x06FF +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) typedef struct _DRAWPATRECT { POINT ptPosition; POINT ptSize; @@ -224,6 +229,8 @@ } DRAWPATRECT,*PDRAWPATRECT; #endif +#endif + #define NEWFRAME 1 #define ABORTDOC 2 #define NEXTBAND 3 @@ -311,17 +318,26 @@ #define CHECKPNGFORMAT 4120 #define GET_PS_FEATURESETTING 4121 +#define GDIPLUS_TS_QUERYVER 4122 +#define GDIPLUS_TS_RECORD 4123 + +#if _WIN32_WINNT >= 0x0600 +#define MILCORE_TS_QUERYVER_RESULT_FALSE 0x0 +#define MILCORE_TS_QUERYVER_RESULT_TRUE 0x7FFFFFFF +#endif #define SPCLPASSTHROUGH2 4568 #define PSIDENT_GDICENTRIC 0 #define PSIDENT_PSCENTRIC 1 +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) typedef struct _PSINJECTDATA { DWORD DataBytes; WORD InjectionPoint; WORD PageNumber; } PSINJECTDATA,*PPSINJECTDATA; +#endif #define PSINJECT_BEGINSTREAM 1 #define PSINJECT_PSADOBE 2 @@ -371,6 +387,7 @@ #define FEATURESETTING_PRIVATE_BEGIN 0x1000 #define FEATURESETTING_PRIVATE_END 0x1FFF +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) typedef struct _PSFEATURE_OUTPUT { WINBOOL bPageIndependent; WINBOOL bSetPageDevice; @@ -383,6 +400,7 @@ LONG lWidthOffset; LONG lHeightOffset; } PSFEATURE_CUSTPAPER,*PPSFEATURE_CUSTPAPER; +#endif #define PSPROTOCOL_ASCII 0 #define PSPROTOCOL_BCP 1 @@ -418,6 +436,8 @@ #define OBJ_ENHMETAFILE 13 #define OBJ_COLORSPACE 14 +#define GDI_OBJ_LAST OBJ_COLORSPACE + #define MWT_IDENTITY 1 #define MWT_LEFTMULTIPLY 2 #define MWT_RIGHTMULTIPLY 3 @@ -426,6 +446,7 @@ #define MWT_MAX MWT_RIGHTMULTIPLY #define _XFORM_ +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) typedef struct tagXFORM { FLOAT eM11; FLOAT eM12; @@ -459,7 +480,11 @@ BYTE rgbRed; BYTE rgbReserved; } RGBQUAD; +#endif + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) typedef RGBQUAD *LPRGBQUAD; +#endif #define CS_ENABLE __MSABI_LONG(0x00000001) #define CS_DISABLE __MSABI_LONG(0x00000002) @@ -470,6 +495,7 @@ #define LCS_sRGB 'sRGB' #define LCS_WINDOWS_COLOR_SPACE 'Win ' +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) typedef LONG LCSCSTYPE; #define LCS_CALIBRATED_RGB __MSABI_LONG(0x00000000) @@ -505,16 +531,22 @@ FXPT2DOT30 ciexyzY; FXPT2DOT30 ciexyzZ; } CIEXYZ; +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) typedef CIEXYZ *LPCIEXYZ; - +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) typedef struct tagICEXYZTRIPLE { CIEXYZ ciexyzRed; CIEXYZ ciexyzGreen; CIEXYZ ciexyzBlue; } CIEXYZTRIPLE; - +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) typedef CIEXYZTRIPLE *LPCIEXYZTRIPLE; +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) typedef struct tagLOGCOLORSPACEA { DWORD lcsSignature; DWORD lcsVersion; @@ -543,7 +575,9 @@ __MINGW_TYPEDEF_AW(LOGCOLORSPACE) __MINGW_TYPEDEF_AW(LPLOGCOLORSPACE) +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) typedef struct tagBITMAPCOREHEADER { DWORD bcSize; WORD bcWidth; @@ -551,7 +585,9 @@ WORD bcPlanes; WORD bcBitCount; } BITMAPCOREHEADER,*LPBITMAPCOREHEADER,*PBITMAPCOREHEADER; +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) typedef struct tagBITMAPINFOHEADER { DWORD biSize; LONG biWidth; @@ -565,7 +601,9 @@ DWORD biClrUsed; DWORD biClrImportant; } BITMAPINFOHEADER,*LPBITMAPINFOHEADER,*PBITMAPINFOHEADER; +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) typedef struct { DWORD bV4Size; LONG bV4Width; @@ -615,6 +653,7 @@ DWORD bV5ProfileSize; DWORD bV5Reserved; } BITMAPV5HEADER,*LPBITMAPV5HEADER,*PBITMAPV5HEADER; +#endif #define PROFILE_LINKED 'LINK' #define PROFILE_EMBEDDED 'MBED' @@ -626,11 +665,14 @@ #define BI_JPEG __MSABI_LONG(4) #define BI_PNG __MSABI_LONG(5) +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) typedef struct tagBITMAPINFO { BITMAPINFOHEADER bmiHeader; RGBQUAD bmiColors[1]; } BITMAPINFO,*LPBITMAPINFO,*PBITMAPINFO; +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) typedef struct tagBITMAPCOREINFO { BITMAPCOREHEADER bmciHeader; RGBTRIPLE bmciColors[1]; @@ -645,10 +687,13 @@ DWORD bfOffBits; } BITMAPFILEHEADER,*LPBITMAPFILEHEADER,*PBITMAPFILEHEADER; #include <poppack.h> +#endif #define MAKEPOINTS(l) (*((POINTS *)&(l))) #ifndef NOFONTSIG + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) typedef struct tagFONTSIGNATURE { DWORD fsUsb[4]; DWORD fsCsb[2]; @@ -659,21 +704,24 @@ UINT ciACP; FONTSIGNATURE fs; } CHARSETINFO,*PCHARSETINFO,*NPCHARSETINFO,*LPCHARSETINFO; +#endif #define TCI_SRCCHARSET 1 #define TCI_SRCCODEPAGE 2 #define TCI_SRCFONTSIG 3 #define TCI_SRCLOCALE 0x1000 +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) typedef struct tagLOCALESIGNATURE { DWORD lsUsb[4]; DWORD lsCsbDefault[2]; DWORD lsCsbSupported[2]; } LOCALESIGNATURE,*PLOCALESIGNATURE,*LPLOCALESIGNATURE; #endif - +#endif #ifndef NOMETAFILE +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) typedef struct tagHANDLETABLE { HGDIOBJ objectHandle[1]; } HANDLETABLE,*PHANDLETABLE,*LPHANDLETABLE; @@ -683,7 +731,11 @@ WORD rdFunction; WORD rdParm[1]; } METARECORD; +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) typedef struct tagMETARECORD UNALIGNED *PMETARECORD; +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) typedef struct tagMETARECORD UNALIGNED *LPMETARECORD; typedef struct tagMETAFILEPICT { @@ -692,7 +744,9 @@ LONG yExt; HMETAFILE hMF; } METAFILEPICT,*LPMETAFILEPICT; +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #include <pshpack2.h> typedef struct tagMETAHEADER { WORD mtType; @@ -707,7 +761,9 @@ typedef struct tagMETAHEADER UNALIGNED *LPMETAHEADER; #include <poppack.h> +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) typedef struct tagENHMETARECORD { DWORD iType; DWORD nSize; @@ -736,6 +792,7 @@ SIZEL szlMicrometers; } ENHMETAHEADER,*PENHMETAHEADER,*LPENHMETAHEADER; #endif +#endif #ifndef NOTEXTMETRIC #define TMPF_FIXED_PITCH 0x01 @@ -743,14 +800,19 @@ #define TMPF_DEVICE 0x08 #define TMPF_TRUETYPE 0x04 +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if defined(UNICODE) typedef WCHAR BCHAR; #else typedef BYTE BCHAR; #endif +#endif #ifndef _TEXTMETRIC_DEFINED #define _TEXTMETRIC_DEFINED +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) +#include <pshpack4.h> + typedef struct tagTEXTMETRICA { LONG tmHeight; LONG tmAscent; @@ -801,6 +863,8 @@ __MINGW_TYPEDEF_AW(PTEXTMETRIC) __MINGW_TYPEDEF_AW(NPTEXTMETRIC) __MINGW_TYPEDEF_AW(LPTEXTMETRIC) +#include <poppack.h> +#endif #endif #define NTM_REGULAR __MSABI_LONG(0x00000040) @@ -814,6 +878,7 @@ #define NTM_TYPE1 0x00100000 #define NTM_DSIG 0x00200000 +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #include <pshpack4.h> typedef struct tagNEWTEXTMETRICA { LONG tmHeight; @@ -888,7 +953,9 @@ __MINGW_TYPEDEF_AW(NEWTEXTMETRICEX) #endif +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) typedef struct tagPELARRAY { LONG paXCount; LONG paYCount; @@ -896,7 +963,8 @@ LONG paYExt; BYTE paRGBs; } PELARRAY,*PPELARRAY,*NPPELARRAY,*LPPELARRAY; - +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) typedef struct tagLOGBRUSH { UINT lbStyle; COLORREF lbColor; @@ -908,18 +976,23 @@ COLORREF lbColor; ULONG lbHatch; } LOGBRUSH32,*PLOGBRUSH32,*NPLOGBRUSH32,*LPLOGBRUSH32; - +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) typedef LOGBRUSH PATTERN; typedef PATTERN *PPATTERN; typedef PATTERN *NPPATTERN; typedef PATTERN *LPPATTERN; +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) typedef struct tagLOGPEN { UINT lopnStyle; POINT lopnWidth; COLORREF lopnColor; } LOGPEN,*PLOGPEN,*NPLOGPEN,*LPLOGPEN; +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) typedef struct tagEXTLOGPEN { DWORD elpPenStyle; DWORD elpWidth; @@ -929,6 +1002,18 @@ DWORD elpNumEntries; DWORD elpStyleEntry[1]; } EXTLOGPEN,*PEXTLOGPEN,*NPEXTLOGPEN,*LPEXTLOGPEN; +#endif + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) + typedef struct tagEXTLOGPEN32 { + DWORD elpPenStyle; + DWORD elpWidth; + UINT elpBrushStyle; + COLORREF elpColor; + ULONG elpHatch; + DWORD elpNumEntries; + DWORD elpStyleEntry[1]; + } EXTLOGPEN32, *PEXTLOGPEN32, *NPEXTLOGPEN32, *LPEXTLOGPEN32; #ifndef _PALETTEENTRY_DEFINED #define _PALETTEENTRY_DEFINED @@ -942,7 +1027,6 @@ #ifndef _LOGPALETTE_DEFINED #define _LOGPALETTE_DEFINED - typedef struct tagLOGPALETTE { WORD palVersion; WORD palNumEntries; @@ -992,9 +1076,11 @@ __MINGW_TYPEDEF_AW(PLOGFONT) __MINGW_TYPEDEF_AW(NPLOGFONT) __MINGW_TYPEDEF_AW(LPLOGFONT) +#endif /* WINAPI_PARTITION_APP */ #define LF_FULLFACESIZE 64 +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) typedef struct tagENUMLOGFONTA { LOGFONTA elfLogFont; BYTE elfFullName[LF_FULLFACESIZE]; @@ -1026,6 +1112,7 @@ __MINGW_TYPEDEF_AW(ENUMLOGFONTEX) __MINGW_TYPEDEF_AW(LPENUMLOGFONTEX) +#endif /* WINAPI_PARTITION_DESKTOP */ #define OUT_DEFAULT_PRECIS 0 #define OUT_STRING_PRECIS 1 @@ -1045,7 +1132,9 @@ #define CLIP_MASK 0xf #define CLIP_LH_ANGLES (1<<4) #define CLIP_TT_ALWAYS (2<<4) +#if _WIN32_WINNT >= 0x0600 #define CLIP_DFA_DISABLE (4<<4) +#endif #define CLIP_EMBEDDED (8<<4) #define DEFAULT_QUALITY 0 @@ -1142,6 +1231,7 @@ #define PAN_CULTURE_LATIN 0 +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) typedef struct tagPANOSE { BYTE bFamilyType; BYTE bSerifStyle; @@ -1293,6 +1383,7 @@ __MINGW_TYPEDEF_AW(PEXTLOGFONT) __MINGW_TYPEDEF_AW(NPEXTLOGFONT) __MINGW_TYPEDEF_AW(LPEXTLOGFONT) +#endif /* WINAPI_PARTITION_APP */ #define ELF_VERSION 0 #define ELF_CULTURE_LATIN 0 @@ -1359,9 +1450,7 @@ #define DEVICE_DEFAULT_FONT 14 #define DEFAULT_PALETTE 15 #define SYSTEM_FIXED_FONT 16 - #define DEFAULT_GUI_FONT 17 - #define DC_BRUSH 18 #define DC_PEN 19 @@ -1387,6 +1476,7 @@ #define HS_BDIAGONAL 3 #define HS_CROSS 4 #define HS_DIAGCROSS 5 +#define HS_API_MAX 12 #define PS_SOLID 0 #define PS_DASH 1 @@ -1455,11 +1545,8 @@ #define SCALINGFACTORY 115 #define VREFRESH 116 - #define DESKTOPVERTRES 117 - #define DESKTOPHORZRES 118 - #define BLTALIGNMENT 119 #define SHADEBLENDCAPS 120 @@ -1578,6 +1665,7 @@ #define CCHFORMNAME 32 +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) typedef struct _devicemodeA { BYTE dmDeviceName[CCHDEVICENAME]; WORD dmSpecVersion; @@ -1680,6 +1768,7 @@ __MINGW_TYPEDEF_AW(PDEVMODE) __MINGW_TYPEDEF_AW(NPDEVMODE) __MINGW_TYPEDEF_AW(LPDEVMODE) +#endif #define DM_SPECVERSION 0x0401 @@ -1889,6 +1978,7 @@ #define DMDFO_STRETCH 1 #define DMDFO_CENTER 2 +#define DM_INTERLACED 0x00000002 #define DMDISPLAYFLAGS_TEXTMODE 0x00000004 #define DMNUP_SYSTEM 1 @@ -1927,6 +2017,7 @@ #define DMDITHER_USER 256 +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) typedef struct _DISPLAY_DEVICEA { DWORD cb; CHAR DeviceName[32]; @@ -1935,6 +2026,7 @@ CHAR DeviceID[128]; CHAR DeviceKey[128]; } DISPLAY_DEVICEA,*PDISPLAY_DEVICEA,*LPDISPLAY_DEVICEA; + typedef struct _DISPLAY_DEVICEW { DWORD cb; WCHAR DeviceName[32]; @@ -1947,6 +2039,7 @@ __MINGW_TYPEDEF_AW(DISPLAY_DEVICE) __MINGW_TYPEDEF_AW(PDISPLAY_DEVICE) __MINGW_TYPEDEF_AW(LPDISPLAY_DEVICE) +#endif #define DISPLAY_DEVICE_ATTACHED_TO_DESKTOP 0x00000001 #define DISPLAY_DEVICE_MULTI_DRIVER 0x00000002 @@ -1954,6 +2047,13 @@ #define DISPLAY_DEVICE_MIRRORING_DRIVER 0x00000008 #define DISPLAY_DEVICE_VGA_COMPATIBLE 0x00000010 #define DISPLAY_DEVICE_REMOVABLE 0x00000020 +#if _WIN32_WINNT >= 0x0602 +#define DISPLAY_DEVICE_ACC_DRIVER 0x00000040 +#endif +#define DISPLAY_DEVICE_TS_COMPATIBLE 0x00200000 +#if _WIN32_WINNT >= 0x0600 +#define DISPLAY_DEVICE_UNSAFE_MODES_ON 0x00080000 +#endif #define DISPLAY_DEVICE_MODESPRUNED 0x08000000 #define DISPLAY_DEVICE_REMOTE 0x04000000 #define DISPLAY_DEVICE_DISCONNECT 0x02000000 @@ -1961,8 +2061,257 @@ #define DISPLAY_DEVICE_ACTIVE 0x00000001 #define DISPLAY_DEVICE_ATTACHED 0x00000002 +#if WINVER >= 0x0601 +#define DISPLAYCONFIG_MAXPATH 1024 + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) + typedef struct DISPLAYCONFIG_RATIONAL { + UINT32 Numerator; + UINT32 Denominator; + } DISPLAYCONFIG_RATIONAL; + + typedef enum { + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_OTHER = -1, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_HD15 = 0, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SVIDEO = 1, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_COMPOSITE_VIDEO = 2, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_COMPONENT_VIDEO = 3, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DVI = 4, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_HDMI = 5, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_LVDS = 6, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_D_JPN = 8, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SDI = 9, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EXTERNAL = 10, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EMBEDDED = 11, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_UDI_EXTERNAL = 12, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_UDI_EMBEDDED = 13, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SDTVDONGLE = 14, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INTERNAL = 0x80000000, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_FORCE_UINT32 = 0xFFFFFFFF + } DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY; + + typedef enum { + DISPLAYCONFIG_SCANLINE_ORDERING_UNSPECIFIED = 0, + DISPLAYCONFIG_SCANLINE_ORDERING_PROGRESSIVE = 1, + DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED = 2, + DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED_UPPERFIELDFIRST = 2, + DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED_LOWERFIELDFIRST = 3, + DISPLAYCONFIG_SCANLINE_ORDERING_FORCE_UINT32 = 0xFFFFFFFF + } DISPLAYCONFIG_SCANLINE_ORDERING; + + typedef struct DISPLAYCONFIG_2DREGION { + UINT32 cx; + UINT32 cy; + } DISPLAYCONFIG_2DREGION; + + typedef struct DISPLAYCONFIG_VIDEO_SIGNAL_INFO { + UINT64 pixelRate; + DISPLAYCONFIG_RATIONAL hSyncFreq; + DISPLAYCONFIG_RATIONAL vSyncFreq; + DISPLAYCONFIG_2DREGION activeSize; + DISPLAYCONFIG_2DREGION totalSize; + UINT32 videoStandard; + DISPLAYCONFIG_SCANLINE_ORDERING scanLineOrdering; + } DISPLAYCONFIG_VIDEO_SIGNAL_INFO; + + typedef enum { + DISPLAYCONFIG_SCALING_IDENTITY = 1, + DISPLAYCONFIG_SCALING_CENTERED = 2, + DISPLAYCONFIG_SCALING_STRETCHED = 3, + DISPLAYCONFIG_SCALING_ASPECTRATIOCENTEREDMAX = 4, + DISPLAYCONFIG_SCALING_CUSTOM = 5, + DISPLAYCONFIG_SCALING_PREFERRED = 128, + DISPLAYCONFIG_SCALING_FORCE_UINT32 = 0xFFFFFFFF + } DISPLAYCONFIG_SCALING; + + typedef enum { + DISPLAYCONFIG_ROTATION_IDENTITY = 1, + DISPLAYCONFIG_ROTATION_ROTATE90 = 2, + DISPLAYCONFIG_ROTATION_ROTATE180 = 3, + DISPLAYCONFIG_ROTATION_ROTATE270 = 4, + DISPLAYCONFIG_ROTATION_FORCE_UINT32 = 0xFFFFFFFF + } DISPLAYCONFIG_ROTATION; + + typedef enum { + DISPLAYCONFIG_MODE_INFO_TYPE_SOURCE = 1, + DISPLAYCONFIG_MODE_INFO_TYPE_TARGET = 2, + DISPLAYCONFIG_MODE_INFO_TYPE_FORCE_UINT32 = 0xFFFFFFFF + } DISPLAYCONFIG_MODE_INFO_TYPE; + + typedef enum { + DISPLAYCONFIG_PIXELFORMAT_8BPP = 1, + DISPLAYCONFIG_PIXELFORMAT_16BPP = 2, + DISPLAYCONFIG_PIXELFORMAT_24BPP = 3, + DISPLAYCONFIG_PIXELFORMAT_32BPP = 4, + DISPLAYCONFIG_PIXELFORMAT_NONGDI = 5, + DISPLAYCONFIG_PIXELFORMAT_FORCE_UINT32 = 0xffffffff + } DISPLAYCONFIG_PIXELFORMAT; + + typedef struct DISPLAYCONFIG_SOURCE_MODE { + UINT32 width; + UINT32 height; + DISPLAYCONFIG_PIXELFORMAT pixelFormat; + POINTL position; + } DISPLAYCONFIG_SOURCE_MODE; + + typedef struct DISPLAYCONFIG_TARGET_MODE { + DISPLAYCONFIG_VIDEO_SIGNAL_INFO targetVideoSignalInfo; + } DISPLAYCONFIG_TARGET_MODE; + + typedef struct DISPLAYCONFIG_MODE_INFO { + DISPLAYCONFIG_MODE_INFO_TYPE infoType; + UINT32 id; + LUID adapterId; + __C89_NAMELESS union { + DISPLAYCONFIG_TARGET_MODE targetMode; + DISPLAYCONFIG_SOURCE_MODE sourceMode; + }; + } DISPLAYCONFIG_MODE_INFO; + +#define DISPLAYCONFIG_PATH_MODE_IDX_INVALID 0xffffffff + + typedef struct DISPLAYCONFIG_PATH_SOURCE_INFO { + LUID adapterId; + UINT32 id; + UINT32 modeInfoIdx; + UINT32 statusFlags; + } DISPLAYCONFIG_PATH_SOURCE_INFO; + +#define DISPLAYCONFIG_SOURCE_IN_USE 0x1 + + typedef struct DISPLAYCONFIG_PATH_TARGET_INFO { + LUID adapterId; + UINT32 id; + UINT32 modeInfoIdx; + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY outputTechnology; + DISPLAYCONFIG_ROTATION rotation; + DISPLAYCONFIG_SCALING scaling; + DISPLAYCONFIG_RATIONAL refreshRate; + DISPLAYCONFIG_SCANLINE_ORDERING scanLineOrdering; + WINBOOL targetAvailable; + UINT32 statusFlags; + } DISPLAYCONFIG_PATH_TARGET_INFO; + +#define DISPLAYCONFIG_TARGET_IN_USE 0x00000001 +#define DISPLAYCONFIG_TARGET_FORCIBLE 0x00000002 +#define DISPLAYCONFIG_TARGET_FORCED_AVAILABILITY_BOOT 0x00000004 +#define DISPLAYCONFIG_TARGET_FORCED_AVAILABILITY_PATH 0x00000008 +#define DISPLAYCONFIG_TARGET_FORCED_AVAILABILITY_SYSTEM 0x00000010 + + typedef struct DISPLAYCONFIG_PATH_INFO { + DISPLAYCONFIG_PATH_SOURCE_INFO sourceInfo; + DISPLAYCONFIG_PATH_TARGET_INFO targetInfo; + UINT32 flags; + } DISPLAYCONFIG_PATH_INFO; + +#define DISPLAYCONFIG_PATH_ACTIVE 0x1 + + typedef enum { + DISPLAYCONFIG_TOPOLOGY_INTERNAL = 0x1, + DISPLAYCONFIG_TOPOLOGY_CLONE = 0x2, + DISPLAYCONFIG_TOPOLOGY_EXTEND = 0x4, + DISPLAYCONFIG_TOPOLOGY_EXTERNAL = 0x8, + DISPLAYCONFIG_TOPOLOGY_FORCE_UINT32 = 0xFFFFFFFF + } DISPLAYCONFIG_TOPOLOGY_ID; + + typedef enum { + DISPLAYCONFIG_DEVICE_INFO_GET_SOURCE_NAME = 1, + DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_NAME = 2, + 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_FORCE_UINT32 = 0xFFFFFFFF + } DISPLAYCONFIG_DEVICE_INFO_TYPE; + + typedef struct DISPLAYCONFIG_DEVICE_INFO_HEADER { + DISPLAYCONFIG_DEVICE_INFO_TYPE type; + UINT32 size; + LUID adapterId; + UINT32 id; + } DISPLAYCONFIG_DEVICE_INFO_HEADER; + +#endif /* WINAPI_PARTITION_APP */ + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + typedef struct DISPLAYCONFIG_SOURCE_DEVICE_NAME { + DISPLAYCONFIG_DEVICE_INFO_HEADER header; + WCHAR viewGdiDeviceName[CCHDEVICENAME]; + } DISPLAYCONFIG_SOURCE_DEVICE_NAME; + + typedef struct DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS { + __C89_NAMELESS union { + __C89_NAMELESS struct { + UINT32 friendlyNameFromEdid : 1; + UINT32 friendlyNameForced : 1; + UINT32 edidIdsValid : 1; + UINT32 reserved : 29; + }; + UINT32 value; + }; + } DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS; + + typedef struct DISPLAYCONFIG_TARGET_DEVICE_NAME { + DISPLAYCONFIG_DEVICE_INFO_HEADER header; + DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS flags; + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY outputTechnology; + UINT16 edidManufactureId; + UINT16 edidProductCodeId; + UINT32 connectorInstance; + WCHAR monitorFriendlyDeviceName[64]; + WCHAR monitorDevicePath[128]; + } DISPLAYCONFIG_TARGET_DEVICE_NAME; + + typedef struct DISPLAYCONFIG_TARGET_PREFERRED_MODE { + DISPLAYCONFIG_DEVICE_INFO_HEADER header; + UINT32 width; + UINT32 height; + DISPLAYCONFIG_TARGET_MODE targetMode; + } DISPLAYCONFIG_TARGET_PREFERRED_MODE; + + typedef struct DISPLAYCONFIG_ADAPTER_NAME { + DISPLAYCONFIG_DEVICE_INFO_HEADER header; + WCHAR adapterDevicePath[128]; + } DISPLAYCONFIG_ADAPTER_NAME; + + typedef struct DISPLAYCONFIG_SET_TARGET_PERSISTENCE { + DISPLAYCONFIG_DEVICE_INFO_HEADER header; + __C89_NAMELESS union { + __C89_NAMELESS struct { + UINT32 bootPersistenceOn : 1; + UINT32 reserved : 31; + }; + UINT32 value; + }; + } DISPLAYCONFIG_SET_TARGET_PERSISTENCE; +#endif /* WINAPI_PARTITION_DESKTOP */ + +#define QDC_ALL_PATHS 0x00000001 +#define QDC_ONLY_ACTIVE_PATHS 0x00000002 +#define QDC_DATABASE_CURRENT 0x00000004 + +#define SDC_TOPOLOGY_INTERNAL 0x00000001 +#define SDC_TOPOLOGY_CLONE 0x00000002 +#define SDC_TOPOLOGY_EXTEND 0x00000004 +#define SDC_TOPOLOGY_EXTERNAL 0x00000008 +#define SDC_TOPOLOGY_SUPPLIED 0x00000010 +#define SDC_USE_DATABASE_CURRENT (SDC_TOPOLOGY_INTERNAL | SDC_TOPOLOGY_CLONE \ + | SDC_TOPOLOGY_EXTEND | SDC_TOPOLOGY_EXTERNAL) + +#define SDC_USE_SUPPLIED_DISPLAY_CONFIG 0x00000020 +#define SDC_VALIDATE 0x00000040 +#define SDC_APPLY 0x00000080 +#define SDC_NO_OPTIMIZATION 0x00000100 +#define SDC_SAVE_TO_DATABASE 0x00000200 +#define SDC_ALLOW_CHANGES 0x00000400 +#define SDC_PATH_PERSIST_IF_REQUIRED 0x00000800 +#define SDC_FORCE_MODE_ENUMERATION 0x00001000 +#define SDC_ALLOW_PATH_ORDER_CHANGES 0x00002000 + +#endif /* WINVER >= 0x0601 */ + #define RDH_RECTANGLES 1 +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) typedef struct _RGNDATAHEADER { DWORD dwSize; DWORD iType; @@ -1975,9 +2324,11 @@ RGNDATAHEADER rdh; char Buffer[1]; } RGNDATA,*PRGNDATA,*NPRGNDATA,*LPRGNDATA; +#endif #define SYSRGN 4 +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) typedef struct _ABC { int abcA; UINT abcB; @@ -1989,9 +2340,11 @@ FLOAT abcfB; FLOAT abcfC; } ABCFLOAT,*PABCFLOAT,*NPABCFLOAT,*LPABCFLOAT; +#endif #ifndef NOTEXTMETRIC +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) typedef struct _OUTLINETEXTMETRICA { UINT otmSize; TEXTMETRICA otmTextMetrics; @@ -2067,7 +2420,9 @@ __MINGW_TYPEDEF_AW(NPOUTLINETEXTMETRIC) __MINGW_TYPEDEF_AW(LPOUTLINETEXTMETRIC) #endif +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) typedef struct tagPOLYTEXTA { int x; int y; @@ -2092,7 +2447,9 @@ __MINGW_TYPEDEF_AW(PPOLYTEXT) __MINGW_TYPEDEF_AW(NPPOLYTEXT) __MINGW_TYPEDEF_AW(LPPOLYTEXT) +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) typedef struct _FIXED { WORD fract; short value; @@ -2112,12 +2469,12 @@ short gmCellIncX; short gmCellIncY; } GLYPHMETRICS,*LPGLYPHMETRICS; +#endif #define GGO_METRICS 0 #define GGO_BITMAP 1 #define GGO_NATIVE 2 #define GGO_BEZIER 3 - #define GGO_GRAY2_BITMAP 4 #define GGO_GRAY4_BITMAP 5 #define GGO_GRAY8_BITMAP 6 @@ -2130,6 +2487,7 @@ #define TT_PRIM_QSPLINE 2 #define TT_PRIM_CSPLINE 3 +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) typedef struct tagPOINTFX { FIXED x; FIXED y; @@ -2146,20 +2504,19 @@ DWORD dwType; POINTFX pfxStart; } TTPOLYGONHEADER,*LPTTPOLYGONHEADER; +#endif #define GCP_DBCS 0x0001 #define GCP_REORDER 0x0002 #define GCP_USEKERNING 0x0008 #define GCP_GLYPHSHAPE 0x0010 #define GCP_LIGATE 0x0020 - #define GCP_DIACRITIC 0x0100 #define GCP_KASHIDA 0x0400 #define GCP_ERROR 0x8000 #define FLI_MASK 0x103B #define GCP_JUSTIFY __MSABI_LONG(0x00010000) - #define FLI_GLYPHS __MSABI_LONG(0x00040000) #define GCP_CLASSIN __MSABI_LONG(0x00080000) #define GCP_MAXEXTENT __MSABI_LONG(0x00100000) @@ -2188,6 +2545,7 @@ #define GCPGLYPH_LINKBEFORE 0x8000 #define GCPGLYPH_LINKAFTER 0x4000 +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) typedef struct tagGCP_RESULTSA { DWORD lStructSize; LPSTR lpOutString; @@ -2219,10 +2577,12 @@ short wFlags; short nLanguageID; } RASTERIZER_STATUS,*LPRASTERIZER_STATUS; +#endif #define TT_AVAILABLE 0x0001 #define TT_ENABLED 0x0002 +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) typedef struct tagPIXELFORMATDESCRIPTOR { WORD nSize; WORD nVersion; @@ -2251,6 +2611,7 @@ DWORD dwVisibleMask; DWORD dwDamageMask; } PIXELFORMATDESCRIPTOR,*PPIXELFORMATDESCRIPTOR,*LPPIXELFORMATDESCRIPTOR; +#endif #define PFD_TYPE_RGBA 0 #define PFD_TYPE_COLORINDEX 1 @@ -2273,11 +2634,14 @@ #define PFD_SWAP_LAYER_BUFFERS 0x00000800 #define PFD_GENERIC_ACCELERATED 0x00001000 #define PFD_SUPPORT_DIRECTDRAW 0x00002000 +#define PFD_DIRECT3D_ACCELERATED 0x00004000 +#define PFD_SUPPORT_COMPOSITION 0x00008000 #define PFD_DEPTH_DONTCARE 0x20000000 #define PFD_DOUBLEBUFFER_DONTCARE 0x40000000 #define PFD_STEREO_DONTCARE 0x80000000 +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #ifndef NOTEXTMETRIC typedef int (CALLBACK *OLDFONTENUMPROCA)(CONST LOGFONTA *,CONST TEXTMETRICA *,DWORD,LPARAM); typedef int (CALLBACK *OLDFONTENUMPROCW)(CONST LOGFONTW *,CONST TEXTMETRICW *,DWORD,LPARAM); @@ -2360,6 +2724,7 @@ typedef UINT (CALLBACK *LPFNDEVMODE)(HWND,HMODULE,LPDEVMODE,LPSTR,LPSTR,LPDEVMODE,LPSTR,UINT); typedef DWORD (CALLBACK *LPFNDEVCAPS)(LPSTR,LPSTR,UINT,LPSTR,LPDEVMODE); +#endif /* WINAPI_PARTITION_DESKTOP */ #define DM_UPDATE 1 #define DM_COPY 2 @@ -2425,6 +2790,7 @@ #define DCBA_FACEDOWNLEFT 0x0102 #define DCBA_FACEDOWNRIGHT 0x0103 +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #define DeviceCapabilities __MINGW_NAME_AW(DeviceCapabilities) #define EnumFontFamiliesEx __MINGW_NAME_AW(EnumFontFamiliesEx) #define EnumFontFamilies __MINGW_NAME_AW(EnumFontFamilies) @@ -2726,6 +3092,35 @@ WINGDIAPI WINBOOL WINAPI SetTextJustification(HDC hdc,int extra,int count); WINGDIAPI WINBOOL WINAPI UpdateColors(HDC hdc); +#if defined (COMBOX_SANDBOX) && _WIN32_WINNT >= 0x0600 + typedef PVOID (WINAPI *GDIMARSHALLOC)(DWORD dwSize, LPVOID pGdiRef); + typedef HRESULT (WINAPI *DDRAWMARSHCALLBACKMARSHAL)(HGDIOBJ hGdiObj, + LPVOID pGdiRef, LPVOID *ppDDrawRef); + typedef HRESULT (WINAPI *DDRAWMARSHCALLBACKUNMARSHAL)(LPVOID pData, HDC *phdc, + LPVOID *ppDDrawRef); + typedef HRESULT (WINAPI *DDRAWMARSHCALLBACKRELEASE)(LPVOID pDDrawRef); + +#define GDIREGISTERDDRAWPACKETVERSION 0x1 + + typedef struct { + DWORD dwSize; + DWORD dwVersion; + DDRAWMARSHCALLBACKMARSHAL pfnDdMarshal; + DDRAWMARSHCALLBACKUNMARSHAL pfnDdUnmarshal; + DDRAWMARSHCALLBACKRELEASE pfnDdRelease; + } GDIREGISTERDDRAWPACKET, *PGDIREGISTERDDRAWPACKET; + +WINGDIAPI BOOL WINAPI GdiRegisterDdraw(PGDIREGISTERDDRAWPACKET pPacket, + GDIMARSHALLOC *ppfnGdiAlloc); +WINGDIAPI ULONG WINAPI GdiMarshalSize(VOID); +WINGDIAPI VOID WINAPI GdiMarshal(DWORD dwProcessIdTo, HGDIOBJ hGdiObj, + PVOID pData, ULONG ulFlags); +WINGDIAPI HGDIOBJ WINAPI GdiUnmarshal(PVOID pData, ULONG ulFlags); +#endif + +#endif /* WINAPI_PARTITION_DESKTOP */ + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) typedef USHORT COLOR16; typedef struct _TRIVERTEX { @@ -2736,7 +3131,8 @@ COLOR16 Blue; COLOR16 Alpha; } TRIVERTEX,*PTRIVERTEX,*LPTRIVERTEX; - +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) typedef struct _GRADIENT_TRIANGLE { ULONG Vertex1; ULONG Vertex2; @@ -2747,14 +3143,16 @@ ULONG UpperLeft; ULONG LowerRight; } GRADIENT_RECT,*PGRADIENT_RECT,*LPGRADIENT_RECT; - +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) typedef struct _BLENDFUNCTION { BYTE BlendOp; BYTE BlendFlags; BYTE SourceConstantAlpha; BYTE AlphaFormat; } BLENDFUNCTION,*PBLENDFUNCTION; - +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #define AC_SRC_OVER 0x00 #define AC_SRC_ALPHA 0x01 @@ -3897,6 +4295,8 @@ WINGDIAPI DWORD WINAPI wglSwapMultipleBuffers(UINT,CONST WGLSWAP *); #endif +#endif /* WINAPI_PARTITION_DESKTOP */ + #ifdef __cplusplus } #endif