|
From: Keith M. <no...@so...> - 2017-06-04 19:21:33
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The branch, 5.0-active has been updated
via 1cf415906a7b483690ef3db9793c17da5e01da97 (commit)
via 2d5b0afe52103153fb7de68479bfd1c77cc88349 (commit)
from 5a6bfce3a0c3bc1fd523f57ed2f199dd8e1ba9ba (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-org-wsl/ci/1cf415906a7b483690ef3db9793c17da5e01da97/
commit 1cf415906a7b483690ef3db9793c17da5e01da97
Author: Keith Marshall <kei...@us...>
Date: Sun Jun 4 18:51:20 2017 +0100
Consolidate <wingdi.h> version specific conditionals.
diff --git a/w32api/ChangeLog b/w32api/ChangeLog
index 746b174..dac6a9f 100644
--- a/w32api/ChangeLog
+++ b/w32api/ChangeLog
@@ -1,3 +1,15 @@
+2017-06-04 Keith Marshall <kei...@us...>
+
+ Consolidate <wingdi.h> version specific conditionals.
+
+ * include/wingdi.h: Reorganize file content; group manifest constant
+ definitions into a single nested collection of conditional blocks, for
+ those definitions which are common to both Win9x and WinNT, with one
+ block per Windows version evolution, sorting alphabetically within
+ each block; do likewise for additional manifest constant definitions
+ which are specific to WinNT, and also for data type definitions and
+ function prototypes.
+
2017-06-03 Keith Marshall <kei...@us...>
Tidy, and make <wingdi.h> header effectively self-contained.
diff --git a/w32api/include/wingdi.h b/w32api/include/wingdi.h
index 5d34af6..13043b2 100644
--- a/w32api/include/wingdi.h
+++ b/w32api/include/wingdi.h
@@ -201,11 +201,6 @@ typedef BYTE BCHAR;
#define ENHMETA_SIGNATURE 1179469088
#define EPS_SIGNATURE 0x46535045
-#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
-#define FR_PRIVATE 0x10
-#define FR_NOT_ENUM 0x20
-#endif /* WINNT >= Win2K */
-
#define META_SETBKCOLOR 0x201
#define META_SETBKMODE 0x102
#define META_SETMAPMODE 0x103
@@ -413,10 +408,6 @@ typedef BYTE BCHAR;
#define NONANTIALIASED_QUALITY 3
#define ANTIALIASED_QUALITY 4
-#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
-#define CLEARTYPE_QUALITY 5
-#endif /* WINNT >= Win2K */
-
#define DEFAULT_PITCH 0
#define FIXED_PITCH 1
#define VARIABLE_PITCH 2
@@ -607,24 +598,6 @@ typedef BYTE BCHAR;
#define DC_MANUFACTURER 23
#define DC_MODEL 24
-#if WINVER >= _WIN32_WINNT_WIN2K
-#define DC_PERSONALITY 25
-#define DC_PRINTRATE 26
-#define DC_PRINTRATEUNIT 27
-#define DC_PRINTERMEM 28
-#define DC_MEDIAREADY 29
-#define DC_STAPLE 30
-#define DC_PRINTRATEPPM 31
-#define DC_COLORDEVICE 32
-#define DC_NUP 33
-
-#if WINVER >= _WIN32_WINNT_WINXP
-#define DC_MEDIATYPENAMES 34
-#define DC_MEDIATYPES 35
-
-#endif /* WINVER >= WinXP */
-#endif /* WINVER >= Win2K */
-
#define DCBA_FACEUPNONE 0
#define DCBA_FACEUPCENTER 1
#define DCBA_FACEUPLEFT 2
@@ -642,15 +615,6 @@ typedef BYTE BCHAR;
#define ETO_NUMERICSLOCAL 0x0400
#define ETO_RTLREADING 0x0080
-#if _WIN32_WINNT >= _WIN32_WINNT_NT4
-#define ETO_IGNORELANGUAGE 0x1000
-
-#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
-#define ETO_PDY 0x2000
-
-#endif /* WINNT >= Win2K */
-#endif /* WINNT >= WinNT4 */
-
#define GDICOMMENT_WINDOWS_METAFILE (-2147483647)
#define GDICOMMENT_BEGINGROUP 2
#define GDICOMMENT_ENDGROUP 3
@@ -734,21 +698,6 @@ typedef BYTE BCHAR;
#define DESKTOPVERTRES 117
#define BLTALIGNMENT 119
-#if WINVER >= _WIN32_WINNT_WIN2K
-#define SHADEBLENDCAPS 120
-#define SB_NONE 0x00
-#define SB_CONST_ALPHA 0x01
-#define SB_PIXEL_ALPHA 0x02
-#define SB_PREMULT_ALPHA 0x04
-#define SB_GRAD_RECT 0x10
-#define SB_GRAD_TRI 0x20
-#define COLORMGMTCAPS 121
-#define CM_NONE 0x00
-#define CM_DEVICE_ICM 0x01
-#define CM_GAMMA_RAMP 0x02
-#define CM_CMYK_COLOR 0x04
-#endif /* WINVER >= Win2K */
-
#define RASTERCAPS 38
#define RC_BANDING 2
#define RC_BITBLT 1
@@ -857,10 +806,6 @@ typedef BYTE BCHAR;
#define GGO_GRAY8_BITMAP 6
#define GGO_GLYPH_INDEX 128
-#if WINVER >= _WIN32_WINNT_WIN2K
-#define GGO_UNHINTED 256
-#endif /* WINVER >= Win2K */
-
#define GM_COMPATIBLE 1
#define GM_ADVANCED 2
#define MM_ANISOTROPIC 8
@@ -905,11 +850,6 @@ typedef BYTE BCHAR;
#define SYSTEM_FIXED_FONT 16
#define DEFAULT_PALETTE 15
-#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
-#define DC_BRUSH 18
-#define DC_PEN 19
-#endif /* WINNT >= Win2K */
-
#define SYSPAL_ERROR 0
#define SYSPAL_STATIC 1
#define SYSPAL_NOSTATIC 2
@@ -1126,64 +1066,6 @@ typedef BYTE BCHAR;
#define DMPAPER_A3_TRANSVERSE 67
#define DMPAPER_A3_EXTRA_TRANSVERSE 68
-#if WINVER >= _WIN32_WINNT_WIN2K
-#define DMPAPER_DBL_JAPANESE_POSTCARD 69
-#define DMPAPER_A6 70
-#define DMPAPER_JENV_KAKU2 71
-#define DMPAPER_JENV_KAKU3 72
-#define DMPAPER_JENV_CHOU3 73
-#define DMPAPER_JENV_CHOU4 74
-#define DMPAPER_LETTER_ROTATED 75
-#define DMPAPER_A3_ROTATED 76
-#define DMPAPER_A4_ROTATED 77
-#define DMPAPER_A5_ROTATED 78
-#define DMPAPER_B4_JIS_ROTATED 79
-#define DMPAPER_B5_JIS_ROTATED 80
-#define DMPAPER_JAPANESE_POSTCARD_ROTATED 81
-#define DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED 82
-#define DMPAPER_A6_ROTATED 83
-#define DMPAPER_JENV_KAKU2_ROTATED 84
-#define DMPAPER_JENV_KAKU3_ROTATED 85
-#define DMPAPER_JENV_CHOU3_ROTATED 86
-#define DMPAPER_JENV_CHOU4_ROTATED 87
-#define DMPAPER_B6_JIS 88
-#define DMPAPER_B6_JIS_ROTATED 89
-#define DMPAPER_12X11 90
-#define DMPAPER_JENV_YOU4 91
-#define DMPAPER_JENV_YOU4_ROTATED 92
-#define DMPAPER_P16K 93
-#define DMPAPER_P32K 94
-#define DMPAPER_P32KBIG 95
-#define DMPAPER_PENV_1 96
-#define DMPAPER_PENV_2 97
-#define DMPAPER_PENV_3 98
-#define DMPAPER_PENV_4 99
-#define DMPAPER_PENV_5 100
-#define DMPAPER_PENV_6 101
-#define DMPAPER_PENV_7 102
-#define DMPAPER_PENV_8 103
-#define DMPAPER_PENV_9 104
-#define DMPAPER_PENV_10 105
-#define DMPAPER_P16K_ROTATED 106
-#define DMPAPER_P32K_ROTATED 107
-#define DMPAPER_P32KBIG_ROTATED 108
-#define DMPAPER_PENV_1_ROTATED 109
-#define DMPAPER_PENV_2_ROTATED 110
-#define DMPAPER_PENV_3_ROTATED 111
-#define DMPAPER_PENV_4_ROTATED 112
-#define DMPAPER_PENV_5_ROTATED 113
-#define DMPAPER_PENV_6_ROTATED 114
-#define DMPAPER_PENV_7_ROTATED 115
-#define DMPAPER_PENV_8_ROTATED 116
-#define DMPAPER_PENV_9_ROTATED 117
-#define DMPAPER_PENV_10_ROTATED 118
-#define DMPAPER_LAST 118
-
-#else /* WINVER < Win2K */
-#define DMPAPER_LAST 68
-
-#endif /* WINVER < Win2K */
-
#define DMPAPER_USER 256
#define DMBIN_FIRST 1
#define DMBIN_UPPER 1
@@ -1254,24 +1136,6 @@ typedef BYTE BCHAR;
#define DM_MEDIATYPE 0x02000000
#define DM_DITHERTYPE 0x04000000
-#if WINVER >= _WIN32_WINNT_WIN2K
-#define DM_PANNINGWIDTH 0x08000000
-#define DM_PANNINGHEIGHT 0x10000000
-
-#if WINVER >= _WIN32_WINNT_WINXP
-#define DM_DISPLAYFIXEDOUTPUT 0x20000000
-#define DM_DISPLAYORIENTATION 0x00000080
-#define DMDO_DEFAULT 0x00000000
-#define DMDO_90 0x00000001
-#define DMDO_180 0x00000002
-#define DMDO_270 0x00000003
-#define DMDFO_DEFAULT 0x00000000
-#define DMDFO_STRETCH 0x00000001
-#define DMDFO_CENTER 0x00000002
-
-#endif /* WINVER >= WinXP */
-#endif /* WINVER >= Win2K */
-
#define DMICMMETHOD_NONE 1
#define DMICMMETHOD_SYSTEM 2
#define DMICMMETHOD_DRIVER 3
@@ -1365,7 +1229,15 @@ typedef BYTE BCHAR;
#define LAYOUT_RTL 1
#define LAYOUT_BITMAPORIENTATIONPRESERVED 8
-# if WINVER >= _WIN32_WINNT_NT4 /* also _WIN32_WINDOWS_95 */
+#define DISPLAY_DEVICE_ATTACHED_TO_DESKTOP 0x00000001
+#define DISPLAY_DEVICE_MULTI_DRIVER 0x00000002
+#define DISPLAY_DEVICE_PRIMARY_DEVICE 0x00000004
+#define DISPLAY_DEVICE_MIRRORING_DRIVER 0x00000008
+#define DISPLAY_DEVICE_VGA_COMPATIBLE 0x00000010
+#define DISPLAY_DEVICE_REMOVABLE 0x00000020
+#define DISPLAY_DEVICE_MODESPRUNED 0x08000000
+
+#if WINVER >= _WIN32_WINNT_NT4 /* also _WIN32_WINDOWS_95 */
#define CS_ENABLE 0x00000001
#define CS_DISABLE 0x00000002
#define CS_DELETE_TRANSFORM 0x00000003
@@ -1379,18 +1251,117 @@ typedef BYTE BCHAR;
#define CREATECOLORSPACE_EMBEDED 0x00000001
#define SETICMPROFILE_EMBEDED 0x00000001
+#define DC_PERSONALITY 25
+#define DC_PRINTRATE 26
+#define DC_PRINTRATEUNIT 27
+#define DC_PRINTERMEM 28
+#define DC_MEDIAREADY 29
+#define DC_STAPLE 30
+#define DC_PRINTRATEPPM 31
+#define DC_COLORDEVICE 32
+#define DC_NUP 33
+
+#define SHADEBLENDCAPS 120
+#define SB_NONE 0x00
+#define SB_CONST_ALPHA 0x01
+#define SB_PIXEL_ALPHA 0x02
+#define SB_PREMULT_ALPHA 0x04
+#define SB_GRAD_RECT 0x10
+#define SB_GRAD_TRI 0x20
+#define COLORMGMTCAPS 121
+#define CM_NONE 0x00
+#define CM_DEVICE_ICM 0x01
+#define CM_GAMMA_RAMP 0x02
+#define CM_CMYK_COLOR 0x04
+
+#define GGO_UNHINTED 256
+
+#define DMPAPER_DBL_JAPANESE_POSTCARD 69
+#define DMPAPER_A6 70
+#define DMPAPER_JENV_KAKU2 71
+#define DMPAPER_JENV_KAKU3 72
+#define DMPAPER_JENV_CHOU3 73
+#define DMPAPER_JENV_CHOU4 74
+#define DMPAPER_LETTER_ROTATED 75
+#define DMPAPER_A3_ROTATED 76
+#define DMPAPER_A4_ROTATED 77
+#define DMPAPER_A5_ROTATED 78
+#define DMPAPER_B4_JIS_ROTATED 79
+#define DMPAPER_B5_JIS_ROTATED 80
+#define DMPAPER_JAPANESE_POSTCARD_ROTATED 81
+#define DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED 82
+#define DMPAPER_A6_ROTATED 83
+#define DMPAPER_JENV_KAKU2_ROTATED 84
+#define DMPAPER_JENV_KAKU3_ROTATED 85
+#define DMPAPER_JENV_CHOU3_ROTATED 86
+#define DMPAPER_JENV_CHOU4_ROTATED 87
+#define DMPAPER_B6_JIS 88
+#define DMPAPER_B6_JIS_ROTATED 89
+#define DMPAPER_12X11 90
+#define DMPAPER_JENV_YOU4 91
+#define DMPAPER_JENV_YOU4_ROTATED 92
+#define DMPAPER_P16K 93
+#define DMPAPER_P32K 94
+#define DMPAPER_P32KBIG 95
+#define DMPAPER_PENV_1 96
+#define DMPAPER_PENV_2 97
+#define DMPAPER_PENV_3 98
+#define DMPAPER_PENV_4 99
+#define DMPAPER_PENV_5 100
+#define DMPAPER_PENV_6 101
+#define DMPAPER_PENV_7 102
+#define DMPAPER_PENV_8 103
+#define DMPAPER_PENV_9 104
+#define DMPAPER_PENV_10 105
+#define DMPAPER_P16K_ROTATED 106
+#define DMPAPER_P32K_ROTATED 107
+#define DMPAPER_P32KBIG_ROTATED 108
+#define DMPAPER_PENV_1_ROTATED 109
+#define DMPAPER_PENV_2_ROTATED 110
+#define DMPAPER_PENV_3_ROTATED 111
+#define DMPAPER_PENV_4_ROTATED 112
+#define DMPAPER_PENV_5_ROTATED 113
+#define DMPAPER_PENV_6_ROTATED 114
+#define DMPAPER_PENV_7_ROTATED 115
+#define DMPAPER_PENV_8_ROTATED 116
+#define DMPAPER_PENV_9_ROTATED 117
+#define DMPAPER_PENV_10_ROTATED 118
+#define DMPAPER_LAST 118
+
+#define DM_PANNINGWIDTH 0x08000000
+#define DM_PANNINGHEIGHT 0x10000000
+
+#if WINVER >= _WIN32_WINNT_WINXP
+#define DC_MEDIATYPENAMES 34
+#define DC_MEDIATYPES 35
+
+#define DM_DISPLAYFIXEDOUTPUT 0x20000000
+#define DM_DISPLAYORIENTATION 0x00000080
+#define DMDO_DEFAULT 0x00000000
+#define DMDO_90 0x00000001
+#define DMDO_180 0x00000002
+#define DMDO_270 0x00000003
+#define DMDFO_DEFAULT 0x00000000
+#define DMDFO_STRETCH 0x00000001
+#define DMDFO_CENTER 0x00000002
+
+#endif /* WINVER >= WinXP */
#endif /* WINVER >= Win2K */
#endif /* WINVER >= Win95/WinNT4 */
-#define DISPLAY_DEVICE_ATTACHED_TO_DESKTOP 0x00000001
-#define DISPLAY_DEVICE_MULTI_DRIVER 0x00000002
-#define DISPLAY_DEVICE_PRIMARY_DEVICE 0x00000004
-#define DISPLAY_DEVICE_MIRRORING_DRIVER 0x00000008
-#define DISPLAY_DEVICE_VGA_COMPATIBLE 0x00000010
-#define DISPLAY_DEVICE_REMOVABLE 0x00000020
-#define DISPLAY_DEVICE_MODESPRUNED 0x08000000
+#if WINVER < _WIN32_WINNT_WIN2K
+#define DMPAPER_LAST 68
+#endif /* WINVER < Win2K */
+
+#if _WIN32_WINNT >= _WIN32_WINNT_NT4
+#define ETO_IGNORELANGUAGE 0x1000
#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+#define ETO_PDY 0x2000
+
+#define DC_BRUSH 18
+#define DC_PEN 19
+
#define NTM_NONNEGATIVE_AC 0x00010000
#define NTM_PS_OPENTYPE 0x00020000
#define NTM_TT_OPENTYPE 0x00040000
@@ -1399,7 +1370,13 @@ typedef BYTE BCHAR;
#define NTM_DSIG 0x00200000
#define GGI_MARK_NONEXISTING_GLYPHS 1
+
+#define FR_PRIVATE 0x10
+#define FR_NOT_ENUM 0x20
+
+#define CLEARTYPE_QUALITY 5
#endif /* WINNT >= Win2K */
+#endif /* WINNT >= WinNT4 */
#ifndef RC_INVOKED
typedef struct _ABC
@@ -2549,21 +2526,6 @@ typedef struct _GLYPHMETRICS
short gmCellIncY;
} GLYPHMETRICS, *LPGLYPHMETRICS;
-#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
-typedef struct tagWCRANGE
-{ WCHAR wcLow;
- USHORT cGlyphs;
-} WCRANGE, *PWCRANGE, *LPWCRANGE;
-
-typedef struct tagGLYPHSET
-{ DWORD cbThis;
- DWORD flAccel;
- DWORD cGlyphsSupported;
- DWORD cRanges;
- WCRANGE ranges[1];
-} GLYPHSET, *PGLYPHSET, *LPGLYPHSET;
-#endif /* WINNT >= Win2K */
-
typedef struct tagKERNINGPAIR
{ WORD wFirst;
WORD wSecond;
@@ -2908,20 +2870,6 @@ typedef struct _DESIGNVECTOR
LONG dvValues[MM_MAX_NUMAXES];
} DESIGNVECTOR, *PDESIGNVECTOR, FAR *LPDESIGNVECTOR;
-#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
-typedef struct tagENUMLOGFONTEXDVA
-{ ENUMLOGFONTEXA elfEnumLogfontEx;
- DESIGNVECTOR elfDesignVector;
-} ENUMLOGFONTEXDVA, *PENUMLOGFONTEXDVA, *LPENUMLOGFONTEXDVA;
-
-typedef struct tagENUMLOGFONTEXDVW
-{ ENUMLOGFONTEXW elfEnumLogfontEx;
- DESIGNVECTOR elfDesignVector;
-} ENUMLOGFONTEXDVW, *PENUMLOGFONTEXDVW, *LPENUMLOGFONTEXDVW;
-
-typedef __AW_ALIAS__(ENUMLOGFONTEXDV), *PENUMLOGFONTEXDV, *LPENUMLOGFONTEXDV;
-#endif /* WINNT >= Win2K */
-
typedef USHORT COLOR16;
typedef struct _TRIVERTEX
@@ -3022,14 +2970,6 @@ WINGDIAPI BOOL WINAPI AbortPath (HDC);
WINGDIAPI int WINAPI AddFontResourceA (LPCSTR);
WINGDIAPI int WINAPI AddFontResourceW (LPCWSTR);
-#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
-WINGDIAPI HANDLE WINAPI AddFontMemResourceEx (PVOID, DWORD, PVOID, DWORD *);
-
-#define AddFontResourceEx __AW_SUFFIXED__(AddFontResourceEx)
-WINGDIAPI int WINAPI AddFontResourceExA (LPCSTR, DWORD, PVOID);
-WINGDIAPI int WINAPI AddFontResourceExW (LPCWSTR, DWORD, PVOID);
-#endif /* WINNT >= Win2K */
-
WINGDIAPI BOOL WINAPI AngleArc (HDC, int, int, DWORD, FLOAT, FLOAT);
WINGDIAPI BOOL WINAPI AnimatePalette
@@ -3265,11 +3205,6 @@ WINGDIAPI HGDIOBJ WINAPI GetCurrentObject (HDC, UINT);
WINGDIAPI BOOL WINAPI GetCurrentPositionEx (HDC, LPPOINT);
WINGDIAPI HCURSOR WINAPI GetCursor (void);
-#if WINVER >= _WIN32_WINNT_WIN2K
-WINGDIAPI COLORREF WINAPI GetDCBrushColor (HDC);
-WINGDIAPI COLORREF WINAPI GetDCPenColor (HDC);
-#endif /* WINVER >= Win2K */
-
WINGDIAPI BOOL WINAPI GetDCOrgEx (HDC, LPPOINT);
WINGDIAPI int WINAPI GetDeviceCaps (HDC, int);
WINGDIAPI BOOL WINAPI GetDeviceGammaRamp (HDC, PVOID);
@@ -3377,12 +3312,6 @@ WINGDIAPI BOOL WINAPI GetTextExtentExPointW
WINGDIAPI BOOL WINAPI GetTextExtentPointA (HDC, LPCSTR, int, LPSIZE);
WINGDIAPI BOOL WINAPI GetTextExtentPointW (HDC, LPCWSTR, int, LPSIZE);
-#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
-WINGDIAPI BOOL WINAPI GetTextExtentExPointI
-(HDC, LPWORD, int, int, LPINT, LPINT, LPSIZE);
-
-#endif /* WINNT >= Win2K */
-
#define GetTextExtentPoint32 __AW_SUFFIXED__(GetTextExtentPoint32)
WINGDIAPI BOOL WINAPI GetTextExtentPoint32A (HDC, LPCSTR, int, LPSIZE);
WINGDIAPI BOOL WINAPI GetTextExtentPoint32W (HDC, LPCWSTR, int, LPSIZE);
@@ -3460,14 +3389,6 @@ WINGDIAPI BOOL WINAPI RectVisible (HDC, LPCRECT);
WINGDIAPI BOOL WINAPI RemoveFontResourceA (LPCSTR);
WINGDIAPI BOOL WINAPI RemoveFontResourceW (LPCWSTR);
-#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
-WINGDIAPI BOOL WINAPI RemoveFontMemResourceEx (HANDLE);
-
-#define RemoveFontResourceEx __AW_SUFFIXED__(RemoveFontResourceEx)
-WINGDIAPI BOOL WINAPI RemoveFontResourceExA (LPCSTR, DWORD, PVOID);
-WINGDIAPI BOOL WINAPI RemoveFontResourceExW (LPCWSTR, DWORD, PVOID);
-#endif /* WINNT >= Win2K */
-
#define ResetDC __AW_SUFFIXED__(ResetDC)
WINGDIAPI HDC WINAPI ResetDCA (HDC, const DEVMODEA *);
WINGDIAPI HDC WINAPI ResetDCW (HDC, const DEVMODEW *);
@@ -3493,11 +3414,6 @@ WINGDIAPI BOOL WINAPI SetBrushOrgEx (HDC, int, int, LPPOINT);
WINGDIAPI BOOL WINAPI SetColorAdjustment (HDC, const COLORADJUSTMENT *);
WINGDIAPI BOOL WINAPI SetColorSpace (HDC, HCOLORSPACE);
-#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
-WINGDIAPI COLORREF WINAPI SetDCBrushColor (HDC, COLORREF);
-WINGDIAPI COLORREF WINAPI SetDCPenColor (HDC, COLORREF);
-#endif /* WINNT >= Win2K */
-
WINGDIAPI BOOL WINAPI SetDeviceGammaRamp (HDC, PVOID);
WINGDIAPI UINT WINAPI SetDIBColorTable (HDC, UINT, UINT, const RGBQUAD *);
@@ -3623,20 +3539,66 @@ WINGDIAPI BOOL WINAPI GradientFill
WINGDIAPI BOOL WINAPI TransparentBlt
(HDC, int, int, int, int, HDC, int, int, int, int, UINT);
+
+#if WINVER >= _WIN32_WINNT_WIN2K
+WINGDIAPI DWORD WINAPI GetLayout (HDC);
+WINGDIAPI DWORD WINAPI SetLayout (HDC, DWORD);
+
+WINGDIAPI COLORREF WINAPI GetDCBrushColor (HDC);
+WINGDIAPI COLORREF WINAPI GetDCPenColor (HDC);
+#endif /* WINVER >= Win2K */
#endif /* WINVER >= Win98/Win2K */
#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+typedef struct tagWCRANGE
+{ WCHAR wcLow;
+ USHORT cGlyphs;
+} WCRANGE, *PWCRANGE, *LPWCRANGE;
+
+typedef struct tagGLYPHSET
+{ DWORD cbThis;
+ DWORD flAccel;
+ DWORD cGlyphsSupported;
+ DWORD cRanges;
+ WCRANGE ranges[1];
+} GLYPHSET, *PGLYPHSET, *LPGLYPHSET;
+
+typedef struct tagENUMLOGFONTEXDVA
+{ ENUMLOGFONTEXA elfEnumLogfontEx;
+ DESIGNVECTOR elfDesignVector;
+} ENUMLOGFONTEXDVA, *PENUMLOGFONTEXDVA, *LPENUMLOGFONTEXDVA;
+
+typedef struct tagENUMLOGFONTEXDVW
+{ ENUMLOGFONTEXW elfEnumLogfontEx;
+ DESIGNVECTOR elfDesignVector;
+} ENUMLOGFONTEXDVW, *PENUMLOGFONTEXDVW, *LPENUMLOGFONTEXDVW;
+
+typedef __AW_ALIAS__(ENUMLOGFONTEXDV), *PENUMLOGFONTEXDV, *LPENUMLOGFONTEXDV;
+
+WINGDIAPI HANDLE WINAPI AddFontMemResourceEx (PVOID, DWORD, PVOID, DWORD *);
+
+#define AddFontResourceEx __AW_SUFFIXED__(AddFontResourceEx)
+WINGDIAPI int WINAPI AddFontResourceExA (LPCSTR, DWORD, PVOID);
+WINGDIAPI int WINAPI AddFontResourceExW (LPCWSTR, DWORD, PVOID);
+
+WINGDIAPI BOOL WINAPI GetTextExtentExPointI
+(HDC, LPWORD, int, int, LPINT, LPINT, LPSIZE);
+
+WINGDIAPI BOOL WINAPI RemoveFontMemResourceEx (HANDLE);
+
+#define RemoveFontResourceEx __AW_SUFFIXED__(RemoveFontResourceEx)
+WINGDIAPI BOOL WINAPI RemoveFontResourceExA (LPCSTR, DWORD, PVOID);
+WINGDIAPI BOOL WINAPI RemoveFontResourceExW (LPCWSTR, DWORD, PVOID);
+
+WINGDIAPI COLORREF WINAPI SetDCBrushColor (HDC, COLORREF);
+WINGDIAPI COLORREF WINAPI SetDCPenColor (HDC, COLORREF);
+
WINGDIAPI DWORD WINAPI GetFontUnicodeRanges (HDC, LPGLYPHSET);
#define GetGlyphIndices __AW_SUFFIXED__(GetGlyphIndices)
WINGDIAPI DWORD WINAPI GetGlyphIndicesA (HDC, LPCSTR, int, LPWORD, DWORD);
WINGDIAPI DWORD WINAPI GetGlyphIndicesW (HDC, LPCWSTR, int, LPWORD, DWORD);
#endif /* WINNT >= Win2K */
-
-#if WINVER >= _WIN32_WINNT_WIN2K
-WINGDIAPI DWORD WINAPI GetLayout (HDC);
-WINGDIAPI DWORD WINAPI SetLayout (HDC, DWORD);
-#endif /* WINNT >= Win2K */
#endif /* ! RC_INVOKED */
_END_C_DECLS
https://sf.net/p/mingw/mingw-org-wsl/ci/2d5b0afe52103153fb7de68479bfd1c77cc88349/
commit 2d5b0afe52103153fb7de68479bfd1c77cc88349
Author: Keith Marshall <kei...@us...>
Date: Sat Jun 3 20:09:27 2017 +0100
Tidy, and make <wingdi.h> header effectively self-contained.
diff --git a/w32api/ChangeLog b/w32api/ChangeLog
index bc79c12..746b174 100644
--- a/w32api/ChangeLog
+++ b/w32api/ChangeLog
@@ -1,3 +1,36 @@
+2017-06-03 Keith Marshall <kei...@us...>
+
+ Tidy, and make <wingdi.h> header effectively self-contained.
+
+ * include/wingdi.h: Tidy layout; assert copyright.
+ (windef.h): Include it; this achieves self-containment.
+ [_BEGIN_C_DECLS, _END_C_DECLS]: Use them.
+ [UNICODE vs. !UNICODE]: Discriminate generic symbol names, using...
+ (__AW_ALIAS__): ...this, when defining each of...
+ (DEVMODE, PDEVMODE, LPDEVMODE, DOCINFO, LPDOCINFO, LOGCOLORSPACE)
+ (LOGFONT, PLOGFONT, LPLOGFONT, EXTLOGFONT, PEXTLOGFONT, LPEXTLOGFONT)
+ (LPLOGCOLORSPACE, TEXTMETRIC, PTEXTMETRIC, LPTEXTMETRIC, GCP_RESULTS)
+ (PPOLYTEXT, LPPOLYTEXT, NEWTEXTMETRIC, PNEWTEXTMETRIC, LPNEWTEXTMETRIC)
+ (LPENUMLOGFONTEX, ENUMLOGFONTEXDV, PENUMLOGFONTEXDV, LPENUMLOGFONTEXDV)
+ (OUTLINETEXTMETRIC, POUTLINETEXTMETRIC, LPOUTLINETEXTMETRIC, POLYTEXT)
+ (LPGCP_RESULTS, DISPLAY_DEVICE, PDISPLAY_DEVICE, LPDISPLAY_DEVICE)
+ (NEWTEXTMETRICEX, ENUMLOGFONT, LPENUMLOGFONT, ENUMLOGFONTEX): ...these.
+ (__AW_SUFFIXED__): Similarly, use this when declaring each of...
+ (FONTENUMPROC, ICMENUMPROC, AddFontResource, AddFontResourceEx,
+ (CopyEnhMetaFile, CopyMetaFile, CreateColorSpace, CreateEnhMetaFile)
+ (CreateDC, CreateFont, CreateFontIndirect, CreateIC, CreateMetaFile)
+ (CreateScalableFontResource, DeviceCapabilities, EnumFontFamilies)
+ (EnumFontFamiliesEx, EnumFonts, EnumICMProfiles, ExtTextOut)
+ (GetCharABCWidths, GetCharABCWidthsFloat, GetCharacterPlacement)
+ (GetCharWidth32, GetCharWidth, GetCharWidthFloat, GetEnhMetaFile)
+ (GetEnhMetaFileDescription, GetGlyphOutline, GetICMProfile)
+ (GetKerningPairs, GetLogColorSpace, GetMetaFile, GetObject)
+ (GetOutlineTextMetrics, GetTextExtentExPoint, GetTextExtentPoint)
+ (GetTextExtentPoint32, GetTextFace, GetTextMetrics, PolyTextOut,
+ (RemoveFontResource, RemoveFontResourceEx, ResetDC, SetICMProfile)
+ (StartDoc, TextOut, UpdateICMRegKey, wglUseFontBitmaps)
+ (wglUseFontOutlines, GetGlyphIndices): ...these.
+
2017-05-31 Keith Marshall <kei...@us...>
Declare CONDITION_VARIABLE API, per feature request [#2314]
diff --git a/w32api/include/wingdi.h b/w32api/include/wingdi.h
index 76b2301..5d34af6 100644
--- a/w32api/include/wingdi.h
+++ b/w32api/include/wingdi.h
@@ -1,3235 +1,3644 @@
+/*
+ * wingdi.h
+ *
+ * Declarations supporting the Windows Graphical Device Interface API.
+ *
+ * $Id$
+ *
+ * Written by Anders Norlander <ano...@he...>
+ * Copyright (C) 1998-2009, 2011, 2012, 2016, 2017, MinGW.org Project
+ *
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ */
#ifndef _WINGDI_H
+#pragma GCC system_header
#define _WINGDI_H
#define _WINGDI_
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-#ifdef __cplusplus
-extern "C" {
-#endif
+/* For effective self-containment, <wingdi.h> is dependent on the core set
+ * of Windows' custom type definitions...
+ */
+#include <windef.h>
+
+_BEGIN_C_DECLS
#ifndef WINGDIAPI
-#ifdef __W32API_USE_DLLIMPORT__
-#define WINGDIAPI DECLSPEC_IMPORT
-#else
-#define WINGDIAPI
-#endif
+# ifdef __W32API_USE_DLLIMPORT__
+# define WINGDIAPI DECLSPEC_IMPORT
+# else
+# define WINGDIAPI
+# endif
#endif
-#define BI_RGB 0
-#define BI_RLE8 1
-#define BI_RLE4 2
-#define BI_BITFIELDS 3
-#define BI_JPEG 4
-#define BI_PNG 5
-#define LF_FACESIZE 32
-#define LF_FULLFACESIZE 64
-#define CA_NEGATIVE 1
-#define CA_LOG_FILTER 2
-#define ILLUMINANT_DEVICE_DEFAULT 0
-#define ILLUMINANT_A 1
-#define ILLUMINANT_B 2
-#define ILLUMINANT_C 3
-#define ILLUMINANT_D50 4
-#define ILLUMINANT_D55 5
-#define ILLUMINANT_D65 6
-#define ILLUMINANT_D75 7
-#define ILLUMINANT_F2 8
-#define ILLUMINANT_MAX_INDEX ILLUMINANT_F2
-#define ILLUMINANT_TUNGSTEN ILLUMINANT_A
-#define ILLUMINANT_DAYLIGHT ILLUMINANT_C
-#define ILLUMINANT_FLUORESCENT ILLUMINANT_F2
-#define ILLUMINANT_NTSC ILLUMINANT_C
-#define RGB_GAMMA_MIN 2500
-#define RGB_GAMMA_MAX 65000
-#define REFERENCE_WHITE_MIN 6000
-#define REFERENCE_WHITE_MAX 10000
-#define REFERENCE_BLACK_MIN 0
-#define REFERENCE_BLACK_MAX 4000
-#define COLOR_ADJ_MIN (-100)
-#define COLOR_ADJ_MAX 100
-#define CCHDEVICENAME 32
-#define CCHFORMNAME 32
-#define DI_COMPAT 4
-#define DI_DEFAULTSIZE 8
-#define DI_IMAGE 2
-#define DI_MASK 1
-#define DI_NORMAL 3
-#define DI_APPBANDING 1
-#define EMR_HEADER 1
-#define EMR_POLYBEZIER 2
-#define EMR_POLYGON 3
-#define EMR_POLYLINE 4
-#define EMR_POLYBEZIERTO 5
-#define EMR_POLYLINETO 6
-#define EMR_POLYPOLYLINE 7
-#define EMR_POLYPOLYGON 8
-#define EMR_SETWINDOWEXTEX 9
-#define EMR_SETWINDOWORGEX 10
-#define EMR_SETVIEWPORTEXTEX 11
-#define EMR_SETVIEWPORTORGEX 12
-#define EMR_SETBRUSHORGEX 13
-#define EMR_EOF 14
-#define EMR_SETPIXELV 15
-#define EMR_SETMAPPERFLAGS 16
-#define EMR_SETMAPMODE 17
-#define EMR_SETBKMODE 18
-#define EMR_SETPOLYFILLMODE 19
-#define EMR_SETROP2 20
-#define EMR_SETSTRETCHBLTMODE 21
-#define EMR_SETTEXTALIGN 22
-#define EMR_SETCOLORADJUSTMENT 23
-#define EMR_SETTEXTCOLOR 24
-#define EMR_SETBKCOLOR 25
-#define EMR_OFFSETCLIPRGN 26
-#define EMR_MOVETOEX 27
-#define EMR_SETMETARGN 28
-#define EMR_EXCLUDECLIPRECT 29
-#define EMR_INTERSECTCLIPRECT 30
-#define EMR_SCALEVIEWPORTEXTEX 31
-#define EMR_SCALEWINDOWEXTEX 32
-#define EMR_SAVEDC 33
-#define EMR_RESTOREDC 34
-#define EMR_SETWORLDTRANSFORM 35
-#define EMR_MODIFYWORLDTRANSFORM 36
-#define EMR_SELECTOBJECT 37
-#define EMR_CREATEPEN 38
-#define EMR_CREATEBRUSHINDIRECT 39
-#define EMR_DELETEOBJECT 40
-#define EMR_ANGLEARC 41
-#define EMR_ELLIPSE 42
-#define EMR_RECTANGLE 43
-#define EMR_ROUNDRECT 44
-#define EMR_ARC 45
-#define EMR_CHORD 46
-#define EMR_PIE 47
-#define EMR_SELECTPALETTE 48
-#define EMR_CREATEPALETTE 49
-#define EMR_SETPALETTEENTRIES 50
-#define EMR_RESIZEPALETTE 51
-#define EMR_REALIZEPALETTE 52
-#define EMR_EXTFLOODFILL 53
-#define EMR_LINETO 54
-#define EMR_ARCTO 55
-#define EMR_POLYDRAW 56
-#define EMR_SETARCDIRECTION 57
-#define EMR_SETMITERLIMIT 58
-#define EMR_BEGINPATH 59
-#define EMR_ENDPATH 60
-#define EMR_CLOSEFIGURE 61
-#define EMR_FILLPATH 62
-#define EMR_STROKEANDFILLPATH 63
-#define EMR_STROKEPATH 64
-#define EMR_FLATTENPATH 65
-#define EMR_WIDENPATH 66
-#define EMR_SELECTCLIPPATH 67
-#define EMR_ABORTPATH 68
-#define EMR_GDICOMMENT 70
-#define EMR_FILLRGN 71
-#define EMR_FRAMERGN 72
-#define EMR_INVERTRGN 73
-#define EMR_PAINTRGN 74
-#define EMR_EXTSELECTCLIPRGN 75
-#define EMR_BITBLT 76
-#define EMR_STRETCHBLT 77
-#define EMR_MASKBLT 78
-#define EMR_PLGBLT 79
-#define EMR_SETDIBITSTODEVICE 80
-#define EMR_STRETCHDIBITS 81
-#define EMR_EXTCREATEFONTINDIRECTW 82
-#define EMR_EXTTEXTOUTA 83
-#define EMR_EXTTEXTOUTW 84
-#define EMR_POLYBEZIER16 85
-#define EMR_POLYGON16 86
-#define EMR_POLYLINE16 87
-#define EMR_POLYBEZIERTO16 88
-#define EMR_POLYLINETO16 89
-#define EMR_POLYPOLYLINE16 90
-#define EMR_POLYPOLYGON16 91
-#define EMR_POLYDRAW16 92
-#define EMR_CREATEMONOBRUSH 93
-#define EMR_CREATEDIBPATTERNBRUSHPT 94
-#define EMR_EXTCREATEPEN 95
-#define EMR_POLYTEXTOUTA 96
-#define EMR_POLYTEXTOUTW 97
-#define EMR_SETICMMODE 98
-#define EMR_CREATECOLORSPACE 99
-#define EMR_SETCOLORSPACE 100
-#define EMR_DELETECOLORSPACE 101
-#define EMR_GLSRECORD 102
-#define EMR_GLSBOUNDEDRECORD 103
-#define EMR_PIXELFORMAT 104
-#define ENHMETA_SIGNATURE 1179469088
-#define EPS_SIGNATURE 0x46535045
-#if (_WIN32_WINNT >= 0x0500)
-#define FR_PRIVATE 0x10
-#define FR_NOT_ENUM 0x20
-#endif
-#define META_SETBKCOLOR 0x201
-#define META_SETBKMODE 0x102
-#define META_SETMAPMODE 0x103
-#define META_SETROP2 0x104
-#define META_SETRELABS 0x105
-#define META_SETPOLYFILLMODE 0x106
-#define META_SETSTRETCHBLTMODE 0x107
-#define META_SETTEXTCHAREXTRA 0x108
-#define META_SETTEXTCOLOR 0x209
-#define META_SETTEXTJUSTIFICATION 0x20A
-#define META_SETWINDOWORG 0x20B
-#define META_SETWINDOWEXT 0x20C
-#define META_SETVIEWPORTORG 0x20D
-#define META_SETVIEWPORTEXT 0x20E
-#define META_OFFSETWINDOWORG 0x20F
-#define META_SCALEWINDOWEXT 0x410
-#define META_OFFSETVIEWPORTORG 0x211
-#define META_SCALEVIEWPORTEXT 0x412
-#define META_LINETO 0x213
-#define META_MOVETO 0x214
-#define META_EXCLUDECLIPRECT 0x415
-#define META_INTERSECTCLIPRECT 0x416
-#define META_ARC 0x817
-#define META_ELLIPSE 0x418
-#define META_FLOODFILL 0x419
-#define META_PIE 0x81A
-#define META_RECTANGLE 0x41B
-#define META_ROUNDRECT 0x61C
-#define META_PATBLT 0x61D
-#define META_SAVEDC 0x1E
-#define META_SETPIXEL 0x41F
-#define META_OFFSETCLIPRGN 0x220
-#define META_TEXTOUT 0x521
-#define META_BITBLT 0x922
-#define META_STRETCHBLT 0xB23
-#define META_POLYGON 0x324
-#define META_POLYLINE 0x325
-#define META_ESCAPE 0x626
-#define META_RESTOREDC 0x127
-#define META_FILLREGION 0x228
-#define META_FRAMEREGION 0x429
-#define META_INVERTREGION 0x12A
-#define META_PAINTREGION 0x12B
-#define META_SELECTCLIPREGION 0x12C
-#define META_SELECTOBJECT 0x12D
-#define META_SETTEXTALIGN 0x12E
-#define META_CHORD 0x830
-#define META_SETMAPPERFLAGS 0x231
-#define META_EXTTEXTOUT 0xa32
-#define META_SETDIBTODEV 0xd33
-#define META_SELECTPALETTE 0x234
-#define META_REALIZEPALETTE 0x35
-#define META_ANIMATEPALETTE 0x436
-#define META_SETPALENTRIES 0x37
-#define META_POLYPOLYGON 0x538
-#define META_RESIZEPALETTE 0x139
-#define META_DIBBITBLT 0x940
-#define META_DIBSTRETCHBLT 0xb41
-#define META_DIBCREATEPATTERNBRUSH 0x142
-#define META_STRETCHDIB 0xf43
-#define META_EXTFLOODFILL 0x548
-#define META_DELETEOBJECT 0x1f0
-#define META_CREATEPALETTE 0xf7
-#define META_CREATEPATTERNBRUSH 0x1F9
-#define META_CREATEPENINDIRECT 0x2FA
-#define META_CREATEFONTINDIRECT 0x2FB
-#define META_CREATEBRUSHINDIRECT 0x2FC
-#define META_CREATEREGION 0x6FF
-#define PT_MOVETO 6
-#define PT_LINETO 2
-#define PT_BEZIERTO 4
-#define PT_CLOSEFIGURE 1
-#define ELF_VENDOR_SIZE 4
-#define ELF_VERSION 0
-#define ELF_CULTURE_LATIN 0
-#define PFD_TYPE_RGBA 0
-#define PFD_TYPE_COLORINDEX 1
-#define PFD_MAIN_PLANE 0
-#define PFD_OVERLAY_PLANE 1
-#define PFD_UNDERLAY_PLANE (-1)
-#define PFD_DOUBLEBUFFER 1
-#define PFD_STEREO 2
-#define PFD_DRAW_TO_WINDOW 4
-#define PFD_DRAW_TO_BITMAP 8
-#define PFD_SUPPORT_GDI 16
-#define PFD_SUPPORT_OPENGL 32
-#define PFD_GENERIC_FORMAT 64
-#define PFD_NEED_PALETTE 128
-#define PFD_NEED_SYSTEM_PALETTE 0x00000100
-#define PFD_SWAP_EXCHANGE 0x00000200
-#define PFD_SWAP_COPY 0x00000400
-#define PFD_SWAP_LAYER_BUFFERS 0x00000800
-#define PFD_GENERIC_ACCELERATED 0x00001000
-#define PFD_DEPTH_DONTCARE 0x20000000
-#define PFD_DOUBLEBUFFER_DONTCARE 0x40000000
-#define PFD_STEREO_DONTCARE 0x80000000
-#define SP_ERROR (-1)
-#define SP_OUTOFDISK (-4)
-#define SP_OUTOFMEMORY (-5)
-#define SP_USERABORT (-3)
-#define SP_APPABORT (-2)
-#define BLACKNESS 0x00000042
-#define NOTSRCERASE 0x001100A6
-#define NOTSRCCOPY 0x00330008
-#define SRCERASE 0x00440328
-#define DSTINVERT 0x00550009
-#define PATINVERT 0x005A0049
-#define SRCINVERT 0x00660046
-#define SRCAND 0x008800C6
-#define MERGEPAINT 0x00BB0226
-#define MERGECOPY 0x00C000CA
-#define SRCCOPY 0x00CC0020
-#define SRCPAINT 0x00EE0086
-#define PATCOPY 0x00F00021
-#define PATPAINT 0x00FB0A09
-#define WHITENESS 0x00FF0062
-#define CAPTUREBLT 0x40000000
-#define NOMIRRORBITMAP 0x80000000
-#define R2_BLACK 1
-#define R2_COPYPEN 13
-#define R2_MASKNOTPEN 3
-#define R2_MASKPEN 9
-#define R2_MASKPENNOT 5
-#define R2_MERGENOTPEN 12
-#define R2_MERGEPEN 15
-#define R2_MERGEPENNOT 14
-#define R2_NOP 11
-#define R2_NOT 6
-#define R2_NOTCOPYPEN 4
-#define R2_NOTMASKPEN 8
-#define R2_NOTMERGEPEN 2
-#define R2_NOTXORPEN 10
-#define R2_WHITE 16
-#define R2_XORPEN 7
-#define CM_OUT_OF_GAMUT 255
-#define CM_IN_GAMUT 0
-#define RGN_AND 1
-#define RGN_COPY 5
-#define RGN_DIFF 4
-#define RGN_OR 2
-#define RGN_XOR 3
-#define NULLREGION 1
-#define SIMPLEREGION 2
-#define COMPLEXREGION 3
-#define ERROR 0
-#define CBM_INIT 4
-#define DIB_PAL_COLORS 1
-#define DIB_RGB_COLORS 0
-#define FW_DONTCARE 0
-#define FW_THIN 100
-#define FW_EXTRALIGHT 200
-#define FW_ULTRALIGHT FW_EXTRALIGHT
-#define FW_LIGHT 300
-#define FW_NORMAL 400
-#define FW_REGULAR 400
-#define FW_MEDIUM 500
-#define FW_SEMIBOLD 600
-#define FW_DEMIBOLD FW_SEMIBOLD
-#define FW_BOLD 700
-#define FW_EXTRABOLD 800
-#define FW_ULTRABOLD FW_EXTRABOLD
-#define FW_HEAVY 900
-#define FW_BLACK FW_HEAVY
-#define ANSI_CHARSET 0
-#define DEFAULT_CHARSET 1
-#define SYMBOL_CHARSET 2
-#define SHIFTJIS_CHARSET 128
-#define HANGEUL_CHARSET 129
-#define HANGUL_CHARSET 129
-#define GB2312_CHARSET 134
-#define CHINESEBIG5_CHARSET 136
-#define GREEK_CHARSET 161
-#define TURKISH_CHARSET 162
-#define HEBREW_CHARSET 177
-#define ARABIC_CHARSET 178
-#define BALTIC_CHARSET 186
-#define RUSSIAN_CHARSET 204
-#define THAI_CHARSET 222
-#define EASTEUROPE_CHARSET 238
-#define OEM_CHARSET 255
-#define JOHAB_CHARSET 130
-#define VIETNAMESE_CHARSET 163
-#define MAC_CHARSET 77
-#define OUT_DEFAULT_PRECIS 0
-#define OUT_STRING_PRECIS 1
-#define OUT_CHARACTER_PRECIS 2
-#define OUT_STROKE_PRECIS 3
-#define OUT_TT_PRECIS 4
-#define OUT_DEVICE_PRECIS 5
-#define OUT_RASTER_PRECIS 6
-#define OUT_TT_ONLY_PRECIS 7
-#define OUT_OUTLINE_PRECIS 8
+#ifdef UNICODE
+typedef WCHAR BCHAR;
+#else /* ! UNICODE */
+typedef BYTE BCHAR;
+#endif /* ! UNICODE */
+
+#define BI_RGB 0
+#define BI_RLE8 1
+#define BI_RLE4 2
+#define BI_BITFIELDS 3
+#define BI_JPEG 4
+#define BI_PNG 5
+#define LF_FACESIZE 32
+#define LF_FULLFACESIZE 64
+#define CA_NEGATIVE 1
+#define CA_LOG_FILTER 2
+#define ILLUMINANT_DEVICE_DEFAULT 0
+#define ILLUMINANT_A 1
+#define ILLUMINANT_B 2
+#define ILLUMINANT_C 3
+#define ILLUMINANT_D50 4
+#define ILLUMINANT_D55 5
+#define ILLUMINANT_D65 6
+#define ILLUMINANT_D75 7
+#define ILLUMINANT_F2 8
+#define ILLUMINANT_MAX_INDEX ILLUMINANT_F2
+#define ILLUMINANT_TUNGSTEN ILLUMINANT_A
+#define ILLUMINANT_DAYLIGHT ILLUMINANT_C
+#define ILLUMINANT_FLUORESCENT ILLUMINANT_F2
+#define ILLUMINANT_NTSC ILLUMINANT_C
+#define RGB_GAMMA_MIN 2500
+#define RGB_GAMMA_MAX 65000
+#define REFERENCE_WHITE_MIN 6000
+#define REFERENCE_WHITE_MAX 10000
+#define REFERENCE_BLACK_MIN 0
+#define REFERENCE_BLACK_MAX 4000
+#define COLOR_ADJ_MIN (-100)
+#define COLOR_ADJ_MAX 100
+#define CCHDEVICENAME 32
+#define CCHFORMNAME 32
+#define DI_COMPAT 4
+#define DI_DEFAULTSIZE 8
+#define DI_IMAGE 2
+#define DI_MASK 1
+#define DI_NORMAL 3
+#define DI_APPBANDING 1
+#define EMR_HEADER 1
+#define EMR_POLYBEZIER 2
+#define EMR_POLYGON 3
+#define EMR_POLYLINE 4
+#define EMR_POLYBEZIERTO 5
+#define EMR_POLYLINETO 6
+#define EMR_POLYPOLYLINE 7
+#define EMR_POLYPOLYGON 8
+#define EMR_SETWINDOWEXTEX 9
+#define EMR_SETWINDOWORGEX 10
+#define EMR_SETVIEWPORTEXTEX 11
+#define EMR_SETVIEWPORTORGEX 12
+#define EMR_SETBRUSHORGEX 13
+#define EMR_EOF 14
+#define EMR_SETPIXELV 15
+#define EMR_SETMAPPERFLAGS 16
+#define EMR_SETMAPMODE 17
+#define EMR_SETBKMODE 18
+#define EMR_SETPOLYFILLMODE 19
+#define EMR_SETROP2 20
+#define EMR_SETSTRETCHBLTMODE 21
+#define EMR_SETTEXTALIGN 22
+#define EMR_SETCOLORADJUSTMENT 23
+#define EMR_SETTEXTCOLOR 24
+#define EMR_SETBKCOLOR 25
+#define EMR_OFFSETCLIPRGN 26
+#define EMR_MOVETOEX 27
+#define EMR_SETMETARGN 28
+#define EMR_EXCLUDECLIPRECT 29
+#define EMR_INTERSECTCLIPRECT 30
+#define EMR_SCALEVIEWPORTEXTEX 31
+#define EMR_SCALEWINDOWEXTEX 32
+#define EMR_SAVEDC 33
+#define EMR_RESTOREDC 34
+#define EMR_SETWORLDTRANSFORM 35
+#define EMR_MODIFYWORLDTRANSFORM 36
+#define EMR_SELECTOBJECT 37
+#define EMR_CREATEPEN 38
+#define EMR_CREATEBRUSHINDIRECT 39
+#define EMR_DELETEOBJECT 40
+#define EMR_ANGLEARC 41
+#define EMR_ELLIPSE 42
+#define EMR_RECTANGLE 43
+#define EMR_ROUNDRECT 44
+#define EMR_ARC 45
+#define EMR_CHORD 46
+#define EMR_PIE 47
+#define EMR_SELECTPALETTE 48
+#define EMR_CREATEPALETTE 49
+#define EMR_SETPALETTEENTRIES 50
+#define EMR_RESIZEPALETTE 51
+#define EMR_REALIZEPALETTE 52
+#define EMR_EXTFLOODFILL 53
+#define EMR_LINETO 54
+#define EMR_ARCTO 55
+#define EMR_POLYDRAW 56
+#define EMR_SETARCDIRECTION 57
+#define EMR_SETMITERLIMIT 58
+#define EMR_BEGINPATH 59
+#define EMR_ENDPATH 60
+#define EMR_CLOSEFIGURE 61
+#define EMR_FILLPATH 62
+#define EMR_STROKEANDFILLPATH 63
+#define EMR_STROKEPATH 64
+#define EMR_FLATTENPATH 65
+#define EMR_WIDENPATH 66
+#define EMR_SELECTCLIPPATH 67
+#define EMR_ABORTPATH 68
+#define EMR_GDICOMMENT 70
+#define EMR_FILLRGN 71
+#define EMR_FRAMERGN 72
+#define EMR_INVERTRGN 73
+#define EMR_PAINTRGN 74
+#define EMR_EXTSELECTCLIPRGN 75
+#define EMR_BITBLT 76
+#define EMR_STRETCHBLT 77
+#define EMR_MASKBLT 78
+#define EMR_PLGBLT 79
+#define EMR_SETDIBITSTODEVICE 80
+#define EMR_STRETCHDIBITS 81
+#define EMR_EXTCREATEFONTINDIRECTW 82
+#define EMR_EXTTEXTOUTA 83
+#define EMR_EXTTEXTOUTW 84
+#define EMR_POLYBEZIER16 85
+#define EMR_POLYGON16 86
+#define EMR_POLYLINE16 87
+#define EMR_POLYBEZIERTO16 88
+#define EMR_POLYLINETO16 89
+#define EMR_POLYPOLYLINE16 90
+#define EMR_POLYPOLYGON16 91
+#define EMR_POLYDRAW16 92
+#define EMR_CREATEMONOBRUSH 93
+#define EMR_CREATEDIBPATTERNBRUSHPT 94
+#define EMR_EXTCREATEPEN 95
+#define EMR_POLYTEXTOUTA 96
+#define EMR_POLYTEXTOUTW 97
+#define EMR_SETICMMODE 98
+#define EMR_CREATECOLORSPACE 99
+#define EMR_SETCOLORSPACE 100
+#define EMR_DELETECOLORSPACE 101
+#define EMR_GLSRECORD 102
+#define EMR_GLSBOUNDEDRECORD 103
+#define EMR_PIXELFORMAT 104
+#define ENHMETA_SIGNATURE 1179469088
+#define EPS_SIGNATURE 0x46535045
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
+#define FR_PRIVATE 0x10
+#define FR_NOT_ENUM 0x20
+#endif /* WINNT >= Win2K */
+
+#define META_SETBKCOLOR 0x201
+#define META_SETBKMODE 0x102
+#define META_SETMAPMODE 0x103
+#define META_SETROP2 0x104
+#define META_SETRELABS 0x105
+#define META_SETPOLYFILLMODE 0x106
+#define META_SETSTRETCHBLTMODE 0x107
+#define META_SETTEXTCHAREXTRA 0x108
+#define META_SETTEXTCOLOR 0x209
+#define META_SETTEXTJUSTIFICATION 0x20A
+#define META_SETWINDOWORG 0x20B
+#define META_SETWINDOWEXT 0x20C
+#define META_SETVIEWPORTORG 0x20D
+#define META_SETVIEWPORTEXT 0x20E
+#define META_OFFSETWINDOWORG 0x20F
+#define META_SCALEWINDOWEXT 0x410
+#define META_OFFSETVIEWPORTORG 0x211
+#define META_SCALEVIEWPORTEXT 0x412
+#define META_LINETO 0x213
+#define META_MOVETO 0x214
+#define META_EXCLUDECLIPRECT 0x415
+#define META_INTERSECTCLIPRECT 0x416
+#define META_ARC 0x817
+#define META_ELLIPSE 0x418
+#define META_FLOODFILL 0x419
+#define META_PIE 0x81A
+#define META_RECTANGLE 0x41B
+#define META_ROUNDRECT 0x61C
+#define META_PATBLT 0x61D
+#define META_SAVEDC 0x1E
+#define META_SETPIXEL 0x41F
+#define META_OFFSETCLIPRGN 0x220
+#define META_TEXTOUT 0x521
+#define META_BITBLT 0x922
+#define META_STRETCHBLT 0xB23
+#define META_POLYGON 0x324
+#define META_POLYLINE 0x325
+#define META_ESCAPE 0x626
+#define META_RESTOREDC 0x127
+#define META_FILLREGION 0x228
+#define META_FRAMEREGION 0x429
+#define META_INVERTREGION 0x12A
+#define META_PAINTREGION 0x12B
+#define META_SELECTCLIPREGION 0x12C
+#define META_SELECTOBJECT 0x12D
+#define META_SETTEXTALIGN 0x12E
+#define META_CHORD 0x830
+#define META_SETMAPPERFLAGS 0x231
+#define META_EXTTEXTOUT 0xA32
+#define META_SETDIBTODEV 0xD33
+#define META_SELECTPALETTE 0x234
+#define META_REALIZEPALETTE 0x35
+#define META_ANIMATEPALETTE 0x436
+#define META_SETPALENTRIES 0x37
+#define META_POLYPOLYGON 0x538
+#define META_RESIZEPALETTE 0x139
+#define META_DIBBITBLT 0x940
+#define META_DIBSTRETCHBLT 0xB41
+#define META_DIBCREATEPATTERNBRUSH 0x142
+#define META_STRETCHDIB 0xF43
+#define META_EXTFLOODFILL 0x548
+#define META_DELETEOBJECT 0x1F0
+#define META_CREATEPALETTE 0xF7
+#define META_CREATEPATTERNBRUSH 0x1F9
+#define META_CREATEPENINDIRECT 0x2FA
+#define META_CREATEFONTINDIRECT 0x2FB
+#define META_CREATEBRUSHINDIRECT 0x2FC
+#define META_CREATEREGION 0x6FF
+#define PT_MOVETO 6
+#define PT_LINETO 2
+#define PT_BEZIERTO 4
+#define PT_CLOSEFIGURE 1
+#define ELF_VENDOR_SIZE 4
+#define ELF_VERSION 0
+#define ELF_CULTURE_LATIN 0
+#define PFD_TYPE_RGBA 0
+#define PFD_TYPE_COLORINDEX 1
+#define PFD_MAIN_PLANE 0
+#define PFD_OVERLAY_PLANE 1
+#define PFD_UNDERLAY_PLANE (-1)
+#define PFD_DOUBLEBUFFER 1
+#define PFD_STEREO 2
+#define PFD_DRAW_TO_WINDOW 4
+#define PFD_DRAW_TO_BITMAP 8
+#define PFD_SUPPORT_GDI 16
+#define PFD_SUPPORT_OPENGL 32
+#define PFD_GENERIC_FORMAT 64
+#define PFD_NEED_PALETTE 128
+#define PFD_NEED_SYSTEM_PALETTE 0x00000100
+#define PFD_SWAP_EXCHANGE 0x00000200
+#define PFD_SWAP_COPY 0x00000400
+#define PFD_SWAP_LAYER_BUFFERS 0x00000800
+#define PFD_GENERIC_ACCELERATED 0x00001000
+#define PFD_DEPTH_DONTCARE 0x20000000
+#define PFD_DOUBLEBUFFER_DONTCARE 0x40000000
+#define PFD_STEREO_DONTCARE 0x80000000
+#define SP_ERROR (-1)
+#define SP_OUTOFDISK (-4)
+#define SP_OUTOFMEMORY (-5)
+#define SP_USERABORT (-3)
+#define SP_APPABORT (-2)
+#define BLACKNESS 0x00000042
+#define NOTSRCERASE 0x001100A6
+#define NOTSRCCOPY 0x00330008
+#define SRCERASE 0x00440328
+#define DSTINVERT 0x00550009
+#define PATINVERT 0x005A0049
+#define SRCINVERT 0x00660046
+#define SRCAND 0x008800C6
+#define MERGEPAINT 0x00BB0226
+#define MERGECOPY 0x00C000CA
+#define SRCCOPY 0x00CC0020
+#define SRCPAINT 0x00EE0086
+#define PATCOPY 0x00F00021
+#define PATPAINT 0x00FB0A09
+#define WHITENESS 0x00FF0062
+#define CAPTUREBLT 0x40000000
+#define NOMIRRORBITMAP 0x80000000
+#define R2_BLACK 1
+#define R2_COPYPEN 13
+#define R2_MASKNOTPEN 3
+#define R2_MASKPEN 9
+#define R2_MASKPENNOT 5
+#define R2_MERGENOTPEN 12
+#define R2_MERGEPEN 15
+#define R2_MERGEPENNOT 14
+#define R2_NOP 11
+#define R2_NOT 6
+#define R2_NOTCOPYPEN 4
+#define R2_NOTMASKPEN 8
+#define R2_NOTMERGEPEN 2
+#define R2_NOTXORPEN 10
+#define R2_WHITE 16
+#define R2_XORPEN 7
+#define CM_OUT_OF_GAMUT 255
+#define CM_IN_GAMUT 0
+#define RGN_AND 1
+#define RGN_COPY 5
+#define RGN_DIFF 4
+#define RGN_OR 2
+#define RGN_XOR 3
+#define NULLREGION 1
+#define SIMPLEREGION 2
+#define COMPLEXREGION 3
+#define ERROR 0
+#define CBM_INIT 4
+#define DIB_PAL_COLORS 1
+#define DIB_RGB_COLORS 0
+#define FW_DONTCARE 0
+#define FW_THIN 100
+#define FW_EXTRALIGHT 200
+#define FW_ULTRALIGHT FW_EXTRALIGHT
+#define FW_LIGHT 300
+#define FW_NORMAL 400
+#define FW_REGULAR 400
+#define FW_MEDIUM 500
+#define FW_SEMIBOLD 600
+#define FW_DEMIBOLD FW_SEMIBOLD
+#define FW_BOLD 700
+#define FW_EXTRABOLD 800
+#define FW_ULTRABOLD FW_EXTRABOLD
+#define FW_HEAVY 900
+#define FW_BLACK FW_HEAVY
+#define ANSI_CHARSET 0
+#define DEFAULT_CHARSET 1
+#define SYMBOL_CHARSET 2
+#define SHIFTJIS_CHARSET 128
+#define HANGEUL_CHARSET 129
+#define HANGUL_CHARSET 129
+#define GB2312_CHARSET 134
+#define CHINESEBIG5_CHARSET 136
+#define GREEK_CHARSET 161
+#define TURKISH_CHARSET 162
+#define HEBREW_CHARSET 177
+#define ARABIC_CHARSET 178
+#define BALTIC_CHARSET 186
+#define RUSSIAN_CHARSET 204
+#define THAI_CHARSET 222
+#define EASTEUROPE_CHARSET 238
+#define OEM_CHARSET 255
+#define JOHAB_CHARSET 130
+#define VIETNAMESE_CHARSET 163
+#define MAC_CHARSET 77
+#define OUT_DEFAULT_PRECIS 0
+#define OUT_STRING_PRECIS 1
+#define OUT_CHARACTER_PRECIS 2
+#define OUT_STROKE_PRECIS 3
+#define OUT_TT_PRECIS 4
+#define OUT_DEVICE_PRECIS 5
+#define OUT_RASTER_PRECIS 6
+#define OUT_TT_ONLY_PRECIS 7
+#define OUT_OUTLINE_PRECIS 8
/* http://www.pinvoke.net/default.aspx/Structures/LOGFONT.html */
-#define OUT_PS_ONLY_PRECIS 10
-#define CLIP_DEFAULT_PRECIS 0
-#define CLIP_CHARACTER_PRECIS 1
-#define CLIP_STROKE_PRECIS 2
-#define CLIP_MASK 15
-#define CLIP_LH_ANGLES 16
-#define CLIP_TT_ALWAYS 32
-#define CLIP_EMBEDDED 128
-#define DEFAULT_QUALITY 0
-#define DRAFT_QUALITY 1
-#define PROOF_QUALITY 2
-#define NONANTIALIASED_QUALITY 3
-#define ANTIALIASED_QUALITY 4
-#if _WIN32_WINNT >= 0x0500
-#define CLEARTYPE_QUALITY 5
-#endif
-#define DEFAULT_PITCH 0
-#define FIXED_PITCH 1
-#define VARIABLE_PITCH 2
-#define MONO_FONT 8
-#define FF_DECORATIVE 80
-#define FF_DONTCARE 0
-#define FF_MODERN 48
-#define FF_ROMAN 16
-#define FF_SCRIPT 64
-#define FF_SWISS 32
-#define PANOSE_COUNT 10
-#define PAN_FAMILYTYPE_INDEX 0
-#define PAN_SERIFSTYLE_INDEX 1
-#define PAN_WEIGHT_INDEX 2
-#define PAN_PROPORTION_INDEX 3
-#define PAN_CONTRAST_INDEX 4
-#define PAN_STROKEVARIATION_INDEX 5
-#define PAN_ARMSTYLE_INDEX 6
-#define PAN_LETTERFORM_INDEX 7
-#define PAN_MIDLINE_INDEX 8
-#define PAN_XHEIGHT_INDEX 9
-#define PAN_CULTURE_LATIN 0
-#define PAN_ANY 0
-#define PAN_NO_FIT 1
-#define PAN_FAMILY_TEXT_DISPLAY 2
-#define PAN_FAMILY_SCRIPT 3
-#define PAN_FAMILY_DECORATIVE 4
-#define PAN_FAMILY_PICTORIAL 5
-#define PAN_SERIF_COVE 2
-#define PAN_SERIF_OBTUSE_COVE 3
-#define PAN_SERIF_SQUARE_COVE 4
-#define PAN_SERIF_OBTUSE_SQUARE_COVE 5
-#define PAN_SERIF_SQUARE 6
-#define PAN_SERIF_THIN 7
-#define PAN_SERIF_BONE 8
-#define PAN_SERIF_EXAGGERATED 9
-#define PAN_SERIF_TRIANGLE 10
-#define PAN_SERIF_NORMAL_SANS 11
-#define PAN_SERIF_OBTUSE_SANS 12
-#define PAN_SERIF_PERP_SANS 13
-#define PAN_SERIF_FLARED 14
-#define PAN_SERIF_ROUNDED 15
-#define PAN_WEIGHT_VERY_LIGHT 2
-#define PAN_WEIGHT_LIGHT 3
-#define PAN_WEIGHT_THIN 4
-#define PAN_WEIGHT_BOOK 5
-#define PAN_WEIGHT_MEDIUM 6
-#define PAN_WEIGHT_DEMI 7
-#define PAN_WEIGHT_BOLD 8
-#define PAN_WEIGHT_HEAVY 9
-#define PAN_WEIGHT_BLACK 10
-#define PAN_WEIGHT_NORD 11
-#define PAN_PROP_OLD_STYLE 2
-#define PAN_PROP_MODERN 3
-#define PAN_PROP_EVEN_WIDTH 4
-#define PAN_PROP_EXPANDED 5
-#define PAN_PROP_CONDENSED 6
-#define PAN_PROP_VERY_EXPANDED 7
-#define PAN_PROP_VERY_CONDENSED 8
-#define PAN_PROP_MONOSPACED 9
-#define PAN_CONTRAST_NONE 2
-#define PAN_CONTRAST_VERY_LOW 3
-#define PAN_CONTRAST_LOW 4
-#define PAN_CONTRAST_MEDIUM_LOW 5
-#define PAN_CONTRAST_MEDIUM 6
-#define PAN_CONTRAST_MEDIUM_HIGH 7
-#define PAN_CONTRAST_HIGH 8
-#define PAN_CONTRAST_VERY_HIGH 9
-#define PAN_STROKE_GRADUAL_DIAG 2
-#define PAN_STROKE_GRADUAL_TRAN 3
-#define PAN_STROKE_GRADUAL_VERT 4
-#define PAN_STROKE_GRADUAL_HORZ 5
-#define PAN_STROKE_RAPID_VERT 6
-#define PAN_STROKE_RAPID_HORZ 7
-#define PAN_STROKE_INSTANT_VERT 8
-#define PAN_STRAIGHT_ARMS_HORZ 2
-#define PAN_STRAIGHT_ARMS_WEDGE 3
-#define PAN_STRAIGHT_ARMS_VERT 4
-#define PAN_STRAIGHT_ARMS_SINGLE_SERIF 5
-#define PAN_STRAIGHT_ARMS_DOUBLE_SERIF 6
-#define PAN_BENT_ARMS_HORZ 7
-#define PAN_BENT_ARMS_WEDGE 8
-#define PAN_BENT_ARMS_VERT 9
-#define PAN_BENT_ARMS_SINGLE_SERIF 10
-#define PAN_BENT_ARMS_DOUBLE_SERIF 11
-#define PAN_LETT_NORMAL_CONTACT 2
-#define PAN_LETT_NORMAL_WEIGHTED 3
-#define PAN_LETT_NORMAL_BOXED 4
-#define PAN_LETT_NORMAL_FLATTENED 5
-#define PAN_LETT_NORMAL_ROUNDED 6
-#define PAN_LETT_NORMAL_OFF_CENTER 7
-#define PAN_LETT_NORMAL_SQUARE 8
-#define PAN_LETT_OBLIQUE_CONTACT 9
-#define PAN_LETT_OBLIQUE_WEIGHTED 10
-#define PAN_LETT_OBLIQUE_BOXED 11
-#define PAN_LETT_OBLIQUE_FLATTENED 12
-#define PAN_LETT_OBLIQUE_ROUNDED 13
-#define PAN_LETT_OBLIQUE_OFF_CENTER 14
-#define PAN_LETT_OBLIQUE_SQUARE 15
-#define PAN_MIDLINE_STANDARD_TRIMMED 2
-#define PAN_MIDLINE_STANDARD_POINTED 3
-#define PAN_MIDLINE_STANDARD_SERIFED 4
-#define PAN_MIDLINE_HIGH_TRIMMED 5
-#define PAN_MIDLINE_HIGH_POINTED 6
-#define PAN_MIDLINE_HIGH_SERIFED 7
-#define PAN_MIDLINE_CONSTANT_TRIMMED 8
-#define PAN_MIDLINE_CONSTANT_POINTED 9
-#define PAN_MIDLINE_CONSTANT_SERIFED 10
-#define PAN_MIDLINE_LOW_TRIMMED 11
-#define PAN_MIDLINE_LOW_POINTED 12
-#define PAN_MIDLINE_LOW_SERIFED 13
-#define PAN_XHEIGHT_CONSTANT_SMALL 2
-#define PAN_XHEIGHT_CONSTANT_STD 3
-#define PAN_XHEIGHT_CONSTANT_LARGE 4
-#define PAN_XHEIGHT_DUCKING_SMALL 5
-#define PAN_XHEIGHT_DUCKING_STD 6
-#define PAN_XHEIGHT_DUCKING_LARGE 7
-#define FS_LATIN1 1
-#define FS_LATIN2 2
-#define FS_CYRILLIC 4
-#define FS_GREEK 8
-#define FS_TURKISH 16
-#define FS_HEBREW 32
-#define FS_ARABIC 64
-#define FS_BALTIC 128
-#define FS_THAI 0x10000
-#define FS_JISJAPAN 0x20000
-#define FS_CHINESESIMP 0x40000
-#define FS_WANSUNG 0x80000
-#define FS_CHINESETRAD 0x100000
-#define FS_JOHAB 0x200000
-#define FS_SYMBOL 0x80000000
-#define HS_BDIAGONAL 3
-#define HS_CROSS 4
-#define HS_DIAGCROSS 5
-#define HS_FDIAGONAL 2
-#define HS_HORIZONTAL 0
-#define HS_VERTICAL 1
-#define PS_GEOMETRIC 65536
-#define PS_COSMETIC 0
-#define PS_ALTERNATE 8
-#define PS_SOLID 0
-#define PS_DASH 1
-#define PS_DOT 2
-#define PS_DASHDOT 3
-#define PS_DASHDOTDOT 4
-#define PS_NULL 5
-#define PS_USERSTYLE 7
-#define PS_INSIDEFRAME 6
-#define PS_ENDCAP_ROUND 0
-#define PS_ENDCAP_SQUARE 256
-#define PS_ENDCAP_FLAT 512
-#define PS_JOIN_BEVEL 4096
-#define PS_JOIN_MITER 8192
-#define PS_JOIN_ROUND 0
-#define PS_STYLE_MASK 15
-#define PS_ENDCAP_MASK 3840
-#define PS_TYPE_MASK 983040
-#define ALTERNATE 1
-#define WINDING 2
-#define DC_BINNAMES 12
-#define DC_BINS 6
-#define DC_COPIES 18
-#define DC_DRIVER 11
-#define DC_DATATYPE_PRODUCED 21
-#define DC_DUPLEX 7
-#define DC_EMF_COMPLIANT 20
-#define DC_ENUMRESOLUTIONS 13
-#define DC_EXTRA 9
-#define DC_FIELDS 1
-#define DC_FILEDEPENDENCIES 14
-#define DC_MAXEXTENT 5
-#define DC_MINEXTENT 4
-#define DC_ORIENTATION 17
-#define DC_PAPERNAMES 16
-#define DC_PAPERS 2
-#define DC_PAPERSIZE 3
-#define DC_SIZE 8
-#define DC_TRUETYPE 15
-#define DCTT_BITMAP 1
-#define DCTT_DOWNLOAD 2
-#define DCTT_SUBDEV 4
-#define DCTT_DOWNLOAD_OUTLINE 8
-#define DC_VERSION 10
-#define DC_BINADJUST 19
-#define DC_EMF_COMPLIANT 20
-#define DC_DATATYPE_PRODUCED 21
-#define DC_MANUFACTURER 23
-#define DC_MODEL 24
-#if (WINVER >= 0x0500)
-#define DC_PERSONALITY 25
-#define DC_PRINTRATE 26
-#define DC_PRINTRATEUNIT 27
-#define DC_PRINTERMEM 28
-#define DC_MEDIAREADY 29
-#define DC_STAPLE 30
-#define DC_PRINTRATEPPM 31
-#define DC_COLORDEVICE 32
-#define DC_NUP 33
-#endif
-#if (WINVER >= 0x0501)
-#define DC_MEDIATYPENAMES 34
-#define DC_MEDIATYPES 35
-#endif
-#define DCBA_FACEUPNONE 0
-#define DCBA_FACEUPCENTER 1
-#define DCBA_FACEUPLEFT 2
-#define DCBA_FACEUPRIGHT 3
-#define DCBA_FACEDOWNNONE 256
-#define DCBA_FACEDOWNCENTER 257
-#define DCBA_FACEDOWNLEFT 258
-#define DCBA_FACEDOWNRIGHT 259
-#define FLOODFILLBORDER 0
-#define FLOODFILLSURFACE 1
-#define ETO_CLIPPED 0x0004
-#define ETO_GLYPH_INDEX 0x0010
-#define ETO_OPAQUE 0x0002
-#define ETO_NUMERICSLATIN 0x0800
-#define ETO_NUMERICSLOCAL 0x0400
-#define ETO_RTLREADING 0x0080
-#if (_WIN32_WINNT >= 0x0400)
-#define ETO_IGNORELANGUAGE 0x1000
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-#define ETO_PDY 0x2000
-#endif
-#define GDICOMMENT_WINDOWS_METAFILE (-2147483647)
-#define GDICOMMENT_BEGINGROUP 2
-#define GDICOMMENT_ENDGROUP 3
-#define GDICOMMENT_MULTIFORMATS 1073741828
-#define GDICOMMENT_IDENTIFIER 1128875079
-#define AD_COUNTERCLOCKWISE 1
-#define AD_CLOCKWISE 2
-#define RDH_RECTANGLES 1
-#define GCPCLASS_LATIN 1
-#define GCPCLASS_HEBREW 2
-#define GCPCLASS_ARABIC 2
-#define GCPCLASS_NEUTRAL 3
-#define GCPCLASS_LOCALNUMBER 4
-#define GCPCLASS_LATINNUMBER 5
-#define GCPCLASS_LATINNUMERICTERMINATOR 6
-#define GCPCLASS_LATINNUMERICSEPARATOR 7
-#define GCPCLASS_NUMERICSEPARATOR 8
-#define GCPCLASS_PREBOUNDLTR 128
-#define GCPCLASS_PREBOUNDRTL 64
-#define GCPCLASS_POSTBOUNDLTR 32
-#define GCPCLASS_POSTBOUNDRTL 16
-#define GCPGLYPH_LINKBEFORE 0x8000
-#define GCPGLYPH_LINKAFTER 0x4000
-#define DCB_DISABLE 8
-#define DCB_ENABLE 4
-#define DCB_RESET 1
-#define DCB_SET 3
-#define DCB_ACCUMULATE 2
-#define DCB_DIRTY 2
-#define OBJ_BRUSH 2
-#define OBJ_PEN 1
-#define OBJ_PAL 5
-#define OBJ_FONT 6
-#define OBJ_BITMAP 7
-#define OBJ_EXTPEN 11
-#define OBJ_REGION 8
-#define OBJ_DC 3
-#define OBJ_MEMDC 10
-#define OBJ_METAFILE 9
-#define OBJ_METADC 4
-#define OBJ_ENHMETAFILE 13
-#define OBJ_ENHMETADC 12
-#define DRIVERVERSION 0
-#define TECHNOLOGY 2
-#define DT_PLOTTER 0
-#define DT_RASDISPLAY 1
-#define DT_RASPRINTER 2
-#define DT_RASCAMERA 3
-#define DT_CHARSTREAM 4
-#define DT_METAFILE 5
-#define DT_DISPFILE 6
-#define HORZSIZE 4
-#define VERTSIZE 6
-#define HORZRES 8
-#define VERTRES 10
-#define LOGPIXELSX 88
-#define LOGPIXELSY 90
-#define BITSPIXEL 12
-#define PLANES 14
-#define NUMBRUSHES 16
-#define NUMPENS 18
-#define NUMFONTS 22
-#define NUMCOLORS 24
-#define NUMMARKERS 20
-#define ASPECTX 40
-#define ASPECTY 42
-#define ASPECTXY 44
-#define PDEVICESIZE 26
-#define CLIPCAPS 36
-#define SIZEPALETTE 104
-#define NUMRESERVED 106
-#define COLORRES 108
-#define PHYSICALWIDTH 110
-#define PHYSICALHEIGHT 111
-#define PHYSICALOFFSETX 112
-#define PHYSICALOFFSETY 113
-#define SCALINGFACTORX 114
-#define SCALINGFACTORY 115
-#define VREFRESH 116
-#define DESKTOPHORZRES 118
-#define DESKTOPVERTRES 117
-#define BLTALIGNMENT 119
-#if(WINVER >= 0x0500)
-#define SHADEBLENDCAPS 120
-#define SB_NONE 0x00
-#define SB_CONST_ALPHA 0x01
-#define SB_PIXEL_ALPHA 0x02
-#define SB_PREMULT_ALPHA 0x04
-#define SB_GRAD_RECT 0x10
-#define SB_GRAD_TRI 0x20
-#define COLORMGMTCAPS 121
-#define CM_NONE 0x00
-#define CM_DEVICE_ICM 0x01
-#define CM_GAMMA_RAMP 0x02
-#define CM_CMYK_COLOR 0x04
-#endif
-#define RASTERCAPS 38
-#define RC_BANDING 2
-#define RC_BITBLT 1
-#define RC_BITMAP64 8
-#define RC_DI_BITMAP 128
-#define RC_DIBTODEV 512
-#define RC_FLOODFILL 4096
-#define RC_GDI20_OUTPUT 16
-#define RC_PALETTE 256
-#define RC_SCALING 4
-#define RC_STRETCHBLT 2048
-#define RC_STRETCHDIB 8192
-#define RC_DEVBITS 0x8000
-#define RC_OP_DX_OUTPUT 0x4000
-#define CURVECAPS 28
-#define CC_NONE 0
-#define CC_CIRCLES 1
-#define CC_PIE 2
-#define CC_CHORD 4
-#define CC_ELLIPSES 8
-#define CC_WIDE 16
-#define CC_STYLED 32
-#define CC_WIDESTYLED 64
-#define CC_INTERIORS 128
-#define CC_ROUNDRECT 256
-#define LINECAPS 30
-#define LC_NONE 0
-#define LC_POLYLINE 2
-#define LC_MARKER 4
-#define LC_POLYMARKER 8
-#define LC_WIDE 16
-#define LC_STYLED 32
-#define LC_WIDESTYLED 64
-#define LC_INTERIORS 128
-#define POLYGONALCAPS 32
-#define RC_BANDING 2
-#define RC_BIGFONT 1024
-#define RC_BITBLT 1
-#define RC_BITMAP64 8
-#define RC_DEVBITS 0x8000
-#define RC_DI_BITMAP 128
-#define RC_GDI20_OUTPUT 16
-#define RC_GDI20_STATE 32
-#define RC_NONE 0
-#define RC_OP_DX_OUTPUT 0x4000
-#define RC_PALETTE 256
-#define RC_SAVEBITMAP 64
-#define RC_SCALING 4
-#define PC_NONE 0
-#define PC_POLYGON 1
-#define PC_POLYPOLYGON 256
-#define PC_PATHS 512
-#define PC_RECTANGLE 2
-#define PC_WINDPOLYGON 4
-#define PC_SCANLINE 8
-#define PC_TRAPEZOID 4
-#define PC_WIDE 16
-#define PC_STYLED 32
-#define PC_WIDESTYLED 64
-#define PC_INTERIORS 128
-#define PC_PATHS 512
-#define TEXTCAPS 34
-#define TC_OP_CHARACTER 1
-#define TC_OP_STROKE 2
-#define TC_CP_STROKE 4
-#define TC_CR_90 8
-#define TC_CR_ANY 16
-#define TC_SF_X_YINDEP 32
-#define TC_SA_DOUBLE 64
-#define TC_SA_INTEGER 128
-#define TC_SA_CONTIN 256
-#define TC_EA_DOUBLE 512
-#define TC_IA_ABLE 1024
-#define TC_UA_ABLE 2048
-#define TC_SO_ABLE 4096
-#define TC_RA_ABLE 8192
-#define TC_VA_ABLE 16384
-#define TC_RESERVED 32768
-#define TC_SCROLLBLT 65536
-#define GCP_DBCS 1
-#define GCP_ERROR 0x8000
-#define GCP_CLASSIN 0x80000
-#define GCP_DIACRITIC 256
-#define GCP_DISPLAYZWG 0x400000
-#define GCP_GLYPHSHAPE 16
-#define GCP_JUSTIFY 0x10000
-#define GCP_JUSTIFYIN 0x200000
-#define GCP_KASHIDA 1024
-#define GCP_LIGATE 32
-#define GCP_MAXEXTENT 0x100000
-#define GCP_NEUTRALOVERRIDE 0x2000000
-#define GCP_NUMERICOVERRIDE 0x1000000
-#define GCP_NUMERICSLATIN 0x4000000
-#define GCP_NUMERICSLOCAL 0x8000000
-#define GCP_REORDER 2
-#define GCP_SYMSWAPOFF 0x800000
-#define GCP_USEKERNING 8
-#define FLI_GLYPHS 0x40000
-#define FLI_MASK 0x103b
-#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
-#define GGO_GLYPH_INDEX 128
-#if (WINVER >= 0x0500)
-#define GGO_UNHINTED 256
-#endif
-#define GM_COMPATIBLE 1
-#define GM_ADVANCED 2
-#define MM_ANISOTROPIC 8
-#define MM_HIENGLISH 5
-#define MM_HIMETRIC 3
-#define MM_ISOTROPIC 7
-#define MM_LOENGLISH 4
-#define MM_LOMETRIC 2
-#define MM_TEXT 1
-#define MM_TWIPS 6
-#define MM_MAX_FIXEDSCALE MM_TWIPS
-#define ABSOLUTE 1
-#define RELATIVE 2
-#define PC_EXPLICIT 2
-#define PC_NOCOLLAPSE 4
-#define PC_RESERVED 1
-#define CLR_NONE 0xffffffff
-#define CLR_INVALID CLR_NONE
-#define CLR_DEFAULT 0xff000000
-#define PT_MOVETO 6
-#define PT_LINETO 2
-#define PT_BEZIERTO 4
-#define PT_CLOSEFIGURE 1
-#define TT_AVAILABLE 1
-#define TT_ENABLED 2
-#define BLACK_BRUSH 4
-#define DKGRAY_BRUSH 3
-#define GRAY_BRUSH 2
-#define HOLLOW_BRUSH 5
-#define LTGRAY_BRUSH 1
-#define NULL_BRUSH 5
-#define WHITE_BRUSH 0
-#define BLACK_PEN 7
-#define NULL_PEN 8
-#define WHITE_PEN 6
-#define ANSI_FIXED_FONT 11
-#define ANSI_VAR_FONT 12
-#define DEVICE_DEFAULT_FONT 14
-#define DEFAULT_GUI_FONT 17
-#define OEM_FIXED_FONT 10
-#define SYSTEM_FONT 13
-#define SYSTEM_FIXED_FONT 16
-#define DEFAULT_PALETTE 15
-#if (_WIN32_WINNT >= 0x0500)
-#define DC_BRUSH 18
-#define DC_PEN 19
-#endif
-#define SYSPAL_ERROR 0
-#define SYSPAL_STATIC 1
-#define SYSPAL_NOSTATIC 2
-#define SYSPAL_NOSTATIC256 3
-#define TA_BASELINE 24
-#define TA_BOTTOM 8
-#define TA_TOP 0
-#define TA_CENTER 6
-#define TA_LEFT 0
-#define TA_RIGHT 2
-#define TA_RTLREADING 256
-#define TA_NOUPDATECP 0
-#define TA_UPDATECP 1
-#define TA_MASK (TA_BASELINE+TA_CENTER+TA_UPDATECP+TA_RTLREADING)
-#define VTA_BASELINE 24
-#define VTA_CENTER 6
-#define VTA_LEFT TA_BOTTOM
-#define VTA_RIGHT TA_TOP
-#define VTA_BOTTOM TA_RIGHT
-#define VTA_TOP TA_LEFT
-#define MWT_IDENTITY 1
-#define MWT_LEFTMULTIPLY 2
-#define MWT_RIGHTMULTIPLY 3
-#define OPAQUE 2
-#define TRANSPARENT 1
-#define BLACKONWHITE 1
-#define WHITEONBLACK 2
-#define COLORONCOLOR 3
-#define HALFTONE 4
-#define MAXSTRETCHBLTMODE 4
-#define STRETCH_ANDSCANS 1
-#define STRETCH_DELETESCANS 3
-#define STRETCH_HALFTONE 4
-#define STRETCH_ORSCANS 2
-#define TCI_SRCCHARSET 1
-#define TCI_SRCCODEPAGE 2
-#define TCI_SRCFONTSIG 3
-#...
[truncated message content] |