OSDN Git Service

Consolidate <wingdi.h> version specific conditionals.
authorKeith Marshall <keithmarshall@users.sourceforge.net>
Sun, 4 Jun 2017 17:51:20 +0000 (18:51 +0100)
committerKeith Marshall <keithmarshall@users.sourceforge.net>
Sun, 4 Jun 2017 17:51:20 +0000 (18:51 +0100)
w32api/ChangeLog
w32api/include/wingdi.h

index 746b174..dac6a9f 100644 (file)
@@ -1,3 +1,15 @@
+2017-06-04  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       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  <keithmarshall@users.sourceforge.net>
 
        Tidy, and make <wingdi.h> header effectively self-contained.
index 5d34af6..13043b2 100644 (file)
@@ -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