Headers diff for msimg32.dll between 6.3.9600.17415-Windows 8.1 and 10.0.10586.0-Windows 10 1511 10586.494 versions



 wingdi.h (6.3.9600.17415-Windows 8.1)   wingdi.h (10.0.10586.0-Windows 10 1511 10586.494) 
skipping to change at line 19 skipping to change at line 19
**************************************************************************/ **************************************************************************/
#ifndef _WINGDI_ #ifndef _WINGDI_
#define _WINGDI_ #define _WINGDI_
#pragma once #pragma once
#if _MSC_VER >= 1200 #if _MSC_VER >= 1200
#pragma warning(push) #pragma warning(push)
#pragma warning(disable: 4201) // nonstandard extension used : nameless str uct/union #pragma warning(disable: 4201) // nonstandard extension used : nameless str uct/union
#ifndef _MSC_EXTENSIONS
#pragma warning(disable: 4309) // truncation of constant value
#endif
#pragma warning(disable: 4820) // padding added after data member
#endif #endif
#ifdef _MAC #ifdef _MAC
#include <macwin32.h> #include <macwin32.h>
#endif #endif
// //
// Define API decoration for direct importing of DLL references. // Define API decoration for direct importing of DLL references.
// //
skipping to change at line 579 skipping to change at line 583
#define MWT_IDENTITY 1 #define MWT_IDENTITY 1
#define MWT_LEFTMULTIPLY 2 #define MWT_LEFTMULTIPLY 2
#define MWT_RIGHTMULTIPLY 3 #define MWT_RIGHTMULTIPLY 3
#define MWT_MIN MWT_IDENTITY #define MWT_MIN MWT_IDENTITY
#define MWT_MAX MWT_RIGHTMULTIPLY #define MWT_MAX MWT_RIGHTMULTIPLY
#define _XFORM_ #define _XFORM_
#pragma region Application Family #pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
typedef struct tagXFORM typedef struct tagXFORM
{ {
FLOAT eM11; FLOAT eM11;
FLOAT eM12; FLOAT eM12;
FLOAT eM21; FLOAT eM21;
FLOAT eM22; FLOAT eM22;
FLOAT eDx; FLOAT eDx;
FLOAT eDy; FLOAT eDy;
} XFORM, *PXFORM, FAR *LPXFORM; } XFORM, *PXFORM, FAR *LPXFORM;
skipping to change at line 603 skipping to change at line 607
{ {
LONG bmType; LONG bmType;
LONG bmWidth; LONG bmWidth;
LONG bmHeight; LONG bmHeight;
LONG bmWidthBytes; LONG bmWidthBytes;
WORD bmPlanes; WORD bmPlanes;
WORD bmBitsPixel; WORD bmBitsPixel;
LPVOID bmBits; LPVOID bmBits;
} BITMAP, *PBITMAP, NEAR *NPBITMAP, FAR *LPBITMAP; } BITMAP, *PBITMAP, NEAR *NPBITMAP, FAR *LPBITMAP;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#include <pshpack1.h> #include <pshpack1.h>
#pragma region Application Family #pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
typedef struct tagRGBTRIPLE { typedef struct tagRGBTRIPLE {
BYTE rgbtBlue; BYTE rgbtBlue;
BYTE rgbtGreen; BYTE rgbtGreen;
BYTE rgbtRed; BYTE rgbtRed;
} RGBTRIPLE, *PRGBTRIPLE, NEAR *NPRGBTRIPLE, FAR *LPRGBTRIPLE; } RGBTRIPLE, *PRGBTRIPLE, NEAR *NPRGBTRIPLE, FAR *LPRGBTRIPLE;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#include <poppack.h> #include <poppack.h>
#pragma region Application Family #pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
typedef struct tagRGBQUAD { typedef struct tagRGBQUAD {
BYTE rgbBlue; BYTE rgbBlue;
BYTE rgbGreen; BYTE rgbGreen;
BYTE rgbRed; BYTE rgbRed;
BYTE rgbReserved; BYTE rgbReserved;
} RGBQUAD; } RGBQUAD;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#pragma region Desktop Family #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef RGBQUAD FAR* LPRGBQUAD; typedef RGBQUAD FAR* LPRGBQUAD;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion #pragma endregion
skipping to change at line 661 skipping to change at line 665
/* Logcolorspace signature */ /* Logcolorspace signature */
#define LCS_SIGNATURE 'PSOC' #define LCS_SIGNATURE 'PSOC'
/* Logcolorspace lcsType values */ /* Logcolorspace lcsType values */
#define LCS_sRGB 'sRGB' #define LCS_sRGB 'sRGB'
#define LCS_WINDOWS_COLOR_SPACE 'Win ' // Windows default color space #define LCS_WINDOWS_COLOR_SPACE 'Win ' // Windows default color space
#pragma region Application Family #pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
typedef LONG LCSCSTYPE; typedef LONG LCSCSTYPE;
#define LCS_CALIBRATED_RGB 0x00000000L #define LCS_CALIBRATED_RGB 0x00000000L
typedef LONG LCSGAMUTMATCH; typedef LONG LCSGAMUTMATCH;
#define LCS_GM_BUSINESS 0x00000001L #define LCS_GM_BUSINESS 0x00000001L
#define LCS_GM_GRAPHICS 0x00000002L #define LCS_GM_GRAPHICS 0x00000002L
#define LCS_GM_IMAGES 0x00000004L #define LCS_GM_IMAGES 0x00000004L
skipping to change at line 708 skipping to change at line 712
/* ICM Color Definitions */ /* ICM Color Definitions */
// The following two structures are used for defining RGB's in terms of CIEXYZ. // The following two structures are used for defining RGB's in terms of CIEXYZ.
typedef struct tagCIEXYZ typedef struct tagCIEXYZ
{ {
FXPT2DOT30 ciexyzX; FXPT2DOT30 ciexyzX;
FXPT2DOT30 ciexyzY; FXPT2DOT30 ciexyzY;
FXPT2DOT30 ciexyzZ; FXPT2DOT30 ciexyzZ;
} CIEXYZ; } CIEXYZ;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#pragma region Desktop Family #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef CIEXYZ FAR *LPCIEXYZ; typedef CIEXYZ FAR *LPCIEXYZ;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion #pragma endregion
#pragma region Application Family #pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
typedef struct tagICEXYZTRIPLE typedef struct tagICEXYZTRIPLE
{ {
CIEXYZ ciexyzRed; CIEXYZ ciexyzRed;
CIEXYZ ciexyzGreen; CIEXYZ ciexyzGreen;
CIEXYZ ciexyzBlue; CIEXYZ ciexyzBlue;
} CIEXYZTRIPLE; } CIEXYZTRIPLE;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#pragma region Desktop Family #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef CIEXYZTRIPLE FAR *LPCIEXYZTRIPLE; typedef CIEXYZTRIPLE FAR *LPCIEXYZTRIPLE;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion #pragma endregion
#pragma region Application Family #pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
// The next structures the logical color space. Unlike pens and brushes, // The next structures the logical color space. Unlike pens and brushes,
// but like palettes, there is only one way to create a LogColorSpace. // but like palettes, there is only one way to create a LogColorSpace.
// A pointer to it must be passed, its elements can't be pushed as // A pointer to it must be passed, its elements can't be pushed as
// arguments. // arguments.
typedef struct tagLOGCOLORSPACEA { typedef struct tagLOGCOLORSPACEA {
DWORD lcsSignature; DWORD lcsSignature;
DWORD lcsVersion; DWORD lcsVersion;
DWORD lcsSize; DWORD lcsSize;
skipping to change at line 780 skipping to change at line 784
WCHAR lcsFilename[MAX_PATH]; WCHAR lcsFilename[MAX_PATH];
} LOGCOLORSPACEW, *LPLOGCOLORSPACEW; } LOGCOLORSPACEW, *LPLOGCOLORSPACEW;
#ifdef UNICODE #ifdef UNICODE
typedef LOGCOLORSPACEW LOGCOLORSPACE; typedef LOGCOLORSPACEW LOGCOLORSPACE;
typedef LPLOGCOLORSPACEW LPLOGCOLORSPACE; typedef LPLOGCOLORSPACEW LPLOGCOLORSPACE;
#else #else
typedef LOGCOLORSPACEA LOGCOLORSPACE; typedef LOGCOLORSPACEA LOGCOLORSPACE;
typedef LPLOGCOLORSPACEA LPLOGCOLORSPACE; typedef LPLOGCOLORSPACEA LPLOGCOLORSPACE;
#endif // UNICODE #endif // UNICODE
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#endif /* WINVER >= 0x0400 */ #endif /* WINVER >= 0x0400 */
#pragma region Desktop Family #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
/* structures for defining DIBs */ /* structures for defining DIBs */
typedef struct tagBITMAPCOREHEADER { typedef struct tagBITMAPCOREHEADER {
DWORD bcSize; /* used to get to color table */ DWORD bcSize; /* used to get to color table */
WORD bcWidth; WORD bcWidth;
WORD bcHeight; WORD bcHeight;
WORD bcPlanes; WORD bcPlanes;
WORD bcBitCount; WORD bcBitCount;
} BITMAPCOREHEADER, FAR *LPBITMAPCOREHEADER, *PBITMAPCOREHEADER; } BITMAPCOREHEADER, FAR *LPBITMAPCOREHEADER, *PBITMAPCOREHEADER;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion #pragma endregion
#pragma region Application Family #pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
typedef struct tagBITMAPINFOHEADER{ typedef struct tagBITMAPINFOHEADER{
DWORD biSize; DWORD biSize;
LONG biWidth; LONG biWidth;
LONG biHeight; LONG biHeight;
WORD biPlanes; WORD biPlanes;
WORD biBitCount; WORD biBitCount;
DWORD biCompression; DWORD biCompression;
DWORD biSizeImage; DWORD biSizeImage;
LONG biXPelsPerMeter; LONG biXPelsPerMeter;
LONG biYPelsPerMeter; LONG biYPelsPerMeter;
DWORD biClrUsed; DWORD biClrUsed;
DWORD biClrImportant; DWORD biClrImportant;
} BITMAPINFOHEADER, FAR *LPBITMAPINFOHEADER, *PBITMAPINFOHEADER; } BITMAPINFOHEADER, FAR *LPBITMAPINFOHEADER, *PBITMAPINFOHEADER;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#if(WINVER >= 0x0400) #if(WINVER >= 0x0400)
#pragma region Desktop Family #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef struct { typedef struct {
DWORD bV4Size; DWORD bV4Size;
LONG bV4Width; LONG bV4Width;
skipping to change at line 902 skipping to change at line 906
#define BI_RGB 0L #define BI_RGB 0L
#define BI_RLE8 1L #define BI_RLE8 1L
#define BI_RLE4 2L #define BI_RLE4 2L
#define BI_BITFIELDS 3L #define BI_BITFIELDS 3L
#define BI_JPEG 4L #define BI_JPEG 4L
#define BI_PNG 5L #define BI_PNG 5L
#if (_WIN32_WINNT >= _WIN32_WINNT_NT4) #if (_WIN32_WINNT >= _WIN32_WINNT_NT4)
#endif #endif
#pragma region Application Family #pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
typedef struct tagBITMAPINFO { typedef struct tagBITMAPINFO {
BITMAPINFOHEADER bmiHeader; BITMAPINFOHEADER bmiHeader;
RGBQUAD bmiColors[1]; RGBQUAD bmiColors[1];
} BITMAPINFO, FAR *LPBITMAPINFO, *PBITMAPINFO; } BITMAPINFO, FAR *LPBITMAPINFO, *PBITMAPINFO;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#pragma region Desktop Family #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef struct tagBITMAPCOREINFO { typedef struct tagBITMAPCOREINFO {
BITMAPCOREHEADER bmciHeader; BITMAPCOREHEADER bmciHeader;
RGBTRIPLE bmciColors[1]; RGBTRIPLE bmciColors[1];
} BITMAPCOREINFO, FAR *LPBITMAPCOREINFO, *PBITMAPCOREINFO; } BITMAPCOREINFO, FAR *LPBITMAPCOREINFO, *PBITMAPCOREINFO;
skipping to change at line 946 skipping to change at line 950
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion #pragma endregion
#include <poppack.h> #include <poppack.h>
#define MAKEPOINTS(l) (*((POINTS FAR *)&(l))) #define MAKEPOINTS(l) (*((POINTS FAR *)&(l)))
#if(WINVER >= 0x0400) #if(WINVER >= 0x0400)
#ifndef NOFONTSIG #ifndef NOFONTSIG
#pragma region Desktop Family #pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
typedef struct tagFONTSIGNATURE typedef struct tagFONTSIGNATURE
{ {
DWORD fsUsb[4]; DWORD fsUsb[4];
DWORD fsCsb[2]; DWORD fsCsb[2];
} FONTSIGNATURE, *PFONTSIGNATURE,FAR *LPFONTSIGNATURE; } FONTSIGNATURE, *PFONTSIGNATURE,FAR *LPFONTSIGNATURE;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM
) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef struct tagCHARSETINFO typedef struct tagCHARSETINFO
{ {
UINT ciCharset; UINT ciCharset;
UINT ciACP; UINT ciACP;
FONTSIGNATURE fs; FONTSIGNATURE fs;
} CHARSETINFO, *PCHARSETINFO, NEAR *NPCHARSETINFO, FAR *LPCHARSETINFO; } CHARSETINFO, *PCHARSETINFO, NEAR *NPCHARSETINFO, FAR *LPCHARSETINFO;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion #pragma endregion
#define TCI_SRCCHARSET 1 #define TCI_SRCCHARSET 1
#define TCI_SRCCODEPAGE 2 #define TCI_SRCCODEPAGE 2
#define TCI_SRCFONTSIG 3 #define TCI_SRCFONTSIG 3
#if (_WIN32_WINNT >= _WIN32_WINNT_WINXP) #if (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
#define TCI_SRCLOCALE 0x1000 #define TCI_SRCLOCALE 0x1000
#endif // (_WIN32_WINNT >= _WIN32_WINNT_WINXP) #endif // (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
#pragma region Application Family #pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
typedef struct tagLOCALESIGNATURE typedef struct tagLOCALESIGNATURE
{ {
DWORD lsUsb[4]; DWORD lsUsb[4];
DWORD lsCsbDefault[2]; DWORD lsCsbDefault[2];
DWORD lsCsbSupported[2]; DWORD lsCsbSupported[2];
} LOCALESIGNATURE, *PLOCALESIGNATURE,FAR *LPLOCALESIGNATURE; } LOCALESIGNATURE, *PLOCALESIGNATURE,FAR *LPLOCALESIGNATURE;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#endif #endif
#endif /* WINVER >= 0x0400 */ #endif /* WINVER >= 0x0400 */
#ifndef NOMETAFILE #ifndef NOMETAFILE
#pragma region Application Family #pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
/* Clipboard Metafile Picture Structure */ /* Clipboard Metafile Picture Structure */
typedef struct tagHANDLETABLE typedef struct tagHANDLETABLE
{ {
HGDIOBJ objectHandle[1]; HGDIOBJ objectHandle[1];
} HANDLETABLE, *PHANDLETABLE, FAR *LPHANDLETABLE; } HANDLETABLE, *PHANDLETABLE, FAR *LPHANDLETABLE;
typedef struct tagMETARECORD typedef struct tagMETARECORD
{ {
DWORD rdSize; DWORD rdSize;
WORD rdFunction; WORD rdFunction;
WORD rdParm[1]; WORD rdParm[1];
} METARECORD; } METARECORD;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#pragma region Desktop Family #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef struct tagMETARECORD UNALIGNED *PMETARECORD; typedef struct tagMETARECORD UNALIGNED *PMETARECORD;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion #pragma endregion
#pragma region Application Family #pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
typedef struct tagMETARECORD UNALIGNED FAR *LPMETARECORD; typedef struct tagMETARECORD UNALIGNED FAR *LPMETARECORD;
typedef struct tagMETAFILEPICT typedef struct tagMETAFILEPICT
{ {
LONG mm; LONG mm;
LONG xExt; LONG xExt;
LONG yExt; LONG yExt;
HMETAFILE hMF; HMETAFILE hMF;
} METAFILEPICT, FAR *LPMETAFILEPICT; } METAFILEPICT, FAR *LPMETAFILEPICT;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#include <pshpack2.h> #include <pshpack2.h>
#pragma region Desktop Family #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef struct tagMETAHEADER typedef struct tagMETAHEADER
{ {
WORD mtType; WORD mtType;
skipping to change at line 1058 skipping to change at line 1068
} METAHEADER; } METAHEADER;
typedef struct tagMETAHEADER UNALIGNED *PMETAHEADER; typedef struct tagMETAHEADER UNALIGNED *PMETAHEADER;
typedef struct tagMETAHEADER UNALIGNED FAR *LPMETAHEADER; typedef struct tagMETAHEADER UNALIGNED FAR *LPMETAHEADER;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion #pragma endregion
#include <poppack.h> #include <poppack.h>
#pragma region Application Family #pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
/* Enhanced Metafile structures */ /* Enhanced Metafile structures */
typedef struct tagENHMETARECORD typedef struct tagENHMETARECORD
{ {
DWORD iType; // Record type EMR_XXX DWORD iType; // Record type EMR_XXX
DWORD nSize; // Record size in bytes DWORD nSize; // Record size in bytes
DWORD dParm[1]; // Parameters DWORD dParm[1]; // Parameters
} ENHMETARECORD, *PENHMETARECORD, *LPENHMETARECORD; } ENHMETARECORD, *PENHMETARECORD, *LPENHMETARECORD;
typedef struct tagENHMETAHEADER typedef struct tagENHMETAHEADER
skipping to change at line 1103 skipping to change at line 1113
// This is 0 if no pixel format is set // This is 0 if no pixel format is set
DWORD bOpenGL; // TRUE if OpenGL commands are present in DWORD bOpenGL; // TRUE if OpenGL commands are present in
// the metafile, otherwise FALSE // the metafile, otherwise FALSE
#endif /* WINVER >= 0x0400 */ #endif /* WINVER >= 0x0400 */
#if(WINVER >= 0x0500) #if(WINVER >= 0x0500)
SIZEL szlMicrometers; // Size of the reference device in micrometers SIZEL szlMicrometers; // Size of the reference device in micrometers
#endif /* WINVER >= 0x0500 */ #endif /* WINVER >= 0x0500 */
} ENHMETAHEADER, *PENHMETAHEADER, *LPENHMETAHEADER; } ENHMETAHEADER, *PENHMETAHEADER, *LPENHMETAHEADER;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#endif /* NOMETAFILE */ #endif /* NOMETAFILE */
#ifndef NOTEXTMETRIC #ifndef NOTEXTMETRIC
/* tmPitchAndFamily flags */ /* tmPitchAndFamily flags */
#define TMPF_FIXED_PITCH 0x01 #define TMPF_FIXED_PITCH 0x01
#define TMPF_VECTOR 0x02 #define TMPF_VECTOR 0x02
#define TMPF_DEVICE 0x08 #define TMPF_DEVICE 0x08
skipping to change at line 1136 skipping to change at line 1146
#endif #endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion #pragma endregion
#ifndef _TEXTMETRIC_DEFINED #ifndef _TEXTMETRIC_DEFINED
#define _TEXTMETRIC_DEFINED #define _TEXTMETRIC_DEFINED
#include <pshpack4.h> #include <pshpack4.h>
#pragma region Application Family #pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
typedef struct tagTEXTMETRICA typedef struct tagTEXTMETRICA
{ {
LONG tmHeight; LONG tmHeight;
LONG tmAscent; LONG tmAscent;
LONG tmDescent; LONG tmDescent;
LONG tmInternalLeading; LONG tmInternalLeading;
LONG tmExternalLeading; LONG tmExternalLeading;
LONG tmAveCharWidth; LONG tmAveCharWidth;
LONG tmMaxCharWidth; LONG tmMaxCharWidth;
skipping to change at line 1196 skipping to change at line 1206
typedef PTEXTMETRICW PTEXTMETRIC; typedef PTEXTMETRICW PTEXTMETRIC;
typedef NPTEXTMETRICW NPTEXTMETRIC; typedef NPTEXTMETRICW NPTEXTMETRIC;
typedef LPTEXTMETRICW LPTEXTMETRIC; typedef LPTEXTMETRICW LPTEXTMETRIC;
#else #else
typedef TEXTMETRICA TEXTMETRIC; typedef TEXTMETRICA TEXTMETRIC;
typedef PTEXTMETRICA PTEXTMETRIC; typedef PTEXTMETRICA PTEXTMETRIC;
typedef NPTEXTMETRICA NPTEXTMETRIC; typedef NPTEXTMETRICA NPTEXTMETRIC;
typedef LPTEXTMETRICA LPTEXTMETRIC; typedef LPTEXTMETRICA LPTEXTMETRIC;
#endif // UNICODE #endif // UNICODE
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#include <poppack.h> #include <poppack.h>
#endif // !_TEXTMETRIC_DEFINED #endif // !_TEXTMETRIC_DEFINED
/* ntmFlags field flags */ /* ntmFlags field flags */
#define NTM_REGULAR 0x00000040L #define NTM_REGULAR 0x00000040L
#define NTM_BOLD 0x00000020L #define NTM_BOLD 0x00000020L
#define NTM_ITALIC 0x00000001L #define NTM_ITALIC 0x00000001L
skipping to change at line 1337 skipping to change at line 1347
LONG paYCount; LONG paYCount;
LONG paXExt; LONG paXExt;
LONG paYExt; LONG paYExt;
BYTE paRGBs; BYTE paRGBs;
} PELARRAY, *PPELARRAY, NEAR *NPPELARRAY, FAR *LPPELARRAY; } PELARRAY, *PPELARRAY, NEAR *NPPELARRAY, FAR *LPPELARRAY;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion #pragma endregion
#pragma region Application Family #pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
/* Logical Brush (or Pattern) */ /* Logical Brush (or Pattern) */
typedef struct tagLOGBRUSH typedef struct tagLOGBRUSH
{ {
UINT lbStyle; UINT lbStyle;
COLORREF lbColor; COLORREF lbColor;
ULONG_PTR lbHatch; ULONG_PTR lbHatch;
} LOGBRUSH, *PLOGBRUSH, NEAR *NPLOGBRUSH, FAR *LPLOGBRUSH; } LOGBRUSH, *PLOGBRUSH, NEAR *NPLOGBRUSH, FAR *LPLOGBRUSH;
typedef struct tagLOGBRUSH32 typedef struct tagLOGBRUSH32
{ {
UINT lbStyle; UINT lbStyle;
COLORREF lbColor; COLORREF lbColor;
ULONG lbHatch; ULONG lbHatch;
} LOGBRUSH32, *PLOGBRUSH32, NEAR *NPLOGBRUSH32, FAR *LPLOGBRUSH32; } LOGBRUSH32, *PLOGBRUSH32, NEAR *NPLOGBRUSH32, FAR *LPLOGBRUSH32;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#pragma region Desktop Family #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef LOGBRUSH PATTERN; typedef LOGBRUSH PATTERN;
typedef PATTERN *PPATTERN; typedef PATTERN *PPATTERN;
typedef PATTERN NEAR *NPPATTERN; typedef PATTERN NEAR *NPPATTERN;
typedef PATTERN FAR *LPPATTERN; typedef PATTERN FAR *LPPATTERN;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion #pragma endregion
#pragma region Application Family #pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
/* Logical Pen */ /* Logical Pen */
typedef struct tagLOGPEN typedef struct tagLOGPEN
{ {
UINT lopnStyle; UINT lopnStyle;
POINT lopnWidth; POINT lopnWidth;
COLORREF lopnColor; COLORREF lopnColor;
} LOGPEN, *PLOGPEN, NEAR *NPLOGPEN, FAR *LPLOGPEN; } LOGPEN, *PLOGPEN, NEAR *NPLOGPEN, FAR *LPLOGPEN;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#pragma region Desktop Family #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef struct tagEXTLOGPEN { typedef struct tagEXTLOGPEN {
DWORD elpPenStyle; DWORD elpPenStyle;
DWORD elpWidth; DWORD elpWidth;
UINT elpBrushStyle; UINT elpBrushStyle;
COLORREF elpColor; COLORREF elpColor;
ULONG_PTR elpHatch; ULONG_PTR elpHatch;
DWORD elpNumEntries; DWORD elpNumEntries;
DWORD elpStyleEntry[1]; DWORD elpStyleEntry[1];
} EXTLOGPEN, *PEXTLOGPEN, NEAR *NPEXTLOGPEN, FAR *LPEXTLOGPEN; } EXTLOGPEN, *PEXTLOGPEN, NEAR *NPEXTLOGPEN, FAR *LPEXTLOGPEN;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion #pragma endregion
#pragma region Application Family #pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
typedef struct tagEXTLOGPEN32 { typedef struct tagEXTLOGPEN32 {
DWORD elpPenStyle; DWORD elpPenStyle;
DWORD elpWidth; DWORD elpWidth;
UINT elpBrushStyle; UINT elpBrushStyle;
COLORREF elpColor; COLORREF elpColor;
ULONG elpHatch; ULONG elpHatch;
DWORD elpNumEntries; DWORD elpNumEntries;
DWORD elpStyleEntry[1]; DWORD elpStyleEntry[1];
} EXTLOGPEN32, *PEXTLOGPEN32, NEAR *NPEXTLOGPEN32, FAR *LPEXTLOGPEN32; } EXTLOGPEN32, *PEXTLOGPEN32, NEAR *NPEXTLOGPEN32, FAR *LPEXTLOGPEN32;
skipping to change at line 1480 skipping to change at line 1490
typedef PLOGFONTW PLOGFONT; typedef PLOGFONTW PLOGFONT;
typedef NPLOGFONTW NPLOGFONT; typedef NPLOGFONTW NPLOGFONT;
typedef LPLOGFONTW LPLOGFONT; typedef LPLOGFONTW LPLOGFONT;
#else #else
typedef LOGFONTA LOGFONT; typedef LOGFONTA LOGFONT;
typedef PLOGFONTA PLOGFONT; typedef PLOGFONTA PLOGFONT;
typedef NPLOGFONTA NPLOGFONT; typedef NPLOGFONTA NPLOGFONT;
typedef LPLOGFONTA LPLOGFONT; typedef LPLOGFONTA LPLOGFONT;
#endif // UNICODE #endif // UNICODE
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#define LF_FULLFACESIZE 64 #define LF_FULLFACESIZE 64
#pragma region Desktop Family #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
/* Structure passed to FONTENUMPROC */ /* Structure passed to FONTENUMPROC */
typedef struct tagENUMLOGFONTA typedef struct tagENUMLOGFONTA
{ {
skipping to change at line 1665 skipping to change at line 1675
#define PAN_CONTRAST_INDEX 4 #define PAN_CONTRAST_INDEX 4
#define PAN_STROKEVARIATION_INDEX 5 #define PAN_STROKEVARIATION_INDEX 5
#define PAN_ARMSTYLE_INDEX 6 #define PAN_ARMSTYLE_INDEX 6
#define PAN_LETTERFORM_INDEX 7 #define PAN_LETTERFORM_INDEX 7
#define PAN_MIDLINE_INDEX 8 #define PAN_MIDLINE_INDEX 8
#define PAN_XHEIGHT_INDEX 9 #define PAN_XHEIGHT_INDEX 9
#define PAN_CULTURE_LATIN 0 #define PAN_CULTURE_LATIN 0
#pragma region Application Family #pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
typedef struct tagPANOSE typedef struct tagPANOSE
{ {
BYTE bFamilyType; BYTE bFamilyType;
BYTE bSerifStyle; BYTE bSerifStyle;
BYTE bWeight; BYTE bWeight;
BYTE bProportion; BYTE bProportion;
BYTE bContrast; BYTE bContrast;
BYTE bStrokeVariation; BYTE bStrokeVariation;
BYTE bArmStyle; BYTE bArmStyle;
skipping to change at line 1828 skipping to change at line 1838
typedef PEXTLOGFONTW PEXTLOGFONT; typedef PEXTLOGFONTW PEXTLOGFONT;
typedef NPEXTLOGFONTW NPEXTLOGFONT; typedef NPEXTLOGFONTW NPEXTLOGFONT;
typedef LPEXTLOGFONTW LPEXTLOGFONT; typedef LPEXTLOGFONTW LPEXTLOGFONT;
#else #else
typedef EXTLOGFONTA EXTLOGFONT; typedef EXTLOGFONTA EXTLOGFONT;
typedef PEXTLOGFONTA PEXTLOGFONT; typedef PEXTLOGFONTA PEXTLOGFONT;
typedef NPEXTLOGFONTA NPEXTLOGFONT; typedef NPEXTLOGFONTA NPEXTLOGFONT;
typedef LPEXTLOGFONTA LPEXTLOGFONT; typedef LPEXTLOGFONTA LPEXTLOGFONT;
#endif // UNICODE #endif // UNICODE
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#define ELF_VERSION 0 #define ELF_VERSION 0
#define ELF_CULTURE_LATIN 0 #define ELF_CULTURE_LATIN 0
/* EnumFonts Masks */ /* EnumFonts Masks */
#define RASTER_FONTTYPE 0x0001 #define RASTER_FONTTYPE 0x0001
#define DEVICE_FONTTYPE 0x0002 #define DEVICE_FONTTYPE 0x0002
#define TRUETYPE_FONTTYPE 0x0004 #define TRUETYPE_FONTTYPE 0x0004
skipping to change at line 2173 skipping to change at line 2183
#define FLOODFILLBORDER 0 #define FLOODFILLBORDER 0
#define FLOODFILLSURFACE 1 #define FLOODFILLSURFACE 1
/* size of a device name string */ /* size of a device name string */
#define CCHDEVICENAME 32 #define CCHDEVICENAME 32
/* size of a form name string */ /* size of a form name string */
#define CCHFORMNAME 32 #define CCHFORMNAME 32
#pragma region Application Family #pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
#if (_WIN32_WINNT >= ((OSVER(NTDDI_WINXPSP2)) >> 16)) #if (_WIN32_WINNT >= ((OSVER(NTDDI_WINXPSP2)) >> 16))
typedef struct _devicemodeA { typedef struct _devicemodeA {
BYTE dmDeviceName[CCHDEVICENAME]; BYTE dmDeviceName[CCHDEVICENAME];
WORD dmSpecVersion; WORD dmSpecVersion;
WORD dmDriverVersion; WORD dmDriverVersion;
WORD dmSize; WORD dmSize;
WORD dmDriverExtra; WORD dmDriverExtra;
DWORD dmFields; DWORD dmFields;
union { union {
/* printer only fields */ /* printer only fields */
struct { struct {
short dmOrientation; short dmOrientation;
short dmPaperSize; short dmPaperSize;
short dmPaperLength; short dmPaperLength;
short dmPaperWidth; short dmPaperWidth;
short dmScale; short dmScale;
short dmCopies; short dmCopies;
short dmDefaultSource; short dmDefaultSource;
short dmPrintQuality; short dmPrintQuality;
}; } DUMMYSTRUCTNAME;
/* display only fields */ /* display only fields */
struct { struct {
POINTL dmPosition; POINTL dmPosition;
DWORD dmDisplayOrientation; DWORD dmDisplayOrientation;
DWORD dmDisplayFixedOutput; DWORD dmDisplayFixedOutput;
}; } DUMMYSTRUCTNAME2;
}; } DUMMYUNIONNAME;
short dmColor; short dmColor;
short dmDuplex; short dmDuplex;
short dmYResolution; short dmYResolution;
short dmTTOption; short dmTTOption;
short dmCollate; short dmCollate;
BYTE dmFormName[CCHFORMNAME]; BYTE dmFormName[CCHFORMNAME];
WORD dmLogPixels; WORD dmLogPixels;
DWORD dmBitsPerPel; DWORD dmBitsPerPel;
DWORD dmPelsWidth; DWORD dmPelsWidth;
DWORD dmPelsHeight; DWORD dmPelsHeight;
union { union {
DWORD dmDisplayFlags; DWORD dmDisplayFlags;
DWORD dmNup; DWORD dmNup;
}; } DUMMYUNIONNAME2;
DWORD dmDisplayFrequency; DWORD dmDisplayFrequency;
#if(WINVER >= 0x0400) #if(WINVER >= 0x0400)
DWORD dmICMMethod; DWORD dmICMMethod;
DWORD dmICMIntent; DWORD dmICMIntent;
DWORD dmMediaType; DWORD dmMediaType;
DWORD dmDitherType; DWORD dmDitherType;
DWORD dmReserved1; DWORD dmReserved1;
DWORD dmReserved2; DWORD dmReserved2;
#if (WINVER >= 0x0500) || (_WIN32_WINNT >= _WIN32_WINNT_NT4) #if (WINVER >= 0x0500) || (_WIN32_WINNT >= _WIN32_WINNT_NT4)
DWORD dmPanningWidth; DWORD dmPanningWidth;
skipping to change at line 2248 skipping to change at line 2258
/* printer only fields */ /* printer only fields */
struct { struct {
short dmOrientation; short dmOrientation;
short dmPaperSize; short dmPaperSize;
short dmPaperLength; short dmPaperLength;
short dmPaperWidth; short dmPaperWidth;
short dmScale; short dmScale;
short dmCopies; short dmCopies;
short dmDefaultSource; short dmDefaultSource;
short dmPrintQuality; short dmPrintQuality;
}; } DUMMYSTRUCTNAME;
/* display only fields */ /* display only fields */
struct { struct {
POINTL dmPosition; POINTL dmPosition;
DWORD dmDisplayOrientation; DWORD dmDisplayOrientation;
DWORD dmDisplayFixedOutput; DWORD dmDisplayFixedOutput;
}; } DUMMYSTRUCTNAME2;
}; } DUMMYUNIONNAME;
short dmColor; short dmColor;
short dmDuplex; short dmDuplex;
short dmYResolution; short dmYResolution;
short dmTTOption; short dmTTOption;
short dmCollate; short dmCollate;
WCHAR dmFormName[CCHFORMNAME]; WCHAR dmFormName[CCHFORMNAME];
WORD dmLogPixels; WORD dmLogPixels;
DWORD dmBitsPerPel; DWORD dmBitsPerPel;
DWORD dmPelsWidth; DWORD dmPelsWidth;
DWORD dmPelsHeight; DWORD dmPelsHeight;
union { union {
DWORD dmDisplayFlags; DWORD dmDisplayFlags;
DWORD dmNup; DWORD dmNup;
}; } DUMMYUNIONNAME2;
DWORD dmDisplayFrequency; DWORD dmDisplayFrequency;
#if(WINVER >= 0x0400) #if(WINVER >= 0x0400)
DWORD dmICMMethod; DWORD dmICMMethod;
DWORD dmICMIntent; DWORD dmICMIntent;
DWORD dmMediaType; DWORD dmMediaType;
DWORD dmDitherType; DWORD dmDitherType;
DWORD dmReserved1; DWORD dmReserved1;
DWORD dmReserved2; DWORD dmReserved2;
#if (WINVER >= 0x0500) || (_WIN32_WINNT >= _WIN32_WINNT_NT4) #if (WINVER >= 0x0500) || (_WIN32_WINNT >= _WIN32_WINNT_NT4)
DWORD dmPanningWidth; DWORD dmPanningWidth;
skipping to change at line 2309 skipping to change at line 2319
WORD dmDriverVersion; WORD dmDriverVersion;
WORD dmSize; WORD dmSize;
WORD dmDriverExtra; WORD dmDriverExtra;
DWORD dmFields; DWORD dmFields;
union { union {
struct { struct {
short dmOrientation; short dmOrientation;
short dmPaperSize; short dmPaperSize;
short dmPaperLength; short dmPaperLength;
short dmPaperWidth; short dmPaperWidth;
}; } DUMMYSTRUCTNAME;
POINTL dmPosition; POINTL dmPosition;
}; } DUMMYUNIONNAME;
short dmScale; short dmScale;
short dmCopies; short dmCopies;
short dmDefaultSource; short dmDefaultSource;
short dmPrintQuality; short dmPrintQuality;
short dmColor; short dmColor;
short dmDuplex; short dmDuplex;
short dmYResolution; short dmYResolution;
short dmTTOption; short dmTTOption;
short dmCollate; short dmCollate;
BYTE dmFormName[CCHFORMNAME]; BYTE dmFormName[CCHFORMNAME];
WORD dmLogPixels; WORD dmLogPixels;
DWORD dmBitsPerPel; DWORD dmBitsPerPel;
DWORD dmPelsWidth; DWORD dmPelsWidth;
DWORD dmPelsHeight; DWORD dmPelsHeight;
union { union {
DWORD dmDisplayFlags; DWORD dmDisplayFlags;
DWORD dmNup; DWORD dmNup;
}; } DUMMYUNIONNAME2;
DWORD dmDisplayFrequency; DWORD dmDisplayFrequency;
#if(WINVER >= 0x0400) #if(WINVER >= 0x0400)
DWORD dmICMMethod; DWORD dmICMMethod;
DWORD dmICMIntent; DWORD dmICMIntent;
DWORD dmMediaType; DWORD dmMediaType;
DWORD dmDitherType; DWORD dmDitherType;
DWORD dmReserved1; DWORD dmReserved1;
DWORD dmReserved2; DWORD dmReserved2;
#if (WINVER >= 0x0500) || (_WIN32_WINNT >= _WIN32_WINNT_NT4) #if (WINVER >= 0x0500) || (_WIN32_WINNT >= _WIN32_WINNT_NT4)
DWORD dmPanningWidth; DWORD dmPanningWidth;
skipping to change at line 2357 skipping to change at line 2367
WORD dmDriverVersion; WORD dmDriverVersion;
WORD dmSize; WORD dmSize;
WORD dmDriverExtra; WORD dmDriverExtra;
DWORD dmFields; DWORD dmFields;
union { union {
struct { struct {
short dmOrientation; short dmOrientation;
short dmPaperSize; short dmPaperSize;
short dmPaperLength; short dmPaperLength;
short dmPaperWidth; short dmPaperWidth;
}; } DUMMYSTRUCTNAME;
POINTL dmPosition; POINTL dmPosition;
}; } DUMMYUNIONNAME;
short dmScale; short dmScale;
short dmCopies; short dmCopies;
short dmDefaultSource; short dmDefaultSource;
short dmPrintQuality; short dmPrintQuality;
short dmColor; short dmColor;
short dmDuplex; short dmDuplex;
short dmYResolution; short dmYResolution;
short dmTTOption; short dmTTOption;
short dmCollate; short dmCollate;
WCHAR dmFormName[CCHFORMNAME]; WCHAR dmFormName[CCHFORMNAME];
WORD dmLogPixels; WORD dmLogPixels;
DWORD dmBitsPerPel; DWORD dmBitsPerPel;
DWORD dmPelsWidth; DWORD dmPelsWidth;
DWORD dmPelsHeight; DWORD dmPelsHeight;
union { union {
DWORD dmDisplayFlags; DWORD dmDisplayFlags;
DWORD dmNup; DWORD dmNup;
}; } DUMMYUNIONNAME2;
DWORD dmDisplayFrequency; DWORD dmDisplayFrequency;
#if(WINVER >= 0x0400) #if(WINVER >= 0x0400)
DWORD dmICMMethod; DWORD dmICMMethod;
DWORD dmICMIntent; DWORD dmICMIntent;
DWORD dmMediaType; DWORD dmMediaType;
DWORD dmDitherType; DWORD dmDitherType;
DWORD dmReserved1; DWORD dmReserved1;
DWORD dmReserved2; DWORD dmReserved2;
#if (WINVER >= 0x0500) || (_WIN32_WINNT >= _WIN32_WINNT_NT4) #if (WINVER >= 0x0500) || (_WIN32_WINNT >= _WIN32_WINNT_NT4)
DWORD dmPanningWidth; DWORD dmPanningWidth;
skipping to change at line 2405 skipping to change at line 2415
typedef NPDEVMODEW NPDEVMODE; typedef NPDEVMODEW NPDEVMODE;
typedef LPDEVMODEW LPDEVMODE; typedef LPDEVMODEW LPDEVMODE;
#else #else
typedef DEVMODEA DEVMODE; typedef DEVMODEA DEVMODE;
typedef PDEVMODEA PDEVMODE; typedef PDEVMODEA PDEVMODE;
typedef NPDEVMODEA NPDEVMODE; typedef NPDEVMODEA NPDEVMODE;
typedef LPDEVMODEA LPDEVMODE; typedef LPDEVMODEA LPDEVMODE;
#endif // UNICODE #endif // UNICODE
#endif // (_WIN32_WINNT >= _WIN32_WINNT_WINXP) #endif // (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
/* current version of specification */ /* current version of specification */
#if (WINVER >= 0x0500) || (_WIN32_WINNT >= _WIN32_WINNT_NT4) #if (WINVER >= 0x0500) || (_WIN32_WINNT >= _WIN32_WINNT_NT4)
#define DM_SPECVERSION 0x0401 #define DM_SPECVERSION 0x0401
#elif (WINVER >= 0x0400) #elif (WINVER >= 0x0400)
#define DM_SPECVERSION 0x0400 #define DM_SPECVERSION 0x0400
#else #else
#define DM_SPECVERSION 0x0320 #define DM_SPECVERSION 0x0320
#endif /* WINVER */ #endif /* WINVER */
skipping to change at line 2708 skipping to change at line 2718
#define DMDITHER_RESERVED6 6 /* LineArt dithering */ #define DMDITHER_RESERVED6 6 /* LineArt dithering */
#define DMDITHER_RESERVED7 7 /* LineArt dithering */ #define DMDITHER_RESERVED7 7 /* LineArt dithering */
#define DMDITHER_RESERVED8 8 /* LineArt dithering */ #define DMDITHER_RESERVED8 8 /* LineArt dithering */
#define DMDITHER_RESERVED9 9 /* LineArt dithering */ #define DMDITHER_RESERVED9 9 /* LineArt dithering */
#define DMDITHER_GRAYSCALE 10 /* Device does grayscaling */ #define DMDITHER_GRAYSCALE 10 /* Device does grayscaling */
#define DMDITHER_USER 256 /* Device-specific dithers start here */ #define DMDITHER_USER 256 /* Device-specific dithers start here */
#endif /* WINVER >= 0x0400 */ #endif /* WINVER >= 0x0400 */
#pragma region Application Family #pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
typedef struct _DISPLAY_DEVICEA { typedef struct _DISPLAY_DEVICEA {
DWORD cb; DWORD cb;
CHAR DeviceName[32]; CHAR DeviceName[32];
CHAR DeviceString[128]; CHAR DeviceString[128];
DWORD StateFlags; DWORD StateFlags;
CHAR DeviceID[128]; CHAR DeviceID[128];
CHAR DeviceKey[128]; CHAR DeviceKey[128];
} DISPLAY_DEVICEA, *PDISPLAY_DEVICEA, *LPDISPLAY_DEVICEA; } DISPLAY_DEVICEA, *PDISPLAY_DEVICEA, *LPDISPLAY_DEVICEA;
typedef struct _DISPLAY_DEVICEW { typedef struct _DISPLAY_DEVICEW {
skipping to change at line 2736 skipping to change at line 2746
#ifdef UNICODE #ifdef UNICODE
typedef DISPLAY_DEVICEW DISPLAY_DEVICE; typedef DISPLAY_DEVICEW DISPLAY_DEVICE;
typedef PDISPLAY_DEVICEW PDISPLAY_DEVICE; typedef PDISPLAY_DEVICEW PDISPLAY_DEVICE;
typedef LPDISPLAY_DEVICEW LPDISPLAY_DEVICE; typedef LPDISPLAY_DEVICEW LPDISPLAY_DEVICE;
#else #else
typedef DISPLAY_DEVICEA DISPLAY_DEVICE; typedef DISPLAY_DEVICEA DISPLAY_DEVICE;
typedef PDISPLAY_DEVICEA PDISPLAY_DEVICE; typedef PDISPLAY_DEVICEA PDISPLAY_DEVICE;
typedef LPDISPLAY_DEVICEA LPDISPLAY_DEVICE; typedef LPDISPLAY_DEVICEA LPDISPLAY_DEVICE;
#endif // UNICODE #endif // UNICODE
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#define DISPLAY_DEVICE_ATTACHED_TO_DESKTOP 0x00000001 #define DISPLAY_DEVICE_ATTACHED_TO_DESKTOP 0x00000001
#define DISPLAY_DEVICE_MULTI_DRIVER 0x00000002 #define DISPLAY_DEVICE_MULTI_DRIVER 0x00000002
#define DISPLAY_DEVICE_PRIMARY_DEVICE 0x00000004 #define DISPLAY_DEVICE_PRIMARY_DEVICE 0x00000004
#define DISPLAY_DEVICE_MIRRORING_DRIVER 0x00000008 #define DISPLAY_DEVICE_MIRRORING_DRIVER 0x00000008
#define DISPLAY_DEVICE_VGA_COMPATIBLE 0x00000010 #define DISPLAY_DEVICE_VGA_COMPATIBLE 0x00000010
#if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K) #if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
#define DISPLAY_DEVICE_REMOVABLE 0x00000020 #define DISPLAY_DEVICE_REMOVABLE 0x00000020
#endif // (_WIN32_WINNT >= _WIN32_WINNT_WIN2K) #endif // (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
skipping to change at line 2773 skipping to change at line 2783
#define DISPLAY_DEVICE_ATTACHED 0x00000002 #define DISPLAY_DEVICE_ATTACHED 0x00000002
#endif // (_WIN32_WINNT >= _WIN32_WINNT_WIN2K) #endif // (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
#if(WINVER >= 0x0601) #if(WINVER >= 0x0601)
#define DISPLAYCONFIG_MAXPATH 1024 // Maximum display path in system. #define DISPLAYCONFIG_MAXPATH 1024 // Maximum display path in system.
// Max adapter (16) * Max source (16) * // Max adapter (16) * Max source (16) *
// Max clone pre source (4) // Max clone pre source (4)
#pragma region Application Family #pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
typedef struct DISPLAYCONFIG_RATIONAL typedef struct DISPLAYCONFIG_RATIONAL
{ {
UINT32 Numerator; UINT32 Numerator;
UINT32 Denominator; UINT32 Denominator;
} DISPLAYCONFIG_RATIONAL; } DISPLAYCONFIG_RATIONAL;
typedef enum typedef enum
{ {
DISPLAYCONFIG_OUTPUT_TECHNOLOGY_OTHER = -1, DISPLAYCONFIG_OUTPUT_TECHNOLOGY_OTHER = -1,
skipping to change at line 2840 skipping to change at line 2850
{ {
UINT32 videoStandard : 16; UINT32 videoStandard : 16;
// Vertical refresh frequency divider // Vertical refresh frequency divider
UINT32 vSyncFreqDivider : 6; UINT32 vSyncFreqDivider : 6;
UINT32 reserved : 10; UINT32 reserved : 10;
} AdditionalSignalInfo; } AdditionalSignalInfo;
UINT32 videoStandard; UINT32 videoStandard;
}; } DUMMYUNIONNAME;
// Scan line ordering (e.g. progressive, interlaced). // Scan line ordering (e.g. progressive, interlaced).
DISPLAYCONFIG_SCANLINE_ORDERING scanLineOrdering; DISPLAYCONFIG_SCANLINE_ORDERING scanLineOrdering;
} DISPLAYCONFIG_VIDEO_SIGNAL_INFO; } DISPLAYCONFIG_VIDEO_SIGNAL_INFO;
typedef enum typedef enum
{ {
DISPLAYCONFIG_SCALING_IDENTITY = 1, DISPLAYCONFIG_SCALING_IDENTITY = 1,
DISPLAYCONFIG_SCALING_CENTERED = 2, DISPLAYCONFIG_SCALING_CENTERED = 2,
DISPLAYCONFIG_SCALING_STRETCHED = 3, DISPLAYCONFIG_SCALING_STRETCHED = 3,
skipping to change at line 2868 skipping to change at line 2878
{ {
DISPLAYCONFIG_ROTATION_IDENTITY = 1, DISPLAYCONFIG_ROTATION_IDENTITY = 1,
DISPLAYCONFIG_ROTATION_ROTATE90 = 2, DISPLAYCONFIG_ROTATION_ROTATE90 = 2,
DISPLAYCONFIG_ROTATION_ROTATE180 = 3, DISPLAYCONFIG_ROTATION_ROTATE180 = 3,
DISPLAYCONFIG_ROTATION_ROTATE270 = 4, DISPLAYCONFIG_ROTATION_ROTATE270 = 4,
DISPLAYCONFIG_ROTATION_FORCE_UINT32 = 0xFFFFFFFF DISPLAYCONFIG_ROTATION_FORCE_UINT32 = 0xFFFFFFFF
} DISPLAYCONFIG_ROTATION; } DISPLAYCONFIG_ROTATION;
typedef enum typedef enum
{ {
DISPLAYCONFIG_MODE_INFO_TYPE_SOURCE = 1, DISPLAYCONFIG_MODE_INFO_TYPE_SOURCE = 1,
DISPLAYCONFIG_MODE_INFO_TYPE_TARGET = 2, DISPLAYCONFIG_MODE_INFO_TYPE_TARGET = 2,
DISPLAYCONFIG_MODE_INFO_TYPE_DESKTOP_IMAGE = 3,
DISPLAYCONFIG_MODE_INFO_TYPE_FORCE_UINT32 = 0xFFFFFFFF DISPLAYCONFIG_MODE_INFO_TYPE_FORCE_UINT32 = 0xFFFFFFFF
} DISPLAYCONFIG_MODE_INFO_TYPE; } DISPLAYCONFIG_MODE_INFO_TYPE;
typedef enum typedef enum
{ {
DISPLAYCONFIG_PIXELFORMAT_8BPP = 1, DISPLAYCONFIG_PIXELFORMAT_8BPP = 1,
DISPLAYCONFIG_PIXELFORMAT_16BPP = 2, DISPLAYCONFIG_PIXELFORMAT_16BPP = 2,
DISPLAYCONFIG_PIXELFORMAT_24BPP = 3, DISPLAYCONFIG_PIXELFORMAT_24BPP = 3,
DISPLAYCONFIG_PIXELFORMAT_32BPP = 4, DISPLAYCONFIG_PIXELFORMAT_32BPP = 4,
DISPLAYCONFIG_PIXELFORMAT_NONGDI = 5, DISPLAYCONFIG_PIXELFORMAT_NONGDI = 5,
skipping to change at line 2896 skipping to change at line 2907
UINT32 height; UINT32 height;
DISPLAYCONFIG_PIXELFORMAT pixelFormat; DISPLAYCONFIG_PIXELFORMAT pixelFormat;
POINTL position; POINTL position;
} DISPLAYCONFIG_SOURCE_MODE; } DISPLAYCONFIG_SOURCE_MODE;
typedef struct DISPLAYCONFIG_TARGET_MODE typedef struct DISPLAYCONFIG_TARGET_MODE
{ {
DISPLAYCONFIG_VIDEO_SIGNAL_INFO targetVideoSignalInfo; DISPLAYCONFIG_VIDEO_SIGNAL_INFO targetVideoSignalInfo;
} DISPLAYCONFIG_TARGET_MODE; } DISPLAYCONFIG_TARGET_MODE;
typedef struct DISPLAYCONFIG_DESKTOP_IMAGE_INFO
{
POINTL PathSourceSize;
RECTL DesktopImageRegion;
RECTL DesktopImageClip;
} DISPLAYCONFIG_DESKTOP_IMAGE_INFO;
typedef struct DISPLAYCONFIG_MODE_INFO typedef struct DISPLAYCONFIG_MODE_INFO
{ {
DISPLAYCONFIG_MODE_INFO_TYPE infoType; DISPLAYCONFIG_MODE_INFO_TYPE infoType;
UINT32 id; UINT32 id;
LUID adapterId; LUID adapterId;
union union
{ {
DISPLAYCONFIG_TARGET_MODE targetMode; DISPLAYCONFIG_TARGET_MODE targetMode;
DISPLAYCONFIG_SOURCE_MODE sourceMode; DISPLAYCONFIG_SOURCE_MODE sourceMode;
}; DISPLAYCONFIG_DESKTOP_IMAGE_INFO desktopImageInfo;
} DUMMYUNIONNAME;
} DISPLAYCONFIG_MODE_INFO; } DISPLAYCONFIG_MODE_INFO;
#define DISPLAYCONFIG_PATH_MODE_IDX_INVALID 0xffffffff #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 typedef struct DISPLAYCONFIG_PATH_SOURCE_INFO
{ {
LUID adapterId; LUID adapterId;
UINT32 id; UINT32 id;
UINT32 modeInfoIdx; union
{
UINT32 modeInfoIdx;
struct
{
UINT32 cloneGroupId : 16;
UINT32 sourceModeInfoIdx : 16;
} DUMMYSTRUCTNAME;
} DUMMYUNIONNAME;
UINT32 statusFlags; UINT32 statusFlags;
} DISPLAYCONFIG_PATH_SOURCE_INFO; } DISPLAYCONFIG_PATH_SOURCE_INFO;
// //
// Flags for source info structure (from OS to application through QDC) // Flags for source info structure (from OS to application through QDC)
// //
#define DISPLAYCONFIG_SOURCE_IN_USE 0x00000001 #define DISPLAYCONFIG_SOURCE_IN_USE 0x00000001
typedef struct DISPLAYCONFIG_PATH_TARGET_INFO typedef struct DISPLAYCONFIG_PATH_TARGET_INFO
{ {
LUID adapterId; LUID adapterId;
UINT32 id; UINT32 id;
UINT32 modeInfoIdx; union
{
UINT32 modeInfoIdx;
struct
{
UINT32 desktopModeInfoIdx : 16;
UINT32 targetModeInfoIdx : 16;
} DUMMYSTRUCTNAME;
} DUMMYUNIONNAME;
DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY outputTechnology; DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY outputTechnology;
DISPLAYCONFIG_ROTATION rotation; DISPLAYCONFIG_ROTATION rotation;
DISPLAYCONFIG_SCALING scaling; DISPLAYCONFIG_SCALING scaling;
DISPLAYCONFIG_RATIONAL refreshRate; DISPLAYCONFIG_RATIONAL refreshRate;
DISPLAYCONFIG_SCANLINE_ORDERING scanLineOrdering; DISPLAYCONFIG_SCANLINE_ORDERING scanLineOrdering;
BOOL targetAvailable; BOOL targetAvailable;
UINT32 statusFlags; UINT32 statusFlags;
} DISPLAYCONFIG_PATH_TARGET_INFO; } DISPLAYCONFIG_PATH_TARGET_INFO;
// //
skipping to change at line 2958 skipping to change at line 2998
{ {
DISPLAYCONFIG_PATH_SOURCE_INFO sourceInfo; DISPLAYCONFIG_PATH_SOURCE_INFO sourceInfo;
DISPLAYCONFIG_PATH_TARGET_INFO targetInfo; DISPLAYCONFIG_PATH_TARGET_INFO targetInfo;
UINT32 flags; UINT32 flags;
} DISPLAYCONFIG_PATH_INFO; } DISPLAYCONFIG_PATH_INFO;
// //
// Flags for path info structure (from OS to application through QDC) // Flags for path info structure (from OS to application through QDC)
// //
#define DISPLAYCONFIG_PATH_ACTIVE 0x00000001 #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 typedef enum
{ {
DISPLAYCONFIG_TOPOLOGY_INTERNAL = 0x00000001, DISPLAYCONFIG_TOPOLOGY_INTERNAL = 0x00000001,
DISPLAYCONFIG_TOPOLOGY_CLONE = 0x00000002, DISPLAYCONFIG_TOPOLOGY_CLONE = 0x00000002,
DISPLAYCONFIG_TOPOLOGY_EXTEND = 0x00000004, DISPLAYCONFIG_TOPOLOGY_EXTEND = 0x00000004,
DISPLAYCONFIG_TOPOLOGY_EXTERNAL = 0x00000008, DISPLAYCONFIG_TOPOLOGY_EXTERNAL = 0x00000008,
DISPLAYCONFIG_TOPOLOGY_FORCE_UINT32 = 0xFFFFFFFF DISPLAYCONFIG_TOPOLOGY_FORCE_UINT32 = 0xFFFFFFFF
} DISPLAYCONFIG_TOPOLOGY_ID; } DISPLAYCONFIG_TOPOLOGY_ID;
typedef enum typedef enum
{ {
DISPLAYCONFIG_DEVICE_INFO_GET_SOURCE_NAME = 1, DISPLAYCONFIG_DEVICE_INFO_GET_SOURCE_NAME = 1,
DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_NAME = 2, DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_NAME = 2,
DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_PREFERRED_MODE = 3, DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_PREFERRED_MODE = 3,
DISPLAYCONFIG_DEVICE_INFO_GET_ADAPTER_NAME = 4, DISPLAYCONFIG_DEVICE_INFO_GET_ADAPTER_NAME = 4,
DISPLAYCONFIG_DEVICE_INFO_SET_TARGET_PERSISTENCE = 5, DISPLAYCONFIG_DEVICE_INFO_SET_TARGET_PERSISTENCE = 5,
DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_BASE_TYPE = 6, 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_FORCE_UINT32 = 0xFFFFFFFF DISPLAYCONFIG_DEVICE_INFO_FORCE_UINT32 = 0xFFFFFFFF
} DISPLAYCONFIG_DEVICE_INFO_TYPE; } DISPLAYCONFIG_DEVICE_INFO_TYPE;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#pragma region Application Family #pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
typedef struct DISPLAYCONFIG_DEVICE_INFO_HEADER typedef struct DISPLAYCONFIG_DEVICE_INFO_HEADER
{ {
DISPLAYCONFIG_DEVICE_INFO_TYPE type; DISPLAYCONFIG_DEVICE_INFO_TYPE type;
UINT32 size; UINT32 size;
LUID adapterId; LUID adapterId;
UINT32 id; UINT32 id;
} DISPLAYCONFIG_DEVICE_INFO_HEADER; } DISPLAYCONFIG_DEVICE_INFO_HEADER;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#pragma region Desktop Family #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef struct DISPLAYCONFIG_SOURCE_DEVICE_NAME typedef struct DISPLAYCONFIG_SOURCE_DEVICE_NAME
{ {
DISPLAYCONFIG_DEVICE_INFO_HEADER header; DISPLAYCONFIG_DEVICE_INFO_HEADER header;
WCHAR viewGdiDeviceName[CCHDEVICENAME] ; WCHAR viewGdiDeviceName[CCHDEVICENAME] ;
} DISPLAYCONFIG_SOURCE_DEVICE_NAME; } DISPLAYCONFIG_SOURCE_DEVICE_NAME;
skipping to change at line 3016 skipping to change at line 3061
typedef struct DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS typedef struct DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS
{ {
union union
{ {
struct struct
{ {
UINT32 friendlyNameFromEdid : 1; UINT32 friendlyNameFromEdid : 1;
UINT32 friendlyNameForced : 1; UINT32 friendlyNameForced : 1;
UINT32 edidIdsValid : 1; UINT32 edidIdsValid : 1;
UINT32 reserved : 29; UINT32 reserved : 29;
}; } DUMMYSTRUCTNAME;
UINT32 value; UINT32 value;
}; } DUMMYUNIONNAME;
} DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS; } DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS;
typedef struct DISPLAYCONFIG_TARGET_DEVICE_NAME typedef struct DISPLAYCONFIG_TARGET_DEVICE_NAME
{ {
DISPLAYCONFIG_DEVICE_INFO_HEADER header; DISPLAYCONFIG_DEVICE_INFO_HEADER header;
DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS flags; DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS flags;
DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY outputTechnology; DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY outputTechnology;
UINT16 edidManufactureId; UINT16 edidManufactureId;
UINT16 edidProductCodeId; UINT16 edidProductCodeId;
UINT32 connectorInstance; UINT32 connectorInstance;
skipping to change at line 3061 skipping to change at line 3106
typedef struct DISPLAYCONFIG_SET_TARGET_PERSISTENCE typedef struct DISPLAYCONFIG_SET_TARGET_PERSISTENCE
{ {
DISPLAYCONFIG_DEVICE_INFO_HEADER header; DISPLAYCONFIG_DEVICE_INFO_HEADER header;
union union
{ {
struct struct
{ {
UINT32 bootPersistenceOn : 1; UINT32 bootPersistenceOn : 1;
UINT32 reserved : 31; UINT32 reserved : 31;
}; } DUMMYSTRUCTNAME;
UINT32 value; UINT32 value;
}; } DUMMYUNIONNAME;
} DISPLAYCONFIG_SET_TARGET_PERSISTENCE; } DISPLAYCONFIG_SET_TARGET_PERSISTENCE;
typedef struct DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION
{
DISPLAYCONFIG_DEVICE_INFO_HEADER header;
union
{
struct
{
UINT32 disableMonitorVirtualResolution : 1;
UINT32 reserved : 31;
} DUMMYSTRUCTNAME;
UINT32 value;
} DUMMYSTRUCTNAME;
} DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion #pragma endregion
// //
// Definitions to be used by GetDisplayConfigBufferSizes and QueryDisplayConfig. // Definitions to be used by GetDisplayConfigBufferSizes and QueryDisplayConfig.
// //
#define QDC_ALL_PATHS 0x00000001 #define QDC_ALL_PATHS 0x00000001
#define QDC_ONLY_ACTIVE_PATHS 0x00000002 #define QDC_ONLY_ACTIVE_PATHS 0x00000002
#define QDC_DATABASE_CURRENT 0x00000004 #define QDC_DATABASE_CURRENT 0x00000004
#define QDC_VIRTUAL_MODE_AWARE 0x00000010
// //
// Definitions used by SetDisplayConfig. // Definitions used by SetDisplayConfig.
// //
#define SDC_TOPOLOGY_INTERNAL 0x00000001 #define SDC_TOPOLOGY_INTERNAL 0x00000001
#define SDC_TOPOLOGY_CLONE 0x00000002 #define SDC_TOPOLOGY_CLONE 0x00000002
#define SDC_TOPOLOGY_EXTEND 0x00000004 #define SDC_TOPOLOGY_EXTEND 0x00000004
#define SDC_TOPOLOGY_EXTERNAL 0x00000008 #define SDC_TOPOLOGY_EXTERNAL 0x00000008
#define SDC_TOPOLOGY_SUPPLIED 0x00000010 #define SDC_TOPOLOGY_SUPPLIED 0x00000010
#define SDC_USE_DATABASE_CURRENT (SDC_TOPOLOGY_INTERNAL | SDC_TOPOLOGY_CL #define SDC_USE_DATABASE_CURRENT (SDC_TOPOLOGY_INTERNAL | SDC_TOPOLOGY_C
ONE | SDC_TOPOLOGY_EXTEND | SDC_TOPOLOGY_EXTERNAL) LONE | SDC_TOPOLOGY_EXTEND | SDC_TOPOLOGY_EXTERNAL)
#define SDC_USE_SUPPLIED_DISPLAY_CONFIG 0x00000020 #define SDC_USE_SUPPLIED_DISPLAY_CONFIG 0x00000020
#define SDC_VALIDATE 0x00000040 #define SDC_VALIDATE 0x00000040
#define SDC_APPLY 0x00000080 #define SDC_APPLY 0x00000080
#define SDC_NO_OPTIMIZATION 0x00000100 #define SDC_NO_OPTIMIZATION 0x00000100
#define SDC_SAVE_TO_DATABASE 0x00000200 #define SDC_SAVE_TO_DATABASE 0x00000200
#define SDC_ALLOW_CHANGES 0x00000400 #define SDC_ALLOW_CHANGES 0x00000400
#define SDC_PATH_PERSIST_IF_REQUIRED 0x00000800 #define SDC_PATH_PERSIST_IF_REQUIRED 0x00000800
#define SDC_FORCE_MODE_ENUMERATION 0x00001000 #define SDC_FORCE_MODE_ENUMERATION 0x00001000
#define SDC_ALLOW_PATH_ORDER_CHANGES 0x00002000 #define SDC_ALLOW_PATH_ORDER_CHANGES 0x00002000
#define SDC_VIRTUAL_MODE_AWARE 0x00008000
#endif /* WINVER >= 0x0601 */ #endif /* WINVER >= 0x0601 */
/* GetRegionData/ExtCreateRegion */ /* GetRegionData/ExtCreateRegion */
#define RDH_RECTANGLES 1 #define RDH_RECTANGLES 1
#pragma region Application Family #pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
typedef struct _RGNDATAHEADER { typedef struct _RGNDATAHEADER {
DWORD dwSize; DWORD dwSize;
DWORD iType; DWORD iType;
DWORD nCount; DWORD nCount;
DWORD nRgnSize; DWORD nRgnSize;
RECT rcBound; RECT rcBound;
} RGNDATAHEADER, *PRGNDATAHEADER; } RGNDATAHEADER, *PRGNDATAHEADER;
typedef struct _RGNDATA { typedef struct _RGNDATA {
RGNDATAHEADER rdh; RGNDATAHEADER rdh;
char Buffer[1]; char Buffer[1];
} RGNDATA, *PRGNDATA, NEAR *NPRGNDATA, FAR *LPRGNDATA; } RGNDATA, *PRGNDATA, NEAR *NPRGNDATA, FAR *LPRGNDATA;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
/* for GetRandomRgn */ /* for GetRandomRgn */
#define SYSRGN 4 #define SYSRGN 4
#pragma region Desktop Family #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef struct _ABC { typedef struct _ABC {
int abcA; int abcA;
skipping to change at line 3243 skipping to change at line 3304
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion #pragma endregion
#ifdef _MAC #ifdef _MAC
#include "poppack.h" #include "poppack.h"
#endif #endif
#endif /* NOTEXTMETRIC */ #endif /* NOTEXTMETRIC */
#pragma region Application Family #pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
typedef struct tagPOLYTEXTA typedef struct tagPOLYTEXTA
{ {
int x; int x;
int y; int y;
UINT n; UINT n;
LPCSTR lpstr; LPCSTR lpstr;
UINT uiFlags; UINT uiFlags;
RECT rcl; RECT rcl;
int *pdx; int *pdx;
skipping to change at line 3277 skipping to change at line 3338
typedef PPOLYTEXTW PPOLYTEXT; typedef PPOLYTEXTW PPOLYTEXT;
typedef NPPOLYTEXTW NPPOLYTEXT; typedef NPPOLYTEXTW NPPOLYTEXT;
typedef LPPOLYTEXTW LPPOLYTEXT; typedef LPPOLYTEXTW LPPOLYTEXT;
#else #else
typedef POLYTEXTA POLYTEXT; typedef POLYTEXTA POLYTEXT;
typedef PPOLYTEXTA PPOLYTEXT; typedef PPOLYTEXTA PPOLYTEXT;
typedef NPPOLYTEXTA NPPOLYTEXT; typedef NPPOLYTEXTA NPPOLYTEXT;
typedef LPPOLYTEXTA LPPOLYTEXT; typedef LPPOLYTEXTA LPPOLYTEXT;
#endif // UNICODE #endif // UNICODE
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#pragma region Desktop Family #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef struct _FIXED { typedef struct _FIXED {
#ifndef _MAC #ifndef _MAC
WORD fract; WORD fract;
short value; short value;
#else #else
skipping to change at line 3459 skipping to change at line 3520
} RASTERIZER_STATUS, FAR *LPRASTERIZER_STATUS; } RASTERIZER_STATUS, FAR *LPRASTERIZER_STATUS;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion #pragma endregion
/* bits defined in wFlags of RASTERIZER_STATUS */ /* bits defined in wFlags of RASTERIZER_STATUS */
#define TT_AVAILABLE 0x0001 #define TT_AVAILABLE 0x0001
#define TT_ENABLED 0x0002 #define TT_ENABLED 0x0002
#pragma region Application Family #pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
/* Pixel format descriptor */ /* Pixel format descriptor */
typedef struct tagPIXELFORMATDESCRIPTOR typedef struct tagPIXELFORMATDESCRIPTOR
{ {
WORD nSize; WORD nSize;
WORD nVersion; WORD nVersion;
DWORD dwFlags; DWORD dwFlags;
BYTE iPixelType; BYTE iPixelType;
BYTE cColorBits; BYTE cColorBits;
BYTE cRedBits; BYTE cRedBits;
skipping to change at line 3492 skipping to change at line 3553
BYTE cDepthBits; BYTE cDepthBits;
BYTE cStencilBits; BYTE cStencilBits;
BYTE cAuxBuffers; BYTE cAuxBuffers;
BYTE iLayerType; BYTE iLayerType;
BYTE bReserved; BYTE bReserved;
DWORD dwLayerMask; DWORD dwLayerMask;
DWORD dwVisibleMask; DWORD dwVisibleMask;
DWORD dwDamageMask; DWORD dwDamageMask;
} PIXELFORMATDESCRIPTOR, *PPIXELFORMATDESCRIPTOR, FAR *LPPIXELFORMATDESCRIPTOR; } PIXELFORMATDESCRIPTOR, *PPIXELFORMATDESCRIPTOR, FAR *LPPIXELFORMATDESCRIPTOR;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
/* pixel types */ /* pixel types */
#define PFD_TYPE_RGBA 0 #define PFD_TYPE_RGBA 0
#define PFD_TYPE_COLORINDEX 1 #define PFD_TYPE_COLORINDEX 1
/* layer types */ /* layer types */
#define PFD_MAIN_PLANE 0 #define PFD_MAIN_PLANE 0
#define PFD_OVERLAY_PLANE 1 #define PFD_OVERLAY_PLANE 1
#define PFD_UNDERLAY_PLANE (-1) #define PFD_UNDERLAY_PLANE (-1)
skipping to change at line 4479 skipping to change at line 4540
#endif // COMBOX_SANDBOX #endif // COMBOX_SANDBOX
#if (WINVER >= 0x0400) #if (WINVER >= 0x0400)
// //
// image blt // image blt
// //
#pragma region Application Family #pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
typedef USHORT COLOR16; typedef USHORT COLOR16;
typedef struct _TRIVERTEX typedef struct _TRIVERTEX
{ {
LONG x; LONG x;
LONG y; LONG y;
COLOR16 Red; COLOR16 Red;
COLOR16 Green; COLOR16 Green;
COLOR16 Blue; COLOR16 Blue;
COLOR16 Alpha; COLOR16 Alpha;
}TRIVERTEX,*PTRIVERTEX,*LPTRIVERTEX; }TRIVERTEX,*PTRIVERTEX,*LPTRIVERTEX;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#pragma region Desktop Family #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef struct _GRADIENT_TRIANGLE typedef struct _GRADIENT_TRIANGLE
{ {
ULONG Vertex1; ULONG Vertex1;
ULONG Vertex2; ULONG Vertex2;
ULONG Vertex3; ULONG Vertex3;
skipping to change at line 4516 skipping to change at line 4577
typedef struct _GRADIENT_RECT typedef struct _GRADIENT_RECT
{ {
ULONG UpperLeft; ULONG UpperLeft;
ULONG LowerRight; ULONG LowerRight;
}GRADIENT_RECT,*PGRADIENT_RECT,*LPGRADIENT_RECT; }GRADIENT_RECT,*PGRADIENT_RECT,*LPGRADIENT_RECT;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion #pragma endregion
#pragma region Application Family #pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
typedef struct _BLENDFUNCTION typedef struct _BLENDFUNCTION
{ {
BYTE BlendOp; BYTE BlendOp;
BYTE BlendFlags; BYTE BlendFlags;
BYTE SourceConstantAlpha; BYTE SourceConstantAlpha;
BYTE AlphaFormat; BYTE AlphaFormat;
}BLENDFUNCTION,*PBLENDFUNCTION; }BLENDFUNCTION,*PBLENDFUNCTION;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#pragma region Desktop Family #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
// //
// currentlly defined blend function // currentlly defined blend function
// //
#define AC_SRC_OVER 0x00 #define AC_SRC_OVER 0x00
skipping to change at line 4978 skipping to change at line 5039
WINGDIAPI BOOL WINAPI SetWindowExtEx( _In_ HDC hdc, _In_ int x, _In_ int y, _O ut_opt_ LPSIZE lpsz); WINGDIAPI BOOL WINAPI SetWindowExtEx( _In_ HDC hdc, _In_ int x, _In_ int y, _O ut_opt_ LPSIZE lpsz);
WINGDIAPI BOOL WINAPI SetWindowOrgEx( _In_ HDC hdc, _In_ int x, _In_ int y, _O ut_opt_ LPPOINT lppt); WINGDIAPI BOOL WINAPI SetWindowOrgEx( _In_ HDC hdc, _In_ int x, _In_ int y, _O ut_opt_ LPPOINT lppt);
WINGDIAPI BOOL WINAPI OffsetViewportOrgEx( _In_ HDC hdc, _In_ int x, _In_ int y, _Out_opt_ LPPOINT lppt); WINGDIAPI BOOL WINAPI OffsetViewportOrgEx( _In_ HDC hdc, _In_ int x, _In_ int y, _Out_opt_ LPPOINT lppt);
WINGDIAPI BOOL WINAPI OffsetWindowOrgEx( _In_ HDC hdc, _In_ int x, _In_ int y, _Out_opt_ LPPOINT lppt); WINGDIAPI BOOL WINAPI OffsetWindowOrgEx( _In_ HDC hdc, _In_ int x, _In_ int y, _Out_opt_ LPPOINT lppt);
WINGDIAPI BOOL WINAPI ScaleViewportExtEx( _In_ HDC hdc, _In_ int xn, _In_ int dx, _In_ int yn, _In_ int yd, _Out_opt_ LPSIZE lpsz); WINGDIAPI BOOL WINAPI ScaleViewportExtEx( _In_ HDC hdc, _In_ int xn, _In_ int dx, _In_ int yn, _In_ int yd, _Out_opt_ LPSIZE lpsz);
WINGDIAPI BOOL WINAPI ScaleWindowExtEx( _In_ HDC hdc, _In_ int xn, _In_ int xd , _In_ int yn, _In_ int yd, _Out_opt_ LPSIZE lpsz); WINGDIAPI BOOL WINAPI ScaleWindowExtEx( _In_ HDC hdc, _In_ int xn, _In_ int xd , _In_ int yn, _In_ int yd, _Out_opt_ LPSIZE lpsz);
WINGDIAPI BOOL WINAPI SetBitmapDimensionEx( _In_ HBITMAP hbm, _In_ int w, _In_ int h, _Out_opt_ LPSIZE lpsz); WINGDIAPI BOOL WINAPI SetBitmapDimensionEx( _In_ HBITMAP hbm, _In_ int w, _In_ int h, _Out_opt_ LPSIZE lpsz);
WINGDIAPI BOOL WINAPI SetBrushOrgEx( _In_ HDC hdc, _In_ int x, _In_ int y, _Out _opt_ LPPOINT lppt); WINGDIAPI BOOL WINAPI SetBrushOrgEx( _In_ HDC hdc, _In_ int x, _In_ int y, _Out _opt_ LPPOINT lppt);
#ifdef GDIDPISCALING
BOOL WINAPI ScaleRgn(_In_ HDC hdc, _In_ HRGN hrgn);
BOOL WINAPI ScaleValues(_In_ HDC hdc, __in_ecount(cl) LPLONG pl, _In_ UINT cl);
LONG WINAPI GetDCDpiScaleValue(_In_ HDC hdc);
LONG WINAPI GetBitmapDpiScaleValue(_In_ HBITMAP hsurf);
#endif
WINGDIAPI int WINAPI GetTextFaceA( _In_ HDC hdc, _In_ int c, _Out_writes_to_op t_(c, return) LPSTR lpName); WINGDIAPI int WINAPI GetTextFaceA( _In_ HDC hdc, _In_ int c, _Out_writes_to_op t_(c, return) LPSTR lpName);
WINGDIAPI int WINAPI GetTextFaceW( _In_ HDC hdc, _In_ int c, _Out_writes_to_op t_(c, return) LPWSTR lpName); WINGDIAPI int WINAPI GetTextFaceW( _In_ HDC hdc, _In_ int c, _Out_writes_to_op t_(c, return) LPWSTR lpName);
#ifdef UNICODE #ifdef UNICODE
#define GetTextFace GetTextFaceW #define GetTextFace GetTextFaceW
#else #else
#define GetTextFace GetTextFaceA #define GetTextFace GetTextFaceA
#endif // !UNICODE #endif // !UNICODE
#define FONTMAPPER_MAX 10 #define FONTMAPPER_MAX 10
 End of changes. 85 change blocks. 
105 lines changed or deleted 174 lines changed or added

This html diff was produced by rfcdiff 1.41.