holdingarea/llvm/llvm-gcc4.2-2.7-x86-mingw32/include/wingdi.h
branchbug235_bringup_0
changeset 20 d2d6724aef32
equal deleted inserted replaced
19:da7c1a80df0d 20:d2d6724aef32
       
     1 #ifndef _WINGDI_H
       
     2 #define _WINGDI_H
       
     3 #define _WINGDI_
       
     4 #if __GNUC__ >= 3
       
     5 #pragma GCC system_header
       
     6 #endif
       
     7 
       
     8 #ifdef __cplusplus
       
     9 extern "C" {
       
    10 #endif
       
    11 
       
    12 #ifndef WINGDIAPI
       
    13 #ifdef __W32API_USE_DLLIMPORT__
       
    14 #define WINGDIAPI DECLSPEC_IMPORT
       
    15 #else
       
    16 #define WINGDIAPI
       
    17 #endif
       
    18 #endif
       
    19 
       
    20 #define BI_RGB 0
       
    21 #define BI_RLE8 1
       
    22 #define BI_RLE4 2
       
    23 #define BI_BITFIELDS 3
       
    24 #define BI_JPEG 4
       
    25 #define BI_PNG 5
       
    26 #define LF_FACESIZE	32
       
    27 #define LF_FULLFACESIZE	64
       
    28 #define CA_NEGATIVE	1
       
    29 #define CA_LOG_FILTER	2
       
    30 #define ILLUMINANT_DEVICE_DEFAULT	0
       
    31 #define ILLUMINANT_A	1
       
    32 #define ILLUMINANT_B	2
       
    33 #define ILLUMINANT_C	3
       
    34 #define ILLUMINANT_D50	4
       
    35 #define ILLUMINANT_D55	5
       
    36 #define ILLUMINANT_D65	6
       
    37 #define ILLUMINANT_D75	7
       
    38 #define ILLUMINANT_F2	8
       
    39 #define ILLUMINANT_MAX_INDEX	ILLUMINANT_F2
       
    40 #define ILLUMINANT_TUNGSTEN	ILLUMINANT_A
       
    41 #define ILLUMINANT_DAYLIGHT	ILLUMINANT_C
       
    42 #define ILLUMINANT_FLUORESCENT	ILLUMINANT_F2
       
    43 #define ILLUMINANT_NTSC	ILLUMINANT_C
       
    44 #define RGB_GAMMA_MIN	2500
       
    45 #define RGB_GAMMA_MAX	65000
       
    46 #define REFERENCE_WHITE_MIN	6000
       
    47 #define REFERENCE_WHITE_MAX	10000
       
    48 #define REFERENCE_BLACK_MIN	0
       
    49 #define REFERENCE_BLACK_MAX	4000
       
    50 #define COLOR_ADJ_MIN	(-100)
       
    51 #define COLOR_ADJ_MAX	100
       
    52 #define CCHDEVICENAME 32
       
    53 #define CCHFORMNAME 32
       
    54 #define DI_COMPAT	4
       
    55 #define DI_DEFAULTSIZE	8
       
    56 #define DI_IMAGE	2
       
    57 #define DI_MASK	1
       
    58 #define DI_NORMAL	3
       
    59 #define DI_APPBANDING 1
       
    60 #define EMR_HEADER	1
       
    61 #define EMR_POLYBEZIER 2
       
    62 #define EMR_POLYGON	3
       
    63 #define EMR_POLYLINE	4
       
    64 #define EMR_POLYBEZIERTO	5
       
    65 #define EMR_POLYLINETO 6
       
    66 #define EMR_POLYPOLYLINE	7
       
    67 #define EMR_POLYPOLYGON 8
       
    68 #define EMR_SETWINDOWEXTEX	9
       
    69 #define EMR_SETWINDOWORGEX	10
       
    70 #define EMR_SETVIEWPORTEXTEX 11
       
    71 #define EMR_SETVIEWPORTORGEX 12
       
    72 #define EMR_SETBRUSHORGEX 13
       
    73 #define EMR_EOF 14
       
    74 #define EMR_SETPIXELV 15
       
    75 #define EMR_SETMAPPERFLAGS 16
       
    76 #define EMR_SETMAPMODE 17
       
    77 #define EMR_SETBKMODE 18
       
    78 #define EMR_SETPOLYFILLMODE 19
       
    79 #define EMR_SETROP2 20
       
    80 #define EMR_SETSTRETCHBLTMODE 21
       
    81 #define EMR_SETTEXTALIGN 22
       
    82 #define EMR_SETCOLORADJUSTMENT 23
       
    83 #define EMR_SETTEXTCOLOR 24
       
    84 #define EMR_SETBKCOLOR 25
       
    85 #define EMR_OFFSETCLIPRGN 26
       
    86 #define EMR_MOVETOEX 27
       
    87 #define EMR_SETMETARGN 28
       
    88 #define EMR_EXCLUDECLIPRECT 29
       
    89 #define EMR_INTERSECTCLIPRECT 30
       
    90 #define EMR_SCALEVIEWPORTEXTEX 31
       
    91 #define EMR_SCALEWINDOWEXTEX 32
       
    92 #define EMR_SAVEDC 33
       
    93 #define EMR_RESTOREDC 34
       
    94 #define EMR_SETWORLDTRANSFORM 35
       
    95 #define EMR_MODIFYWORLDTRANSFORM 36
       
    96 #define EMR_SELECTOBJECT 37
       
    97 #define EMR_CREATEPEN 38
       
    98 #define EMR_CREATEBRUSHINDIRECT 39
       
    99 #define EMR_DELETEOBJECT 40
       
   100 #define EMR_ANGLEARC 41
       
   101 #define EMR_ELLIPSE  42
       
   102 #define EMR_RECTANGLE 43
       
   103 #define EMR_ROUNDRECT 44
       
   104 #define EMR_ARC 45
       
   105 #define EMR_CHORD 46
       
   106 #define EMR_PIE 47
       
   107 #define EMR_SELECTPALETTE 48
       
   108 #define EMR_CREATEPALETTE 49
       
   109 #define EMR_SETPALETTEENTRIES 50
       
   110 #define EMR_RESIZEPALETTE 51
       
   111 #define EMR_REALIZEPALETTE 52
       
   112 #define EMR_EXTFLOODFILL 53
       
   113 #define EMR_LINETO 54
       
   114 #define EMR_ARCTO 55
       
   115 #define EMR_POLYDRAW 56
       
   116 #define EMR_SETARCDIRECTION 57
       
   117 #define EMR_SETMITERLIMIT 58
       
   118 #define EMR_BEGINPATH 59
       
   119 #define EMR_ENDPATH 60
       
   120 #define EMR_CLOSEFIGURE 61
       
   121 #define EMR_FILLPATH 62
       
   122 #define EMR_STROKEANDFILLPATH 63
       
   123 #define EMR_STROKEPATH 64
       
   124 #define EMR_FLATTENPATH 65
       
   125 #define EMR_WIDENPATH 66
       
   126 #define EMR_SELECTCLIPPATH 67
       
   127 #define EMR_ABORTPATH 68
       
   128 #define EMR_GDICOMMENT 70
       
   129 #define EMR_FILLRGN 71
       
   130 #define EMR_FRAMERGN 72
       
   131 #define EMR_INVERTRGN 73
       
   132 #define EMR_PAINTRGN 74
       
   133 #define EMR_EXTSELECTCLIPRGN 75
       
   134 #define EMR_BITBLT 76
       
   135 #define EMR_STRETCHBLT 77
       
   136 #define EMR_MASKBLT 78
       
   137 #define EMR_PLGBLT 79
       
   138 #define EMR_SETDIBITSTODEVICE 80
       
   139 #define EMR_STRETCHDIBITS 81
       
   140 #define EMR_EXTCREATEFONTINDIRECTW 82
       
   141 #define EMR_EXTTEXTOUTA 83
       
   142 #define EMR_EXTTEXTOUTW 84
       
   143 #define EMR_POLYBEZIER16 85
       
   144 #define EMR_POLYGON16 86
       
   145 #define EMR_POLYLINE16 87
       
   146 #define EMR_POLYBEZIERTO16 88
       
   147 #define EMR_POLYLINETO16 89
       
   148 #define EMR_POLYPOLYLINE16 90
       
   149 #define EMR_POLYPOLYGON16 91
       
   150 #define EMR_POLYDRAW16 92
       
   151 #define EMR_CREATEMONOBRUSH 93
       
   152 #define EMR_CREATEDIBPATTERNBRUSHPT 94
       
   153 #define EMR_EXTCREATEPEN 95
       
   154 #define EMR_POLYTEXTOUTA 96
       
   155 #define EMR_POLYTEXTOUTW 97
       
   156 #define EMR_SETICMMODE 98
       
   157 #define EMR_CREATECOLORSPACE 99
       
   158 #define EMR_SETCOLORSPACE 100
       
   159 #define EMR_DELETECOLORSPACE 101
       
   160 #define EMR_GLSRECORD 102
       
   161 #define EMR_GLSBOUNDEDRECORD 103
       
   162 #define EMR_PIXELFORMAT 104
       
   163 #define ENHMETA_SIGNATURE 1179469088
       
   164 #define EPS_SIGNATURE 0x46535045
       
   165 #if (_WIN32_WINNT >= 0x0500)
       
   166 #define FR_PRIVATE 0x10
       
   167 #define FR_NOT_ENUM 0x20
       
   168 #endif
       
   169 #define META_SETBKCOLOR	0x201
       
   170 #define META_SETBKMODE	0x102
       
   171 #define META_SETMAPMODE	0x103
       
   172 #define META_SETROP2	0x104
       
   173 #define META_SETRELABS	0x105
       
   174 #define META_SETPOLYFILLMODE	0x106
       
   175 #define META_SETSTRETCHBLTMODE	0x107
       
   176 #define META_SETTEXTCHAREXTRA	0x108
       
   177 #define META_SETTEXTCOLOR	0x209
       
   178 #define META_SETTEXTJUSTIFICATION	0x20A
       
   179 #define META_SETWINDOWORG	0x20B
       
   180 #define META_SETWINDOWEXT	0x20C
       
   181 #define META_SETVIEWPORTORG	0x20D
       
   182 #define META_SETVIEWPORTEXT	0x20E
       
   183 #define META_OFFSETWINDOWORG	0x20F
       
   184 #define META_SCALEWINDOWEXT	0x410
       
   185 #define META_OFFSETVIEWPORTORG	0x211
       
   186 #define META_SCALEVIEWPORTEXT	0x412
       
   187 #define META_LINETO	0x213
       
   188 #define META_MOVETO	0x214
       
   189 #define META_EXCLUDECLIPRECT	0x415
       
   190 #define META_INTERSECTCLIPRECT	0x416
       
   191 #define META_ARC	0x817
       
   192 #define META_ELLIPSE	0x418
       
   193 #define META_FLOODFILL	0x419
       
   194 #define META_PIE	0x81A
       
   195 #define META_RECTANGLE	0x41B
       
   196 #define META_ROUNDRECT	0x61C
       
   197 #define META_PATBLT	0x61D
       
   198 #define META_SAVEDC	0x1E
       
   199 #define META_SETPIXEL	0x41F
       
   200 #define META_OFFSETCLIPRGN	0x220
       
   201 #define META_TEXTOUT	0x521
       
   202 #define META_BITBLT	0x922
       
   203 #define META_STRETCHBLT	0xB23
       
   204 #define META_POLYGON	0x324
       
   205 #define META_POLYLINE	0x325
       
   206 #define META_ESCAPE	0x626
       
   207 #define META_RESTOREDC	0x127
       
   208 #define META_FILLREGION	0x228
       
   209 #define META_FRAMEREGION	0x429
       
   210 #define META_INVERTREGION	0x12A
       
   211 #define META_PAINTREGION	0x12B
       
   212 #define META_SELECTCLIPREGION	0x12C
       
   213 #define META_SELECTOBJECT	0x12D
       
   214 #define META_SETTEXTALIGN	0x12E
       
   215 #define META_CHORD	0x830
       
   216 #define META_SETMAPPERFLAGS	0x231
       
   217 #define META_EXTTEXTOUT	0xa32
       
   218 #define META_SETDIBTODEV	0xd33
       
   219 #define META_SELECTPALETTE	0x234
       
   220 #define META_REALIZEPALETTE	0x35
       
   221 #define META_ANIMATEPALETTE	0x436
       
   222 #define META_SETPALENTRIES	0x37
       
   223 #define META_POLYPOLYGON	0x538
       
   224 #define META_RESIZEPALETTE	0x139
       
   225 #define META_DIBBITBLT	0x940
       
   226 #define META_DIBSTRETCHBLT	0xb41
       
   227 #define META_DIBCREATEPATTERNBRUSH	0x142
       
   228 #define META_STRETCHDIB	0xf43
       
   229 #define META_EXTFLOODFILL	0x548
       
   230 #define META_DELETEOBJECT	0x1f0
       
   231 #define META_CREATEPALETTE	0xf7
       
   232 #define META_CREATEPATTERNBRUSH	0x1F9
       
   233 #define META_CREATEPENINDIRECT	0x2FA
       
   234 #define META_CREATEFONTINDIRECT	0x2FB
       
   235 #define META_CREATEBRUSHINDIRECT	0x2FC
       
   236 #define META_CREATEREGION	0x6FF
       
   237 #define PT_MOVETO	6
       
   238 #define PT_LINETO	2
       
   239 #define PT_BEZIERTO	4
       
   240 #define PT_CLOSEFIGURE 1
       
   241 #define ELF_VENDOR_SIZE	4
       
   242 #define ELF_VERSION	0
       
   243 #define ELF_CULTURE_LATIN	0
       
   244 #define PFD_TYPE_RGBA	0
       
   245 #define PFD_TYPE_COLORINDEX	1
       
   246 #define PFD_MAIN_PLANE	0
       
   247 #define PFD_OVERLAY_PLANE	1
       
   248 #define PFD_UNDERLAY_PLANE	(-1)
       
   249 #define PFD_DOUBLEBUFFER	1
       
   250 #define PFD_STEREO	2
       
   251 #define PFD_DRAW_TO_WINDOW	4
       
   252 #define PFD_DRAW_TO_BITMAP	8
       
   253 #define PFD_SUPPORT_GDI	16
       
   254 #define PFD_SUPPORT_OPENGL	32
       
   255 #define PFD_GENERIC_FORMAT	64
       
   256 #define PFD_NEED_PALETTE	128
       
   257 #define PFD_NEED_SYSTEM_PALETTE	0x00000100
       
   258 #define PFD_SWAP_EXCHANGE	0x00000200
       
   259 #define PFD_SWAP_COPY	0x00000400
       
   260 #define PFD_SWAP_LAYER_BUFFERS	0x00000800
       
   261 #define PFD_GENERIC_ACCELERATED	0x00001000
       
   262 #define PFD_DEPTH_DONTCARE	0x20000000
       
   263 #define PFD_DOUBLEBUFFER_DONTCARE	0x40000000
       
   264 #define PFD_STEREO_DONTCARE	0x80000000
       
   265 #define SP_ERROR	(-1)
       
   266 #define SP_OUTOFDISK	(-4)
       
   267 #define SP_OUTOFMEMORY	(-5)
       
   268 #define SP_USERABORT	(-3)
       
   269 #define SP_APPABORT	(-2)
       
   270 #define BLACKNESS	0x00000042
       
   271 #define NOTSRCERASE	0x001100A6
       
   272 #define NOTSRCCOPY	0x00330008
       
   273 #define SRCERASE	0x00440328
       
   274 #define DSTINVERT	0x00550009
       
   275 #define PATINVERT	0x005A0049
       
   276 #define SRCINVERT	0x00660046
       
   277 #define SRCAND	0x008800C6
       
   278 #define MERGEPAINT	0x00BB0226
       
   279 #define MERGECOPY	0x00C000CA
       
   280 #define SRCCOPY 0x00CC0020
       
   281 #define SRCPAINT	0x00EE0086
       
   282 #define PATCOPY	0x00F00021
       
   283 #define PATPAINT	0x00FB0A09
       
   284 #define WHITENESS	0x00FF0062
       
   285 #define CAPTUREBLT	0x40000000
       
   286 #define NOMIRRORBITMAP	0x80000000
       
   287 #define R2_BLACK	1
       
   288 #define R2_COPYPEN	13
       
   289 #define R2_MASKNOTPEN	3
       
   290 #define R2_MASKPEN	9
       
   291 #define R2_MASKPENNOT	5
       
   292 #define R2_MERGENOTPEN	12
       
   293 #define R2_MERGEPEN	15
       
   294 #define R2_MERGEPENNOT	14
       
   295 #define R2_NOP	11
       
   296 #define R2_NOT	6
       
   297 #define R2_NOTCOPYPEN	4
       
   298 #define R2_NOTMASKPEN	8
       
   299 #define R2_NOTMERGEPEN	2
       
   300 #define R2_NOTXORPEN	10
       
   301 #define R2_WHITE	16
       
   302 #define R2_XORPEN	7
       
   303 #define CM_OUT_OF_GAMUT	255
       
   304 #define CM_IN_GAMUT	0
       
   305 #define RGN_AND 1
       
   306 #define RGN_COPY	5
       
   307 #define RGN_DIFF	4
       
   308 #define RGN_OR	2
       
   309 #define RGN_XOR	3
       
   310 #define NULLREGION	1
       
   311 #define SIMPLEREGION	2
       
   312 #define COMPLEXREGION	3
       
   313 #define ERROR 0
       
   314 #define CBM_INIT	4
       
   315 #define DIB_PAL_COLORS	1
       
   316 #define DIB_RGB_COLORS	0
       
   317 #define FW_DONTCARE	0
       
   318 #define FW_THIN	100
       
   319 #define FW_EXTRALIGHT	200
       
   320 #define FW_ULTRALIGHT	FW_EXTRALIGHT
       
   321 #define FW_LIGHT	300
       
   322 #define FW_NORMAL	400
       
   323 #define FW_REGULAR	400
       
   324 #define FW_MEDIUM	500
       
   325 #define FW_SEMIBOLD	600
       
   326 #define FW_DEMIBOLD	FW_SEMIBOLD
       
   327 #define FW_BOLD	700
       
   328 #define FW_EXTRABOLD	800
       
   329 #define FW_ULTRABOLD	FW_EXTRABOLD
       
   330 #define FW_HEAVY	900
       
   331 #define FW_BLACK	FW_HEAVY
       
   332 #define ANSI_CHARSET	0
       
   333 #define DEFAULT_CHARSET	1
       
   334 #define SYMBOL_CHARSET	2
       
   335 #define SHIFTJIS_CHARSET	128
       
   336 #define HANGEUL_CHARSET	129
       
   337 #define HANGUL_CHARSET  129
       
   338 #define GB2312_CHARSET	134
       
   339 #define CHINESEBIG5_CHARSET	136
       
   340 #define GREEK_CHARSET	161
       
   341 #define TURKISH_CHARSET	162
       
   342 #define HEBREW_CHARSET	177
       
   343 #define ARABIC_CHARSET	178
       
   344 #define BALTIC_CHARSET	186
       
   345 #define RUSSIAN_CHARSET	204
       
   346 #define THAI_CHARSET	222
       
   347 #define EASTEUROPE_CHARSET	238
       
   348 #define OEM_CHARSET	255
       
   349 #define JOHAB_CHARSET	130
       
   350 #define VIETNAMESE_CHARSET	163
       
   351 #define MAC_CHARSET 77
       
   352 #define OUT_DEFAULT_PRECIS	0
       
   353 #define OUT_STRING_PRECIS	1
       
   354 #define OUT_CHARACTER_PRECIS	2
       
   355 #define OUT_STROKE_PRECIS	3
       
   356 #define OUT_TT_PRECIS	4
       
   357 #define OUT_DEVICE_PRECIS	5
       
   358 #define OUT_RASTER_PRECIS	6
       
   359 #define OUT_TT_ONLY_PRECIS	7
       
   360 #define OUT_OUTLINE_PRECIS	8
       
   361 #define CLIP_DEFAULT_PRECIS	0
       
   362 #define CLIP_CHARACTER_PRECIS	1
       
   363 #define CLIP_STROKE_PRECIS	2
       
   364 #define CLIP_MASK	15
       
   365 #define CLIP_LH_ANGLES	16
       
   366 #define CLIP_TT_ALWAYS	32
       
   367 #define CLIP_EMBEDDED	128
       
   368 #define DEFAULT_QUALITY	0
       
   369 #define DRAFT_QUALITY	1
       
   370 #define PROOF_QUALITY	2
       
   371 #define NONANTIALIASED_QUALITY 3
       
   372 #define ANTIALIASED_QUALITY 4
       
   373 #define DEFAULT_PITCH	0
       
   374 #define FIXED_PITCH	1
       
   375 #define VARIABLE_PITCH	2
       
   376 #define MONO_FONT 8
       
   377 #define FF_DECORATIVE	80
       
   378 #define FF_DONTCARE	0
       
   379 #define FF_MODERN	48
       
   380 #define FF_ROMAN	16
       
   381 #define FF_SCRIPT	64
       
   382 #define FF_SWISS	32
       
   383 #define PANOSE_COUNT 10
       
   384 #define PAN_FAMILYTYPE_INDEX 0
       
   385 #define PAN_SERIFSTYLE_INDEX 1
       
   386 #define PAN_WEIGHT_INDEX 2
       
   387 #define PAN_PROPORTION_INDEX 3
       
   388 #define PAN_CONTRAST_INDEX 4
       
   389 #define PAN_STROKEVARIATION_INDEX 5
       
   390 #define PAN_ARMSTYLE_INDEX 6
       
   391 #define PAN_LETTERFORM_INDEX 7
       
   392 #define PAN_MIDLINE_INDEX 8
       
   393 #define PAN_XHEIGHT_INDEX 9
       
   394 #define PAN_CULTURE_LATIN 0
       
   395 #define PAN_ANY 0
       
   396 #define PAN_NO_FIT 1
       
   397 #define PAN_FAMILY_TEXT_DISPLAY 2
       
   398 #define PAN_FAMILY_SCRIPT 3
       
   399 #define PAN_FAMILY_DECORATIVE 4
       
   400 #define PAN_FAMILY_PICTORIAL 5
       
   401 #define PAN_SERIF_COVE 2
       
   402 #define PAN_SERIF_OBTUSE_COVE 3
       
   403 #define PAN_SERIF_SQUARE_COVE 4
       
   404 #define PAN_SERIF_OBTUSE_SQUARE_COVE 5
       
   405 #define PAN_SERIF_SQUARE 6
       
   406 #define PAN_SERIF_THIN 7
       
   407 #define PAN_SERIF_BONE 8
       
   408 #define PAN_SERIF_EXAGGERATED 9
       
   409 #define PAN_SERIF_TRIANGLE 10
       
   410 #define PAN_SERIF_NORMAL_SANS 11
       
   411 #define PAN_SERIF_OBTUSE_SANS 12
       
   412 #define PAN_SERIF_PERP_SANS 13
       
   413 #define PAN_SERIF_FLARED 14
       
   414 #define PAN_SERIF_ROUNDED 15
       
   415 #define PAN_WEIGHT_VERY_LIGHT 2
       
   416 #define PAN_WEIGHT_LIGHT 3
       
   417 #define PAN_WEIGHT_THIN 4
       
   418 #define PAN_WEIGHT_BOOK 5
       
   419 #define PAN_WEIGHT_MEDIUM 6
       
   420 #define PAN_WEIGHT_DEMI 7
       
   421 #define PAN_WEIGHT_BOLD 8
       
   422 #define PAN_WEIGHT_HEAVY 9
       
   423 #define PAN_WEIGHT_BLACK 10
       
   424 #define PAN_WEIGHT_NORD 11
       
   425 #define PAN_PROP_OLD_STYLE 2
       
   426 #define PAN_PROP_MODERN 3
       
   427 #define PAN_PROP_EVEN_WIDTH 4
       
   428 #define PAN_PROP_EXPANDED 5
       
   429 #define PAN_PROP_CONDENSED 6
       
   430 #define PAN_PROP_VERY_EXPANDED 7
       
   431 #define PAN_PROP_VERY_CONDENSED 8
       
   432 #define PAN_PROP_MONOSPACED 9
       
   433 #define PAN_CONTRAST_NONE 2
       
   434 #define PAN_CONTRAST_VERY_LOW 3
       
   435 #define PAN_CONTRAST_LOW 4
       
   436 #define PAN_CONTRAST_MEDIUM_LOW 5
       
   437 #define PAN_CONTRAST_MEDIUM 6
       
   438 #define PAN_CONTRAST_MEDIUM_HIGH 7
       
   439 #define PAN_CONTRAST_HIGH 8
       
   440 #define PAN_CONTRAST_VERY_HIGH 9
       
   441 #define PAN_STROKE_GRADUAL_DIAG 2
       
   442 #define PAN_STROKE_GRADUAL_TRAN 3
       
   443 #define PAN_STROKE_GRADUAL_VERT 4
       
   444 #define PAN_STROKE_GRADUAL_HORZ 5
       
   445 #define PAN_STROKE_RAPID_VERT 6
       
   446 #define PAN_STROKE_RAPID_HORZ 7
       
   447 #define PAN_STROKE_INSTANT_VERT 8
       
   448 #define PAN_STRAIGHT_ARMS_HORZ 2
       
   449 #define PAN_STRAIGHT_ARMS_WEDGE 3
       
   450 #define PAN_STRAIGHT_ARMS_VERT 4
       
   451 #define PAN_STRAIGHT_ARMS_SINGLE_SERIF 5
       
   452 #define PAN_STRAIGHT_ARMS_DOUBLE_SERIF 6
       
   453 #define PAN_BENT_ARMS_HORZ 7
       
   454 #define PAN_BENT_ARMS_WEDGE 8
       
   455 #define PAN_BENT_ARMS_VERT 9
       
   456 #define PAN_BENT_ARMS_SINGLE_SERIF 10
       
   457 #define PAN_BENT_ARMS_DOUBLE_SERIF 11
       
   458 #define PAN_LETT_NORMAL_CONTACT 2
       
   459 #define PAN_LETT_NORMAL_WEIGHTED 3
       
   460 #define PAN_LETT_NORMAL_BOXED 4
       
   461 #define PAN_LETT_NORMAL_FLATTENED 5
       
   462 #define PAN_LETT_NORMAL_ROUNDED 6
       
   463 #define PAN_LETT_NORMAL_OFF_CENTER 7
       
   464 #define PAN_LETT_NORMAL_SQUARE 8
       
   465 #define PAN_LETT_OBLIQUE_CONTACT 9
       
   466 #define PAN_LETT_OBLIQUE_WEIGHTED 10
       
   467 #define PAN_LETT_OBLIQUE_BOXED 11
       
   468 #define PAN_LETT_OBLIQUE_FLATTENED 12
       
   469 #define PAN_LETT_OBLIQUE_ROUNDED 13
       
   470 #define PAN_LETT_OBLIQUE_OFF_CENTER 14
       
   471 #define PAN_LETT_OBLIQUE_SQUARE 15
       
   472 #define PAN_MIDLINE_STANDARD_TRIMMED 2
       
   473 #define PAN_MIDLINE_STANDARD_POINTED 3
       
   474 #define PAN_MIDLINE_STANDARD_SERIFED 4
       
   475 #define PAN_MIDLINE_HIGH_TRIMMED 5
       
   476 #define PAN_MIDLINE_HIGH_POINTED 6
       
   477 #define PAN_MIDLINE_HIGH_SERIFED 7
       
   478 #define PAN_MIDLINE_CONSTANT_TRIMMED 8
       
   479 #define PAN_MIDLINE_CONSTANT_POINTED 9
       
   480 #define PAN_MIDLINE_CONSTANT_SERIFED 10
       
   481 #define PAN_MIDLINE_LOW_TRIMMED 11
       
   482 #define PAN_MIDLINE_LOW_POINTED 12
       
   483 #define PAN_MIDLINE_LOW_SERIFED 13
       
   484 #define PAN_XHEIGHT_CONSTANT_SMALL 2
       
   485 #define PAN_XHEIGHT_CONSTANT_STD 3
       
   486 #define PAN_XHEIGHT_CONSTANT_LARGE 4
       
   487 #define PAN_XHEIGHT_DUCKING_SMALL 5
       
   488 #define PAN_XHEIGHT_DUCKING_STD 6
       
   489 #define PAN_XHEIGHT_DUCKING_LARGE 7
       
   490 #define FS_LATIN1 1
       
   491 #define FS_LATIN2 2
       
   492 #define FS_CYRILLIC 4
       
   493 #define FS_GREEK 8
       
   494 #define FS_TURKISH 16
       
   495 #define FS_HEBREW 32
       
   496 #define FS_ARABIC 64
       
   497 #define FS_BALTIC 128
       
   498 #define FS_THAI 0x10000
       
   499 #define FS_JISJAPAN 0x20000
       
   500 #define FS_CHINESESIMP 0x40000
       
   501 #define FS_WANSUNG 0x80000
       
   502 #define FS_CHINESETRAD 0x100000
       
   503 #define FS_JOHAB 0x200000
       
   504 #define FS_SYMBOL 0x80000000
       
   505 #define HS_BDIAGONAL	3
       
   506 #define HS_CROSS	4
       
   507 #define HS_DIAGCROSS	5
       
   508 #define HS_FDIAGONAL	2
       
   509 #define HS_HORIZONTAL	0
       
   510 #define HS_VERTICAL	1
       
   511 #define PS_GEOMETRIC	65536
       
   512 #define PS_COSMETIC	0
       
   513 #define PS_ALTERNATE	8
       
   514 #define PS_SOLID	0
       
   515 #define PS_DASH	1
       
   516 #define PS_DOT	2
       
   517 #define PS_DASHDOT	3
       
   518 #define PS_DASHDOTDOT	4
       
   519 #define PS_NULL	5
       
   520 #define PS_USERSTYLE	7
       
   521 #define PS_INSIDEFRAME	6
       
   522 #define PS_ENDCAP_ROUND	0
       
   523 #define PS_ENDCAP_SQUARE	256
       
   524 #define PS_ENDCAP_FLAT	512
       
   525 #define PS_JOIN_BEVEL	4096
       
   526 #define PS_JOIN_MITER	8192
       
   527 #define PS_JOIN_ROUND	0
       
   528 #define PS_STYLE_MASK	15
       
   529 #define PS_ENDCAP_MASK	3840
       
   530 #define PS_TYPE_MASK	983040
       
   531 #define ALTERNATE	1
       
   532 #define WINDING	2
       
   533 #define DC_BINNAMES	12
       
   534 #define DC_BINS	6
       
   535 #define DC_COPIES	18
       
   536 #define DC_DRIVER	11
       
   537 #define DC_DATATYPE_PRODUCED	21
       
   538 #define DC_DUPLEX	7
       
   539 #define DC_EMF_COMPLIANT	20
       
   540 #define DC_ENUMRESOLUTIONS	13
       
   541 #define DC_EXTRA	9
       
   542 #define DC_FIELDS	1
       
   543 #define DC_FILEDEPENDENCIES	14
       
   544 #define DC_MAXEXTENT	5
       
   545 #define DC_MINEXTENT	4
       
   546 #define DC_ORIENTATION	17
       
   547 #define DC_PAPERNAMES	16
       
   548 #define DC_PAPERS	2
       
   549 #define DC_PAPERSIZE	3
       
   550 #define DC_SIZE	8
       
   551 #define DC_TRUETYPE	15
       
   552 #define DCTT_BITMAP	1
       
   553 #define DCTT_DOWNLOAD	2
       
   554 #define DCTT_SUBDEV	4
       
   555 #define DCTT_DOWNLOAD_OUTLINE 8
       
   556 #define DC_VERSION	10
       
   557 #define DC_BINADJUST	19
       
   558 #define DC_EMF_COMPLIANT	20
       
   559 #define DC_DATATYPE_PRODUCED	21
       
   560 #define DC_MANUFACTURER	23
       
   561 #define DC_MODEL	24
       
   562 #if (WINVER >= 0x0500)
       
   563 #define DC_PERSONALITY	25
       
   564 #define DC_PRINTRATE	26
       
   565 #define DC_PRINTRATEUNIT	27
       
   566 #define DC_PRINTERMEM	28
       
   567 #define DC_MEDIAREADY	29
       
   568 #define DC_STAPLE	30
       
   569 #define DC_PRINTRATEPPM	31
       
   570 #define DC_COLORDEVICE	32
       
   571 #define DC_NUP	33
       
   572 #endif
       
   573 #if (WINVER >= 0x0501)
       
   574 #define DC_MEDIATYPENAMES	34
       
   575 #define DC_MEDIATYPES	35
       
   576 #endif
       
   577 #define DCBA_FACEUPNONE	0
       
   578 #define DCBA_FACEUPCENTER	1
       
   579 #define DCBA_FACEUPLEFT	2
       
   580 #define DCBA_FACEUPRIGHT	3
       
   581 #define DCBA_FACEDOWNNONE	256
       
   582 #define DCBA_FACEDOWNCENTER	257
       
   583 #define DCBA_FACEDOWNLEFT	258
       
   584 #define DCBA_FACEDOWNRIGHT	259
       
   585 #define FLOODFILLBORDER 0
       
   586 #define FLOODFILLSURFACE 1
       
   587 #define ETO_CLIPPED 0x0004
       
   588 #define ETO_GLYPH_INDEX 0x0010
       
   589 #define ETO_OPAQUE 0x0002
       
   590 #define ETO_NUMERICSLATIN 0x0800
       
   591 #define ETO_NUMERICSLOCAL 0x0400
       
   592 #define ETO_RTLREADING 0x0080
       
   593 #if (_WIN32_WINNT >= 0x0400)
       
   594 #define ETO_IGNORELANGUAGE 0x1000
       
   595 #endif
       
   596 #if (_WIN32_WINNT >= 0x0500)
       
   597 #define ETO_PDY 0x2000
       
   598 #endif
       
   599 #define GDICOMMENT_WINDOWS_METAFILE (-2147483647)
       
   600 #define GDICOMMENT_BEGINGROUP 2
       
   601 #define GDICOMMENT_ENDGROUP 3
       
   602 #define GDICOMMENT_MULTIFORMATS 1073741828
       
   603 #define GDICOMMENT_IDENTIFIER 1128875079
       
   604 #define AD_COUNTERCLOCKWISE 1
       
   605 #define AD_CLOCKWISE 2
       
   606 #define RDH_RECTANGLES	1
       
   607 #define GCPCLASS_LATIN	1
       
   608 #define GCPCLASS_HEBREW	2
       
   609 #define GCPCLASS_ARABIC	2
       
   610 #define GCPCLASS_NEUTRAL	3
       
   611 #define GCPCLASS_LOCALNUMBER	4
       
   612 #define GCPCLASS_LATINNUMBER	5
       
   613 #define GCPCLASS_LATINNUMERICTERMINATOR	6
       
   614 #define GCPCLASS_LATINNUMERICSEPARATOR	7
       
   615 #define GCPCLASS_NUMERICSEPARATOR	8
       
   616 #define GCPCLASS_PREBOUNDLTR	128
       
   617 #define GCPCLASS_PREBOUNDRTL	64
       
   618 #define GCPCLASS_POSTBOUNDLTR	32
       
   619 #define GCPCLASS_POSTBOUNDRTL	16
       
   620 #define GCPGLYPH_LINKBEFORE	0x8000
       
   621 #define GCPGLYPH_LINKAFTER	0x4000
       
   622 #define DCB_DISABLE 8
       
   623 #define DCB_ENABLE 4
       
   624 #define DCB_RESET 1
       
   625 #define DCB_SET 3
       
   626 #define DCB_ACCUMULATE 2
       
   627 #define DCB_DIRTY	2
       
   628 #define OBJ_BRUSH 2
       
   629 #define OBJ_PEN 1
       
   630 #define OBJ_PAL 5
       
   631 #define OBJ_FONT 6
       
   632 #define OBJ_BITMAP 7
       
   633 #define OBJ_EXTPEN 11
       
   634 #define OBJ_REGION 8
       
   635 #define OBJ_DC 3
       
   636 #define OBJ_MEMDC 10
       
   637 #define OBJ_METAFILE 9
       
   638 #define OBJ_METADC 4
       
   639 #define OBJ_ENHMETAFILE 13
       
   640 #define OBJ_ENHMETADC 12
       
   641 #define DRIVERVERSION 0
       
   642 #define TECHNOLOGY 2
       
   643 #define DT_PLOTTER 0
       
   644 #define DT_RASDISPLAY 1
       
   645 #define DT_RASPRINTER 2
       
   646 #define DT_RASCAMERA 3
       
   647 #define DT_CHARSTREAM 4
       
   648 #define DT_METAFILE 5
       
   649 #define DT_DISPFILE 6
       
   650 #define HORZSIZE 4
       
   651 #define VERTSIZE 6
       
   652 #define HORZRES 8
       
   653 #define VERTRES 10
       
   654 #define LOGPIXELSX 88
       
   655 #define LOGPIXELSY 90
       
   656 #define BITSPIXEL 12
       
   657 #define PLANES 14
       
   658 #define NUMBRUSHES 16
       
   659 #define NUMPENS 18
       
   660 #define NUMFONTS 22
       
   661 #define NUMCOLORS 24
       
   662 #define NUMMARKERS 20
       
   663 #define ASPECTX 40
       
   664 #define ASPECTY 42
       
   665 #define ASPECTXY 44
       
   666 #define PDEVICESIZE 26
       
   667 #define CLIPCAPS 36
       
   668 #define SIZEPALETTE 104
       
   669 #define NUMRESERVED 106
       
   670 #define COLORRES 108
       
   671 #define PHYSICALWIDTH 110
       
   672 #define PHYSICALHEIGHT 111
       
   673 #define PHYSICALOFFSETX 112
       
   674 #define PHYSICALOFFSETY 113
       
   675 #define SCALINGFACTORX 114
       
   676 #define SCALINGFACTORY 115
       
   677 #define VREFRESH 116
       
   678 #define DESKTOPHORZRES 118
       
   679 #define DESKTOPVERTRES 117
       
   680 #define BLTALIGNMENT 119
       
   681 #if(WINVER >= 0x0500)
       
   682 #define SHADEBLENDCAPS 120
       
   683 #define SB_NONE 0x00
       
   684 #define SB_CONST_ALPHA 0x01
       
   685 #define SB_PIXEL_ALPHA 0x02
       
   686 #define SB_PREMULT_ALPHA 0x04
       
   687 #define SB_GRAD_RECT 0x10
       
   688 #define SB_GRAD_TRI 0x20
       
   689 #define COLORMGMTCAPS 121
       
   690 #define CM_NONE 0x00
       
   691 #define CM_DEVICE_ICM 0x01
       
   692 #define CM_GAMMA_RAMP 0x02
       
   693 #define CM_CMYK_COLOR 0x04
       
   694 #endif
       
   695 #define RASTERCAPS 38
       
   696 #define RC_BANDING 2
       
   697 #define RC_BITBLT 1
       
   698 #define RC_BITMAP64 8
       
   699 #define RC_DI_BITMAP 128
       
   700 #define RC_DIBTODEV 512
       
   701 #define RC_FLOODFILL 4096
       
   702 #define RC_GDI20_OUTPUT 16
       
   703 #define RC_PALETTE 256
       
   704 #define RC_SCALING 4
       
   705 #define RC_STRETCHBLT 2048
       
   706 #define RC_STRETCHDIB 8192
       
   707 #define RC_DEVBITS 0x8000
       
   708 #define RC_OP_DX_OUTPUT 0x4000
       
   709 #define CURVECAPS 28
       
   710 #define CC_NONE 0
       
   711 #define CC_CIRCLES 1
       
   712 #define CC_PIE 2
       
   713 #define CC_CHORD 4
       
   714 #define CC_ELLIPSES 8
       
   715 #define CC_WIDE 16
       
   716 #define CC_STYLED 32
       
   717 #define CC_WIDESTYLED 64
       
   718 #define CC_INTERIORS 128
       
   719 #define CC_ROUNDRECT 256
       
   720 #define LINECAPS 30
       
   721 #define LC_NONE 0
       
   722 #define LC_POLYLINE 2
       
   723 #define LC_MARKER 4
       
   724 #define LC_POLYMARKER 8
       
   725 #define LC_WIDE 16
       
   726 #define LC_STYLED 32
       
   727 #define LC_WIDESTYLED 64
       
   728 #define LC_INTERIORS 128
       
   729 #define POLYGONALCAPS 32
       
   730 #define RC_BANDING 2
       
   731 #define RC_BIGFONT 1024
       
   732 #define RC_BITBLT 1
       
   733 #define RC_BITMAP64 8
       
   734 #define RC_DEVBITS 0x8000
       
   735 #define RC_DI_BITMAP 128
       
   736 #define RC_GDI20_OUTPUT 16
       
   737 #define RC_GDI20_STATE 32
       
   738 #define RC_NONE 0
       
   739 #define RC_OP_DX_OUTPUT 0x4000
       
   740 #define RC_PALETTE 256
       
   741 #define RC_SAVEBITMAP 64
       
   742 #define RC_SCALING 4
       
   743 #define PC_NONE 0
       
   744 #define PC_POLYGON 1
       
   745 #define PC_POLYPOLYGON 256
       
   746 #define PC_PATHS 512
       
   747 #define PC_RECTANGLE 2
       
   748 #define PC_WINDPOLYGON 4
       
   749 #define PC_SCANLINE 8
       
   750 #define PC_TRAPEZOID 4
       
   751 #define PC_WIDE 16
       
   752 #define PC_STYLED 32
       
   753 #define PC_WIDESTYLED 64
       
   754 #define PC_INTERIORS 128
       
   755 #define PC_PATHS 512
       
   756 #define TEXTCAPS 34
       
   757 #define TC_OP_CHARACTER 1
       
   758 #define TC_OP_STROKE 2
       
   759 #define TC_CP_STROKE 4
       
   760 #define TC_CR_90 8
       
   761 #define TC_CR_ANY 16
       
   762 #define TC_SF_X_YINDEP 32
       
   763 #define TC_SA_DOUBLE 64
       
   764 #define TC_SA_INTEGER 128
       
   765 #define TC_SA_CONTIN 256
       
   766 #define TC_EA_DOUBLE 512
       
   767 #define TC_IA_ABLE 1024
       
   768 #define TC_UA_ABLE 2048
       
   769 #define TC_SO_ABLE 4096
       
   770 #define TC_RA_ABLE 8192
       
   771 #define TC_VA_ABLE 16384
       
   772 #define TC_RESERVED 32768
       
   773 #define TC_SCROLLBLT 65536
       
   774 #define GCP_DBCS 1
       
   775 #define GCP_ERROR 0x8000
       
   776 #define GCP_CLASSIN 0x80000
       
   777 #define GCP_DIACRITIC 256
       
   778 #define GCP_DISPLAYZWG 0x400000
       
   779 #define GCP_GLYPHSHAPE 16
       
   780 #define GCP_JUSTIFY 0x10000
       
   781 #define GCP_JUSTIFYIN 0x200000
       
   782 #define GCP_KASHIDA 1024
       
   783 #define GCP_LIGATE 32
       
   784 #define GCP_MAXEXTENT 0x100000
       
   785 #define GCP_NEUTRALOVERRIDE 0x2000000
       
   786 #define GCP_NUMERICOVERRIDE 0x1000000
       
   787 #define GCP_NUMERICSLATIN 0x4000000
       
   788 #define GCP_NUMERICSLOCAL 0x8000000
       
   789 #define GCP_REORDER 2
       
   790 #define GCP_SYMSWAPOFF 0x800000
       
   791 #define GCP_USEKERNING 8
       
   792 #define FLI_GLYPHS 0x40000
       
   793 #define FLI_MASK 0x103b
       
   794 #define GGO_METRICS 0
       
   795 #define GGO_BITMAP 1
       
   796 #define GGO_NATIVE 2
       
   797 #define GGO_BEZIER 3
       
   798 #define GGO_GRAY2_BITMAP 4
       
   799 #define GGO_GRAY4_BITMAP 5
       
   800 #define GGO_GRAY8_BITMAP 6
       
   801 #define GGO_GLYPH_INDEX 128
       
   802 #if (WINVER >= 0x0500)
       
   803 #define GGO_UNHINTED 256
       
   804 #endif
       
   805 #define GM_COMPATIBLE 1
       
   806 #define GM_ADVANCED 2
       
   807 #define MM_ANISOTROPIC 8
       
   808 #define MM_HIENGLISH 5
       
   809 #define MM_HIMETRIC 3
       
   810 #define MM_ISOTROPIC 7
       
   811 #define MM_LOENGLISH 4
       
   812 #define MM_LOMETRIC 2
       
   813 #define MM_TEXT 1
       
   814 #define MM_TWIPS 6
       
   815 #define MM_MAX_FIXEDSCALE	MM_TWIPS
       
   816 #define ABSOLUTE	1
       
   817 #define RELATIVE	2
       
   818 #define PC_EXPLICIT 2
       
   819 #define PC_NOCOLLAPSE 4
       
   820 #define PC_RESERVED 1
       
   821 #define CLR_NONE 0xffffffff
       
   822 #define CLR_INVALID CLR_NONE
       
   823 #define CLR_DEFAULT 0xff000000
       
   824 #define PT_MOVETO 6
       
   825 #define PT_LINETO 2
       
   826 #define PT_BEZIERTO 4
       
   827 #define PT_CLOSEFIGURE 1
       
   828 #define TT_AVAILABLE 1
       
   829 #define TT_ENABLED 2
       
   830 #define BLACK_BRUSH 4
       
   831 #define DKGRAY_BRUSH 3
       
   832 #define GRAY_BRUSH 2
       
   833 #define HOLLOW_BRUSH 5
       
   834 #define LTGRAY_BRUSH 1
       
   835 #define NULL_BRUSH 5
       
   836 #define WHITE_BRUSH 0
       
   837 #define BLACK_PEN 7
       
   838 #define NULL_PEN 8
       
   839 #define WHITE_PEN 6
       
   840 #define ANSI_FIXED_FONT 11
       
   841 #define ANSI_VAR_FONT 12
       
   842 #define DEVICE_DEFAULT_FONT 14
       
   843 #define DEFAULT_GUI_FONT 17
       
   844 #define OEM_FIXED_FONT 10
       
   845 #define SYSTEM_FONT 13
       
   846 #define SYSTEM_FIXED_FONT 16
       
   847 #define DEFAULT_PALETTE 15
       
   848 #if (_WIN32_WINNT >= 0x0500)
       
   849 #define DC_BRUSH	18
       
   850 #define DC_PEN	19
       
   851 #endif
       
   852 #define SYSPAL_ERROR 0
       
   853 #define SYSPAL_STATIC 1
       
   854 #define SYSPAL_NOSTATIC 2
       
   855 #define SYSPAL_NOSTATIC256 3 
       
   856 #define TA_BASELINE 24
       
   857 #define TA_BOTTOM 8
       
   858 #define TA_TOP 0
       
   859 #define TA_CENTER 6
       
   860 #define TA_LEFT 0
       
   861 #define TA_RIGHT 2
       
   862 #define TA_RTLREADING 256
       
   863 #define TA_NOUPDATECP 0
       
   864 #define TA_UPDATECP 1
       
   865 #define TA_MASK (TA_BASELINE+TA_CENTER+TA_UPDATECP+TA_RTLREADING)
       
   866 #define VTA_BASELINE 24
       
   867 #define VTA_CENTER 6
       
   868 #define VTA_LEFT TA_BOTTOM
       
   869 #define VTA_RIGHT TA_TOP
       
   870 #define VTA_BOTTOM TA_RIGHT
       
   871 #define VTA_TOP TA_LEFT
       
   872 #define MWT_IDENTITY 1
       
   873 #define MWT_LEFTMULTIPLY 2
       
   874 #define MWT_RIGHTMULTIPLY 3
       
   875 #define OPAQUE 2
       
   876 #define TRANSPARENT 1
       
   877 #define BLACKONWHITE 1
       
   878 #define WHITEONBLACK 2
       
   879 #define COLORONCOLOR 3
       
   880 #define HALFTONE 4
       
   881 #define MAXSTRETCHBLTMODE 4
       
   882 #define STRETCH_ANDSCANS 1
       
   883 #define STRETCH_DELETESCANS 3
       
   884 #define STRETCH_HALFTONE 4
       
   885 #define STRETCH_ORSCANS 2
       
   886 #define TCI_SRCCHARSET 1
       
   887 #define TCI_SRCCODEPAGE 2
       
   888 #define TCI_SRCFONTSIG 3
       
   889 #define ICM_ON 2
       
   890 #define ICM_OFF 1
       
   891 #define ICM_QUERY 3
       
   892 #define NEWFRAME	1
       
   893 #define ABORTDOC	2
       
   894 #define NEXTBAND	3
       
   895 #define SETCOLORTABLE	4
       
   896 #define GETCOLORTABLE	5
       
   897 #define FLUSHOUTPUT	6
       
   898 #define DRAFTMODE	7
       
   899 #define QUERYESCSUPPORT	8
       
   900 #define SETABORTPROC	9
       
   901 #define STARTDOC	10
       
   902 #define ENDDOC	11
       
   903 #define GETPHYSPAGESIZE	12
       
   904 #define GETPRINTINGOFFSET	13
       
   905 #define GETSCALINGFACTOR	14
       
   906 #define MFCOMMENT	15
       
   907 #define GETPENWIDTH	16
       
   908 #define SETCOPYCOUNT	17
       
   909 #define SELECTPAPERSOURCE	18
       
   910 #define DEVICEDATA	19
       
   911 #define PASSTHROUGH	19
       
   912 #define GETTECHNOLGY	20
       
   913 #define GETTECHNOLOGY	20
       
   914 #define SETLINECAP	21
       
   915 #define SETLINEJOIN	22
       
   916 #define SETMITERLIMIT	23
       
   917 #define BANDINFO	24
       
   918 #define DRAWPATTERNRECT	25
       
   919 #define GETVECTORPENSIZE	26
       
   920 #define GETVECTORBRUSHSIZE	27
       
   921 #define ENABLEDUPLEX	28
       
   922 #define GETSETPAPERBINS	29
       
   923 #define GETSETPRINTORIENT	30
       
   924 #define ENUMPAPERBINS	31
       
   925 #define SETDIBSCALING	32
       
   926 #define EPSPRINTING	33
       
   927 #define ENUMPAPERMETRICS	34
       
   928 #define GETSETPAPERMETRICS	35
       
   929 #define POSTSCRIPT_DATA	37
       
   930 #define POSTSCRIPT_IGNORE	38
       
   931 #define MOUSETRAILS	39
       
   932 #define GETDEVICEUNITS	42
       
   933 #define GETEXTENDEDTEXTMETRICS	256
       
   934 #define GETEXTENTTABLE	257
       
   935 #define GETPAIRKERNTABLE	258
       
   936 #define GETTRACKKERNTABLE	259
       
   937 #define EXTTEXTOUT	512
       
   938 #define GETFACENAME	513
       
   939 #define DOWNLOADFACE	514
       
   940 #define ENABLERELATIVEWIDTHS	768
       
   941 #define ENABLEPAIRKERNING	769
       
   942 #define SETKERNTRACK	770
       
   943 #define SETALLJUSTVALUES	771
       
   944 #define SETCHARSET	772
       
   945 #define STRETCHBLT	2048
       
   946 #define GETSETSCREENPARAMS	3072
       
   947 #define QUERYDIBSUPPORT	3073
       
   948 #define BEGIN_PATH	4096
       
   949 #define CLIP_TO_PATH	4097
       
   950 #define END_PATH	4098
       
   951 #define EXT_DEVICE_CAPS	4099
       
   952 #define RESTORE_CTM	4100
       
   953 #define SAVE_CTM	4101
       
   954 #define SET_ARC_DIRECTION	4102
       
   955 #define SET_BACKGROUND_COLOR	4103
       
   956 #define SET_POLY_MODE	4104
       
   957 #define SET_SCREEN_ANGLE	4105
       
   958 #define SET_SPREAD	4106
       
   959 #define TRANSFORM_CTM	4107
       
   960 #define SET_CLIP_BOX	4108
       
   961 #define SET_BOUNDS	4109
       
   962 #define SET_MIRROR_MODE	4110
       
   963 #define OPENCHANNEL	4110
       
   964 #define DOWNLOADHEADER	4111
       
   965 #define CLOSECHANNEL	4112
       
   966 #define POSTSCRIPT_PASSTHROUGH	4115
       
   967 #define ENCAPSULATED_POSTSCRIPT	4116
       
   968 #define QDI_SETDIBITS	1
       
   969 #define QDI_GETDIBITS	2
       
   970 #define QDI_DIBTOSCREEN	4
       
   971 #define QDI_STRETCHDIB	8
       
   972 #define SP_NOTREPORTED	0x4000
       
   973 #define PR_JOBSTATUS	0
       
   974 #define ASPECT_FILTERING	1
       
   975 #define BS_SOLID	0
       
   976 #define BS_NULL	1
       
   977 #define BS_HOLLOW	1
       
   978 #define BS_HATCHED	2
       
   979 #define BS_PATTERN	3
       
   980 #define BS_INDEXED	4
       
   981 #define BS_DIBPATTERN	5
       
   982 #define BS_DIBPATTERNPT	6
       
   983 #define BS_PATTERN8X8	7
       
   984 #define BS_DIBPATTERN8X8	8
       
   985 #define LCS_CALIBRATED_RGB	0
       
   986 #define LCS_DEVICE_RGB	1
       
   987 #define LCS_DEVICE_CMYK	2
       
   988 #define LCS_GM_BUSINESS	1
       
   989 #define LCS_GM_GRAPHICS	2
       
   990 #define LCS_GM_IMAGES	4
       
   991 #define RASTER_FONTTYPE	1
       
   992 #define DEVICE_FONTTYPE	2
       
   993 #define TRUETYPE_FONTTYPE	4
       
   994 #define DMORIENT_PORTRAIT   1
       
   995 #define DMORIENT_LANDSCAPE  2
       
   996 #define DMPAPER_FIRST	1
       
   997 #define DMPAPER_LETTER	1
       
   998 #define DMPAPER_LETTERSMALL	2
       
   999 #define DMPAPER_TABLOID	3
       
  1000 #define DMPAPER_LEDGER	4
       
  1001 #define DMPAPER_LEGAL	5
       
  1002 #define DMPAPER_STATEMENT	6
       
  1003 #define DMPAPER_EXECUTIVE	7
       
  1004 #define DMPAPER_A3	8
       
  1005 #define DMPAPER_A4	9
       
  1006 #define DMPAPER_A4SMALL	10
       
  1007 #define DMPAPER_A5	11
       
  1008 #define DMPAPER_B4	12
       
  1009 #define DMPAPER_B5	13
       
  1010 #define DMPAPER_FOLIO	14
       
  1011 #define DMPAPER_QUARTO	15
       
  1012 #define DMPAPER_10X14	16
       
  1013 #define DMPAPER_11X17	17
       
  1014 #define DMPAPER_NOTE	18
       
  1015 #define DMPAPER_ENV_9	19
       
  1016 #define DMPAPER_ENV_10	20
       
  1017 #define DMPAPER_ENV_11	21
       
  1018 #define DMPAPER_ENV_12	22
       
  1019 #define DMPAPER_ENV_14	23
       
  1020 #define DMPAPER_CSHEET	24
       
  1021 #define DMPAPER_DSHEET	25
       
  1022 #define DMPAPER_ESHEET	26
       
  1023 #define DMPAPER_ENV_DL	27
       
  1024 #define DMPAPER_ENV_C5	28
       
  1025 #define DMPAPER_ENV_C3	29
       
  1026 #define DMPAPER_ENV_C4	30
       
  1027 #define DMPAPER_ENV_C6	31
       
  1028 #define DMPAPER_ENV_C65	32
       
  1029 #define DMPAPER_ENV_B4	33
       
  1030 #define DMPAPER_ENV_B5	34
       
  1031 #define DMPAPER_ENV_B6	35
       
  1032 #define DMPAPER_ENV_ITALY	36
       
  1033 #define DMPAPER_ENV_MONARCH	37
       
  1034 #define DMPAPER_ENV_PERSONAL	38
       
  1035 #define DMPAPER_FANFOLD_US	39
       
  1036 #define DMPAPER_FANFOLD_STD_GERMAN	40
       
  1037 #define DMPAPER_FANFOLD_LGL_GERMAN	41
       
  1038 #define DMPAPER_ISO_B4	42
       
  1039 #define DMPAPER_JAPANESE_POSTCARD	43
       
  1040 #define DMPAPER_9X11	44
       
  1041 #define DMPAPER_10X11	45
       
  1042 #define DMPAPER_15X11	46
       
  1043 #define DMPAPER_ENV_INVITE	47
       
  1044 #define DMPAPER_RESERVED_48	48
       
  1045 #define DMPAPER_RESERVED_49	49
       
  1046 #define DMPAPER_LETTER_EXTRA	50
       
  1047 #define DMPAPER_LEGAL_EXTRA	51
       
  1048 #define DMPAPER_TABLOID_EXTRA	52
       
  1049 #define DMPAPER_A4_EXTRA	53
       
  1050 #define DMPAPER_LETTER_TRANSVERSE	54
       
  1051 #define DMPAPER_A4_TRANSVERSE	55
       
  1052 #define DMPAPER_LETTER_EXTRA_TRANSVERSE	56
       
  1053 #define DMPAPER_A_PLUS	57
       
  1054 #define DMPAPER_B_PLUS	58
       
  1055 #define DMPAPER_LETTER_PLUS	59
       
  1056 #define DMPAPER_A4_PLUS	60
       
  1057 #define DMPAPER_A5_TRANSVERSE	61
       
  1058 #define DMPAPER_B5_TRANSVERSE	62
       
  1059 #define DMPAPER_A3_EXTRA	63
       
  1060 #define DMPAPER_A5_EXTRA	64
       
  1061 #define DMPAPER_B5_EXTRA	65
       
  1062 #define DMPAPER_A2	66
       
  1063 #define DMPAPER_A3_TRANSVERSE	67
       
  1064 #define DMPAPER_A3_EXTRA_TRANSVERSE	68
       
  1065 #if (WINVER >= 0x0500)
       
  1066 #define DMPAPER_DBL_JAPANESE_POSTCARD	69
       
  1067 #define DMPAPER_A6	70
       
  1068 #define DMPAPER_JENV_KAKU2	71
       
  1069 #define DMPAPER_JENV_KAKU3	72
       
  1070 #define DMPAPER_JENV_CHOU3	73
       
  1071 #define DMPAPER_JENV_CHOU4	74
       
  1072 #define DMPAPER_LETTER_ROTATED	75
       
  1073 #define DMPAPER_A3_ROTATED	76
       
  1074 #define DMPAPER_A4_ROTATED	77
       
  1075 #define DMPAPER_A5_ROTATED	78
       
  1076 #define DMPAPER_B4_JIS_ROTATED	79
       
  1077 #define DMPAPER_B5_JIS_ROTATED	80
       
  1078 #define DMPAPER_JAPANESE_POSTCARD_ROTATED	81
       
  1079 #define DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED	82
       
  1080 #define DMPAPER_A6_ROTATED	83
       
  1081 #define DMPAPER_JENV_KAKU2_ROTATED	84
       
  1082 #define DMPAPER_JENV_KAKU3_ROTATED	85
       
  1083 #define DMPAPER_JENV_CHOU3_ROTATED	86
       
  1084 #define DMPAPER_JENV_CHOU4_ROTATED	87
       
  1085 #define DMPAPER_B6_JIS	88
       
  1086 #define DMPAPER_B6_JIS_ROTATED	89
       
  1087 #define DMPAPER_12X11	90
       
  1088 #define DMPAPER_JENV_YOU4	91
       
  1089 #define DMPAPER_JENV_YOU4_ROTATED	92
       
  1090 #define DMPAPER_P16K	93
       
  1091 #define DMPAPER_P32K	94
       
  1092 #define DMPAPER_P32KBIG	95
       
  1093 #define DMPAPER_PENV_1	96
       
  1094 #define DMPAPER_PENV_2	97
       
  1095 #define DMPAPER_PENV_3	98
       
  1096 #define DMPAPER_PENV_4	99
       
  1097 #define DMPAPER_PENV_5	100
       
  1098 #define DMPAPER_PENV_6	101
       
  1099 #define DMPAPER_PENV_7	102
       
  1100 #define DMPAPER_PENV_8	103
       
  1101 #define DMPAPER_PENV_9	104
       
  1102 #define DMPAPER_PENV_10	105
       
  1103 #define DMPAPER_P16K_ROTATED	106
       
  1104 #define DMPAPER_P32K_ROTATED	107
       
  1105 #define DMPAPER_P32KBIG_ROTATED	108
       
  1106 #define DMPAPER_PENV_1_ROTATED	109
       
  1107 #define DMPAPER_PENV_2_ROTATED	110
       
  1108 #define DMPAPER_PENV_3_ROTATED	111
       
  1109 #define DMPAPER_PENV_4_ROTATED	112
       
  1110 #define DMPAPER_PENV_5_ROTATED	113
       
  1111 #define DMPAPER_PENV_6_ROTATED	114
       
  1112 #define DMPAPER_PENV_7_ROTATED	115
       
  1113 #define DMPAPER_PENV_8_ROTATED	116
       
  1114 #define DMPAPER_PENV_9_ROTATED	117
       
  1115 #define DMPAPER_PENV_10_ROTATED	118
       
  1116 #define DMPAPER_LAST	118
       
  1117 #else
       
  1118 #define DMPAPER_LAST	68
       
  1119 #endif
       
  1120 #define DMPAPER_USER	256
       
  1121 #define DMBIN_FIRST	1
       
  1122 #define DMBIN_UPPER	1
       
  1123 #define DMBIN_ONLYONE	1
       
  1124 #define DMBIN_LOWER	2
       
  1125 #define DMBIN_MIDDLE	3
       
  1126 #define DMBIN_MANUAL	4
       
  1127 #define DMBIN_ENVELOPE	5
       
  1128 #define DMBIN_ENVMANUAL	6
       
  1129 #define DMBIN_AUTO	7
       
  1130 #define DMBIN_TRACTOR	8
       
  1131 #define DMBIN_SMALLFMT	9
       
  1132 #define DMBIN_LARGEFMT	10
       
  1133 #define DMBIN_LARGECAPACITY	11
       
  1134 #define DMBIN_CASSETTE	14
       
  1135 #define DMBIN_FORMSOURCE	15
       
  1136 #define DMBIN_LAST	15
       
  1137 #define DMBIN_USER	256
       
  1138 #define DMRES_DRAFT	(-1)
       
  1139 #define DMRES_LOW	(-2)
       
  1140 #define DMRES_MEDIUM	(-3)
       
  1141 #define DMRES_HIGH	(-4)
       
  1142 #define DMCOLOR_MONOCHROME	1
       
  1143 #define DMCOLOR_COLOR	2
       
  1144 #define DMDUP_SIMPLEX	1
       
  1145 #define DMDUP_VERTICAL	2
       
  1146 #define DMDUP_HORIZONTAL	3
       
  1147 #define DMTT_BITMAP	1
       
  1148 #define DMTT_DOWNLOAD	2
       
  1149 #define DMTT_SUBDEV	3
       
  1150 #define DMTT_DOWNLOAD_OUTLINE	4
       
  1151 #define DMCOLLATE_FALSE	0
       
  1152 #define DMCOLLATE_TRUE	1
       
  1153 #define DM_SPECVERSION	800
       
  1154 #define DM_GRAYSCALE	1
       
  1155 #define DM_INTERLACED	2
       
  1156 #define DM_UPDATE	1
       
  1157 #define DM_COPY	2
       
  1158 #define DM_PROMPT	4
       
  1159 #define DM_MODIFY	8
       
  1160 #define DM_IN_BUFFER	DM_MODIFY
       
  1161 #define DM_IN_PROMPT	DM_PROMPT
       
  1162 #define DM_OUT_BUFFER	DM_COPY
       
  1163 #define DM_OUT_DEFAULT	DM_UPDATE
       
  1164 #define DM_ORIENTATION 0x00000001
       
  1165 #define DM_PAPERSIZE 0x00000002
       
  1166 #define DM_PAPERLENGTH 0x00000004
       
  1167 #define DM_PAPERWIDTH 0x00000008
       
  1168 #define DM_SCALE 0x00000010
       
  1169 #define DM_POSITION 0x00000020
       
  1170 #define DM_COPIES 0x00000100
       
  1171 #define DM_DEFAULTSOURCE 0x00000200
       
  1172 #define DM_PRINTQUALITY 0x00000400
       
  1173 #define DM_COLOR 0x00000800
       
  1174 #define DM_DUPLEX 0x00001000
       
  1175 #define DM_YRESOLUTION 0x00002000
       
  1176 #define DM_TTOPTION 0x00004000
       
  1177 #define DM_COLLATE 0x00008000
       
  1178 #define DM_FORMNAME 0x00010000
       
  1179 #define DM_LOGPIXELS 0x00020000
       
  1180 #define DM_BITSPERPEL 0x00040000
       
  1181 #define DM_PELSWIDTH 0x00080000
       
  1182 #define DM_PELSHEIGHT 0x00100000
       
  1183 #define DM_DISPLAYFLAGS 0x00200000
       
  1184 #define DM_DISPLAYFREQUENCY 0x00400000
       
  1185 #define DM_ICMMETHOD 0x00800000
       
  1186 #define DM_ICMINTENT 0x01000000
       
  1187 #define DM_MEDIATYPE 0x02000000
       
  1188 #define DM_DITHERTYPE 0x04000000
       
  1189 #if(WINVER >= 0x0500)
       
  1190 #define DM_PANNINGWIDTH 0x08000000
       
  1191 #define DM_PANNINGHEIGHT 0x10000000
       
  1192 #endif
       
  1193 #if(WINVER >= 0x0501)
       
  1194 #define DM_DISPLAYFIXEDOUTPUT 0x20000000
       
  1195 #define DM_DISPLAYORIENTATION 0x00000080
       
  1196 #define DMDO_DEFAULT 0x00000000
       
  1197 #define DMDO_90 0x00000001
       
  1198 #define DMDO_180 0x00000002
       
  1199 #define DMDO_270 0x00000003
       
  1200 #define DMDFO_DEFAULT 0x00000000
       
  1201 #define DMDFO_STRETCH 0x00000001
       
  1202 #define DMDFO_CENTER 0x00000002
       
  1203 #endif
       
  1204 #define DMICMMETHOD_NONE	1
       
  1205 #define DMICMMETHOD_SYSTEM	2
       
  1206 #define DMICMMETHOD_DRIVER	3
       
  1207 #define DMICMMETHOD_DEVICE	4
       
  1208 #define DMICMMETHOD_USER	256
       
  1209 #define DMICM_SATURATE	1
       
  1210 #define DMICM_CONTRAST	2
       
  1211 #define DMICM_COLORMETRIC	3
       
  1212 #define DMICM_USER	256
       
  1213 #define DMMEDIA_STANDARD	1
       
  1214 #define DMMEDIA_TRANSPARENCY	2
       
  1215 #define DMMEDIA_GLOSSY	3
       
  1216 #define DMMEDIA_USER	256
       
  1217 #define DMDITHER_NONE	1
       
  1218 #define DMDITHER_COARSE	2
       
  1219 #define DMDITHER_FINE	3
       
  1220 #define DMDITHER_LINEART	4
       
  1221 #define DMDITHER_ERRORDIFFUSION	5
       
  1222 #define DMDITHER_RESERVED6	6
       
  1223 #define DMDITHER_RESERVED7	7
       
  1224 #define DMDITHER_RESERVED8	8
       
  1225 #define DMDITHER_RESERVED9	9
       
  1226 #define DMDITHER_GRAYSCALE	10
       
  1227 #define DMDITHER_USER	256
       
  1228 #define GDI_ERROR 0xFFFFFFFF
       
  1229 #define HGDI_ERROR ((HANDLE)GDI_ERROR)
       
  1230 #define TMPF_FIXED_PITCH 1
       
  1231 #define TMPF_VECTOR 2
       
  1232 #define TMPF_TRUETYPE 4
       
  1233 #define TMPF_DEVICE 8
       
  1234 #define NTM_ITALIC 1
       
  1235 #define NTM_BOLD 32
       
  1236 #define NTM_REGULAR 64
       
  1237 #define TT_POLYGON_TYPE 24
       
  1238 #define TT_PRIM_LINE 1
       
  1239 #define TT_PRIM_QSPLINE 2
       
  1240 #define TT_PRIM_CSPLINE 3 
       
  1241 #define FONTMAPPER_MAX 10
       
  1242 #define ENHMETA_STOCK_OBJECT 0x80000000
       
  1243 #define WGL_FONT_LINES 0
       
  1244 #define WGL_FONT_POLYGONS 1
       
  1245 #define LPD_DOUBLEBUFFER 1
       
  1246 #define LPD_STEREO 2
       
  1247 #define LPD_SUPPORT_GDI 16
       
  1248 #define LPD_SUPPORT_OPENGL 32
       
  1249 #define LPD_SHARE_DEPTH 64
       
  1250 #define LPD_SHARE_STENCIL 128
       
  1251 #define LPD_SHARE_ACCUM 256
       
  1252 #define LPD_SWAP_EXCHANGE 512
       
  1253 #define LPD_SWAP_COPY 1024
       
  1254 #define LPD_TRANSPARENT 4096
       
  1255 #define LPD_TYPE_RGBA 0
       
  1256 #define LPD_TYPE_COLORINDEX 1
       
  1257 #define WGL_SWAP_MAIN_PLANE 1
       
  1258 #define WGL_SWAP_OVERLAY1 2
       
  1259 #define WGL_SWAP_OVERLAY2 4
       
  1260 #define WGL_SWAP_OVERLAY3 8
       
  1261 #define WGL_SWAP_OVERLAY4 16
       
  1262 #define WGL_SWAP_OVERLAY5 32
       
  1263 #define WGL_SWAP_OVERLAY6 64
       
  1264 #define WGL_SWAP_OVERLAY7 128
       
  1265 #define WGL_SWAP_OVERLAY8 256
       
  1266 #define WGL_SWAP_OVERLAY9 512
       
  1267 #define WGL_SWAP_OVERLAY10 1024
       
  1268 #define WGL_SWAP_OVERLAY11 2048
       
  1269 #define WGL_SWAP_OVERLAY12 4096
       
  1270 #define WGL_SWAP_OVERLAY13 8192
       
  1271 #define WGL_SWAP_OVERLAY14 16384
       
  1272 #define WGL_SWAP_OVERLAY15 32768
       
  1273 #define WGL_SWAP_UNDERLAY1 65536
       
  1274 #define WGL_SWAP_UNDERLAY2 0x20000
       
  1275 #define WGL_SWAP_UNDERLAY3 0x40000
       
  1276 #define WGL_SWAP_UNDERLAY4 0x80000
       
  1277 #define WGL_SWAP_UNDERLAY5 0x100000
       
  1278 #define WGL_SWAP_UNDERLAY6 0x200000
       
  1279 #define WGL_SWAP_UNDERLAY7 0x400000
       
  1280 #define WGL_SWAP_UNDERLAY8 0x800000
       
  1281 #define WGL_SWAP_UNDERLAY9 0x1000000
       
  1282 #define WGL_SWAP_UNDERLAY10 0x2000000
       
  1283 #define WGL_SWAP_UNDERLAY11 0x4000000
       
  1284 #define WGL_SWAP_UNDERLAY12 0x8000000
       
  1285 #define WGL_SWAP_UNDERLAY13 0x10000000
       
  1286 #define WGL_SWAP_UNDERLAY14 0x20000000
       
  1287 #define WGL_SWAP_UNDERLAY15 0x40000000
       
  1288 #define AC_SRC_OVER		0x00
       
  1289 #define AC_SRC_ALPHA		0x01
       
  1290 #define AC_SRC_NO_PREMULT_ALPHA	0x01
       
  1291 #define AC_SRC_NO_ALPHA		0x02
       
  1292 #define AC_DST_NO_PREMULT_ALPHA	0x10
       
  1293 #define AC_DST_NO_ALPHA		0x20
       
  1294 #define LAYOUT_RTL 1
       
  1295 #define LAYOUT_BITMAPORIENTATIONPRESERVED 8
       
  1296 #if (WINVER >= 0x0400)
       
  1297 #define CS_ENABLE           0x00000001
       
  1298 #define CS_DISABLE          0x00000002
       
  1299 #define CS_DELETE_TRANSFORM 0x00000003
       
  1300 #endif
       
  1301 #if (WINVER >= 0x0500)
       
  1302 #define GRADIENT_FILL_RECT_H 0x00
       
  1303 #define GRADIENT_FILL_RECT_V 0x01
       
  1304 #define GRADIENT_FILL_TRIANGLE 0x02
       
  1305 #define GRADIENT_FILL_OP_FLAG 0xff
       
  1306 #define COLORMATCHTOTARGET_EMBEDED 0x00000001
       
  1307 #define CREATECOLORSPACE_EMBEDED   0x00000001
       
  1308 #define SETICMPROFILE_EMBEDED      0x00000001
       
  1309 #endif
       
  1310 
       
  1311 #define DISPLAY_DEVICE_ATTACHED_TO_DESKTOP 0x00000001
       
  1312 #define DISPLAY_DEVICE_MULTI_DRIVER        0x00000002
       
  1313 #define DISPLAY_DEVICE_PRIMARY_DEVICE      0x00000004
       
  1314 #define DISPLAY_DEVICE_MIRRORING_DRIVER    0x00000008
       
  1315 #define DISPLAY_DEVICE_VGA_COMPATIBLE      0x00000010
       
  1316 #define DISPLAY_DEVICE_REMOVABLE           0x00000020
       
  1317 #define DISPLAY_DEVICE_MODESPRUNED         0x08000000
       
  1318 
       
  1319 #if (_WIN32_WINNT >= 0x0500)
       
  1320 #define NTM_NONNEGATIVE_AC  0x00010000
       
  1321 #define NTM_PS_OPENTYPE     0x00020000
       
  1322 #define NTM_TT_OPENTYPE     0x00040000
       
  1323 #define NTM_MULTIPLEMASTER  0x00080000
       
  1324 #define NTM_TYPE1           0x00100000
       
  1325 #define NTM_DSIG            0x00200000
       
  1326 #endif
       
  1327 
       
  1328 #if (_WIN32_WINNT >= 0x0500)
       
  1329 #define GGI_MARK_NONEXISTING_GLYPHS 1
       
  1330 #endif
       
  1331 
       
  1332 #ifndef RC_INVOKED
       
  1333 typedef struct _ABC {
       
  1334 	int abcA;
       
  1335 	UINT abcB;
       
  1336 	int abcC;
       
  1337 } ABC,*LPABC;
       
  1338 typedef struct _ABCFLOAT {
       
  1339 	FLOAT abcfA;
       
  1340 	FLOAT abcfB;
       
  1341 	FLOAT abcfC;
       
  1342 } ABCFLOAT,*LPABCFLOAT;
       
  1343 typedef struct tagBITMAP {
       
  1344 	LONG	bmType;
       
  1345 	LONG	bmWidth;
       
  1346 	LONG	bmHeight;
       
  1347 	LONG	bmWidthBytes;
       
  1348 	WORD	bmPlanes;
       
  1349 	WORD	bmBitsPixel;
       
  1350 	LPVOID	bmBits;
       
  1351 } BITMAP,*PBITMAP,*LPBITMAP;
       
  1352 typedef struct tagBITMAPCOREHEADER {
       
  1353 	DWORD	bcSize;
       
  1354 	WORD	bcWidth;
       
  1355 	WORD	bcHeight;
       
  1356 	WORD	bcPlanes;
       
  1357 	WORD	bcBitCount;
       
  1358 } BITMAPCOREHEADER,*LPBITMAPCOREHEADER,*PBITMAPCOREHEADER;
       
  1359 #pragma pack(push,1)
       
  1360 typedef struct tagRGBTRIPLE {
       
  1361 	BYTE rgbtBlue;
       
  1362 	BYTE rgbtGreen;
       
  1363 	BYTE rgbtRed;
       
  1364 } RGBTRIPLE,*LPRGBTRIPLE;
       
  1365 #pragma pack(pop)
       
  1366 #pragma pack(push,2)
       
  1367 typedef struct tagBITMAPFILEHEADER {
       
  1368 	WORD	bfType;
       
  1369 	DWORD	bfSize;
       
  1370 	WORD	bfReserved1;
       
  1371 	WORD	bfReserved2;
       
  1372 	DWORD	bfOffBits;
       
  1373 } BITMAPFILEHEADER,*LPBITMAPFILEHEADER,*PBITMAPFILEHEADER;
       
  1374 #pragma pack(pop)
       
  1375 typedef struct _BITMAPCOREINFO {
       
  1376 	BITMAPCOREHEADER	bmciHeader;
       
  1377 	RGBTRIPLE	bmciColors[1];
       
  1378 } BITMAPCOREINFO,*LPBITMAPCOREINFO,*PBITMAPCOREINFO;
       
  1379 typedef struct tagBITMAPINFOHEADER{
       
  1380 	DWORD	biSize;
       
  1381 	LONG	biWidth;
       
  1382 	LONG	biHeight;
       
  1383 	WORD	biPlanes;
       
  1384 	WORD	biBitCount;
       
  1385 	DWORD	biCompression;
       
  1386 	DWORD	biSizeImage;
       
  1387 	LONG	biXPelsPerMeter;
       
  1388 	LONG	biYPelsPerMeter;
       
  1389 	DWORD	biClrUsed;
       
  1390 	DWORD	biClrImportant;
       
  1391 } BITMAPINFOHEADER,*LPBITMAPINFOHEADER,*PBITMAPINFOHEADER;
       
  1392 typedef struct tagRGBQUAD {
       
  1393 	BYTE	rgbBlue;
       
  1394 	BYTE	rgbGreen;
       
  1395 	BYTE	rgbRed;
       
  1396 	BYTE	rgbReserved;
       
  1397 } RGBQUAD,*LPRGBQUAD;
       
  1398 typedef struct tagBITMAPINFO {
       
  1399 	BITMAPINFOHEADER bmiHeader;
       
  1400 	RGBQUAD bmiColors[1];
       
  1401 } BITMAPINFO,*LPBITMAPINFO,*PBITMAPINFO;
       
  1402 typedef long FXPT16DOT16,*LPFXPT16DOT16;
       
  1403 typedef long FXPT2DOT30,*LPFXPT2DOT30;
       
  1404 typedef struct tagCIEXYZ {
       
  1405 	FXPT2DOT30 ciexyzX;
       
  1406 	FXPT2DOT30 ciexyzY;
       
  1407 	FXPT2DOT30 ciexyzZ;
       
  1408 } CIEXYZ,*LPCIEXYZ;
       
  1409 typedef struct tagCIEXYZTRIPLE {
       
  1410 	CIEXYZ ciexyzRed;
       
  1411 	CIEXYZ ciexyzGreen;
       
  1412 	CIEXYZ ciexyzBlue;
       
  1413 } CIEXYZTRIPLE,*LPCIEXYZTRIPLE;
       
  1414 typedef struct {
       
  1415 	DWORD	bV4Size;
       
  1416 	LONG	bV4Width;
       
  1417 	LONG	bV4Height;
       
  1418 	WORD	bV4Planes;
       
  1419 	WORD	bV4BitCount;
       
  1420 	DWORD	bV4V4Compression;
       
  1421 	DWORD	bV4SizeImage;
       
  1422 	LONG	bV4XPelsPerMeter;
       
  1423 	LONG	bV4YPelsPerMeter;
       
  1424 	DWORD	bV4ClrUsed;
       
  1425 	DWORD	bV4ClrImportant;
       
  1426 	DWORD	bV4RedMask;
       
  1427 	DWORD	bV4GreenMask;
       
  1428 	DWORD	bV4BlueMask;
       
  1429 	DWORD	bV4AlphaMask;
       
  1430 	DWORD	bV4CSType;
       
  1431 	CIEXYZTRIPLE bV4Endpoints;
       
  1432 	DWORD	bV4GammaRed;
       
  1433 	DWORD	bV4GammaGreen;
       
  1434 	DWORD	bV4GammaBlue;
       
  1435 } BITMAPV4HEADER,*LPBITMAPV4HEADER,*PBITMAPV4HEADER;
       
  1436 typedef struct { 
       
  1437 	DWORD	bV5Size; 
       
  1438 	LONG	bV5Width; 
       
  1439 	LONG	bV5Height; 
       
  1440 	WORD	bV5Planes; 
       
  1441 	WORD	bV5BitCount; 
       
  1442 	DWORD	bV5Compression; 
       
  1443 	DWORD	bV5SizeImage; 
       
  1444 	LONG	bV5XPelsPerMeter; 
       
  1445 	LONG	bV5YPelsPerMeter; 
       
  1446 	DWORD	bV5ClrUsed; 
       
  1447 	DWORD	bV5ClrImportant; 
       
  1448 	DWORD	bV5RedMask; 
       
  1449 	DWORD	bV5GreenMask; 
       
  1450 	DWORD	bV5BlueMask; 
       
  1451 	DWORD	bV5AlphaMask; 
       
  1452 	DWORD	bV5CSType; 
       
  1453 	CIEXYZTRIPLE bV5Endpoints; 
       
  1454 	DWORD	bV5GammaRed; 
       
  1455 	DWORD	bV5GammaGreen; 
       
  1456 	DWORD	bV5GammaBlue; 
       
  1457 	DWORD	bV5Intent; 
       
  1458 	DWORD	bV5ProfileData; 
       
  1459 	DWORD	bV5ProfileSize; 
       
  1460 	DWORD	bV5Reserved; 
       
  1461 } BITMAPV5HEADER,*LPBITMAPV5HEADER,*PBITMAPV5HEADER; 
       
  1462 typedef struct tagFONTSIGNATURE {
       
  1463 	DWORD	fsUsb[4];
       
  1464 	DWORD	fsCsb[2];
       
  1465 } FONTSIGNATURE,*LPFONTSIGNATURE;
       
  1466 typedef struct {
       
  1467 	UINT ciCharset;
       
  1468 	UINT ciACP;
       
  1469 	FONTSIGNATURE fs;
       
  1470 } CHARSETINFO,*LPCHARSETINFO;
       
  1471 typedef struct  tagCOLORADJUSTMENT {
       
  1472 	WORD	caSize;
       
  1473 	WORD	caFlags;
       
  1474 	WORD	caIlluminantIndex;
       
  1475 	WORD	caRedGamma;
       
  1476 	WORD	caGreenGamma;
       
  1477 	WORD	caBlueGamma;
       
  1478 	WORD	caReferenceBlack;
       
  1479 	WORD	caReferenceWhite;
       
  1480 	SHORT	caContrast;
       
  1481 	SHORT	caBrightness;
       
  1482 	SHORT	caColorfulness;
       
  1483 	SHORT	caRedGreenTint;
       
  1484 } COLORADJUSTMENT,*LPCOLORADJUSTMENT;
       
  1485 typedef struct _devicemodeA { 
       
  1486   BYTE   dmDeviceName[CCHDEVICENAME]; 
       
  1487   WORD   dmSpecVersion; 
       
  1488   WORD   dmDriverVersion; 
       
  1489   WORD   dmSize; 
       
  1490   WORD   dmDriverExtra; 
       
  1491   DWORD  dmFields; 
       
  1492   _ANONYMOUS_UNION union {
       
  1493     _ANONYMOUS_STRUCT struct {
       
  1494       short dmOrientation;
       
  1495       short dmPaperSize;
       
  1496       short dmPaperLength;
       
  1497       short dmPaperWidth;
       
  1498       short dmScale; 
       
  1499       short dmCopies; 
       
  1500       short dmDefaultSource; 
       
  1501       short dmPrintQuality; 
       
  1502     } DUMMYSTRUCTNAME;
       
  1503     POINTL dmPosition;
       
  1504     DWORD  dmDisplayOrientation;
       
  1505     DWORD  dmDisplayFixedOutput;
       
  1506   } DUMMYUNIONNAME;
       
  1507 
       
  1508   short  dmColor; 
       
  1509   short  dmDuplex; 
       
  1510   short  dmYResolution; 
       
  1511   short  dmTTOption; 
       
  1512   short  dmCollate; 
       
  1513   BYTE   dmFormName[CCHFORMNAME]; 
       
  1514   WORD   dmLogPixels; 
       
  1515   DWORD  dmBitsPerPel; 
       
  1516   DWORD  dmPelsWidth; 
       
  1517   DWORD  dmPelsHeight; 
       
  1518   _ANONYMOUS_UNION union {
       
  1519     DWORD  dmDisplayFlags; 
       
  1520     DWORD  dmNup;
       
  1521   } DUMMYUNIONNAME2;
       
  1522   DWORD  dmDisplayFrequency; 
       
  1523 #if(WINVER >= 0x0400) 
       
  1524   DWORD  dmICMMethod;
       
  1525   DWORD  dmICMIntent;
       
  1526   DWORD  dmMediaType;
       
  1527   DWORD  dmDitherType;
       
  1528   DWORD  dmReserved1;
       
  1529   DWORD  dmReserved2;
       
  1530 #if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400)
       
  1531   DWORD  dmPanningWidth;
       
  1532   DWORD  dmPanningHeight;
       
  1533 #endif
       
  1534 #endif /* WINVER >= 0x0400 */
       
  1535 } DEVMODEA,*LPDEVMODEA,*PDEVMODEA;
       
  1536 typedef struct _devicemodeW { 
       
  1537   WCHAR   dmDeviceName[CCHDEVICENAME]; 
       
  1538   WORD   dmSpecVersion; 
       
  1539   WORD   dmDriverVersion; 
       
  1540   WORD   dmSize; 
       
  1541   WORD   dmDriverExtra; 
       
  1542   DWORD  dmFields; 
       
  1543   _ANONYMOUS_UNION union {
       
  1544     _ANONYMOUS_STRUCT struct {
       
  1545       short dmOrientation;
       
  1546       short dmPaperSize;
       
  1547       short dmPaperLength;
       
  1548       short dmPaperWidth;
       
  1549       short dmScale; 
       
  1550       short dmCopies; 
       
  1551       short dmDefaultSource; 
       
  1552       short dmPrintQuality; 
       
  1553     } DUMMYSTRUCTNAME;
       
  1554     POINTL dmPosition;
       
  1555     DWORD  dmDisplayOrientation;
       
  1556     DWORD  dmDisplayFixedOutput;
       
  1557   } DUMMYUNIONNAME;
       
  1558 
       
  1559   short  dmColor; 
       
  1560   short  dmDuplex; 
       
  1561   short  dmYResolution; 
       
  1562   short  dmTTOption; 
       
  1563   short  dmCollate; 
       
  1564   WCHAR  dmFormName[CCHFORMNAME]; 
       
  1565   WORD   dmLogPixels; 
       
  1566   DWORD  dmBitsPerPel; 
       
  1567   DWORD  dmPelsWidth; 
       
  1568   DWORD  dmPelsHeight; 
       
  1569   _ANONYMOUS_UNION union {
       
  1570     DWORD  dmDisplayFlags; 
       
  1571     DWORD  dmNup;
       
  1572   } DUMMYUNIONNAME2;
       
  1573   DWORD  dmDisplayFrequency; 
       
  1574 #if(WINVER >= 0x0400) 
       
  1575   DWORD  dmICMMethod;
       
  1576   DWORD  dmICMIntent;
       
  1577   DWORD  dmMediaType;
       
  1578   DWORD  dmDitherType;
       
  1579   DWORD  dmReserved1;
       
  1580   DWORD  dmReserved2;
       
  1581 #if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400)
       
  1582   DWORD  dmPanningWidth;
       
  1583   DWORD  dmPanningHeight;
       
  1584 #endif
       
  1585 #endif /* WINVER >= 0x0400 */
       
  1586 } DEVMODEW,*LPDEVMODEW,*PDEVMODEW;
       
  1587 typedef struct tagDIBSECTION {
       
  1588 	BITMAP dsBm;
       
  1589 	BITMAPINFOHEADER dsBmih;
       
  1590 	DWORD dsBitfields[3];
       
  1591 	HANDLE dshSection;
       
  1592 	DWORD dsOffset;
       
  1593 } DIBSECTION;
       
  1594 typedef struct _DOCINFOA {
       
  1595 	int cbSize;
       
  1596 	LPCSTR lpszDocName;
       
  1597 	LPCSTR lpszOutput;
       
  1598 	LPCSTR lpszDatatype;
       
  1599 	DWORD fwType;
       
  1600 } DOCINFOA,*LPDOCINFOA;
       
  1601 typedef struct _DOCINFOW {
       
  1602 	int cbSize;
       
  1603 	LPCWSTR lpszDocName;
       
  1604 	LPCWSTR lpszOutput;
       
  1605 	LPCWSTR lpszDatatype;
       
  1606 	DWORD fwType;
       
  1607 } DOCINFOW,*LPDOCINFOW;
       
  1608 typedef struct tagEMR {
       
  1609 	DWORD iType;
       
  1610 	DWORD nSize;
       
  1611 } EMR,*PEMR;
       
  1612 typedef struct tagEMRANGLEARC {
       
  1613 	EMR emr;
       
  1614 	POINTL ptlCenter;
       
  1615 	DWORD nRadius;
       
  1616 	FLOAT eStartAngle;
       
  1617 	FLOAT eSweepAngle;
       
  1618 } EMRANGLEARC,*PEMRANGLEARC;
       
  1619 typedef struct tagEMRARC {
       
  1620 	EMR emr;
       
  1621 	RECTL rclBox;
       
  1622 	POINTL ptlStart;
       
  1623 	POINTL ptlEnd;
       
  1624 } EMRARC,*PEMRARC,EMRARCTO,*PEMRARCTO,EMRCHORD,*PEMRCHORD,EMRPIE,*PEMRPIE;
       
  1625 typedef struct  _XFORM {
       
  1626 	FLOAT eM11;
       
  1627 	FLOAT eM12;
       
  1628 	FLOAT eM21;
       
  1629 	FLOAT eM22;
       
  1630 	FLOAT eDx;
       
  1631 	FLOAT eDy;
       
  1632 } XFORM,*PXFORM,*LPXFORM;
       
  1633 typedef struct tagEMRBITBLT {
       
  1634 	EMR emr;
       
  1635 	RECTL rclBounds;
       
  1636 	LONG xDest;
       
  1637 	LONG yDest;
       
  1638 	LONG cxDest;
       
  1639 	LONG cyDest;
       
  1640 	DWORD dwRop;
       
  1641 	LONG xSrc;
       
  1642 	LONG ySrc;
       
  1643 	XFORM xformSrc;
       
  1644 	COLORREF crBkColorSrc;
       
  1645 	DWORD iUsageSrc;
       
  1646 	DWORD offBmiSrc;
       
  1647 	DWORD offBitsSrc;
       
  1648 	DWORD cbBitsSrc;
       
  1649 } EMRBITBLT,*PEMRBITBLT;
       
  1650 typedef struct tagLOGBRUSH {
       
  1651 	UINT lbStyle;
       
  1652 	COLORREF lbColor;
       
  1653 	LONG lbHatch;
       
  1654 } LOGBRUSH,*PLOGBRUSH,*LPLOGBRUSH;
       
  1655 typedef LOGBRUSH PATTERN,*PPATTERN,*LPPATTERN;
       
  1656 typedef struct tagEMRCREATEBRUSHINDIRECT {
       
  1657 	EMR emr;
       
  1658 	DWORD ihBrush;
       
  1659 	LOGBRUSH lb;
       
  1660 } EMRCREATEBRUSHINDIRECT,*PEMRCREATEBRUSHINDIRECT;
       
  1661 typedef LONG LCSCSTYPE;
       
  1662 typedef LONG LCSGAMUTMATCH;
       
  1663 typedef struct tagLOGCOLORSPACEA {
       
  1664 	DWORD lcsSignature;
       
  1665 	DWORD lcsVersion;
       
  1666 	DWORD lcsSize;
       
  1667 	LCSCSTYPE lcsCSType;
       
  1668 	LCSGAMUTMATCH lcsIntent;
       
  1669 	CIEXYZTRIPLE lcsEndpoints;
       
  1670 	DWORD lcsGammaRed;
       
  1671 	DWORD lcsGammaGreen;
       
  1672 	DWORD lcsGammaBlue;
       
  1673 	CHAR lcsFilename[MAX_PATH];
       
  1674 } LOGCOLORSPACEA,*LPLOGCOLORSPACEA;
       
  1675 typedef struct tagLOGCOLORSPACEW {
       
  1676 	DWORD lcsSignature;
       
  1677 	DWORD lcsVersion;
       
  1678 	DWORD lcsSize;
       
  1679 	LCSCSTYPE lcsCSType;
       
  1680 	LCSGAMUTMATCH lcsIntent;
       
  1681 	CIEXYZTRIPLE lcsEndpoints;
       
  1682 	DWORD lcsGammaRed;
       
  1683 	DWORD lcsGammaGreen;
       
  1684 	DWORD lcsGammaBlue;
       
  1685 	WCHAR lcsFilename[MAX_PATH];
       
  1686 } LOGCOLORSPACEW,*LPLOGCOLORSPACEW;
       
  1687 typedef struct tagEMRCREATECOLORSPACE {
       
  1688 	EMR emr;
       
  1689 	DWORD ihCS;
       
  1690 	LOGCOLORSPACEW lcs;
       
  1691 } EMRCREATECOLORSPACE,*PEMRCREATECOLORSPACE;
       
  1692 typedef struct tagEMRCREATEDIBPATTERNBRUSHPT {
       
  1693 	EMR emr;
       
  1694 	DWORD ihBrush;
       
  1695 	DWORD iUsage;
       
  1696 	DWORD offBmi;
       
  1697 	DWORD cbBmi;
       
  1698 	DWORD offBits;
       
  1699 	DWORD cbBits;
       
  1700 } EMRCREATEDIBPATTERNBRUSHPT,*PEMRCREATEDIBPATTERNBRUSHPT;
       
  1701 typedef struct tagEMRCREATEMONOBRUSH {
       
  1702 	EMR emr;
       
  1703 	DWORD ihBrush;
       
  1704 	DWORD iUsage;
       
  1705 	DWORD offBmi;
       
  1706 	DWORD cbBmi;
       
  1707 	DWORD offBits;
       
  1708 	DWORD cbBits;
       
  1709 } EMRCREATEMONOBRUSH,*PEMRCREATEMONOBRUSH;
       
  1710 typedef struct tagPALETTEENTRY {
       
  1711 	BYTE peRed;
       
  1712 	BYTE peGreen;
       
  1713 	BYTE peBlue;
       
  1714 	BYTE peFlags;
       
  1715 } PALETTEENTRY,*LPPALETTEENTRY,*PPALETTEENTRY;
       
  1716 typedef struct tagLOGPALETTE {
       
  1717 	WORD palVersion;
       
  1718 	WORD palNumEntries;
       
  1719 	PALETTEENTRY palPalEntry[1];
       
  1720 } LOGPALETTE,*NPLOGPALETTE,*PLOGPALETTE,*LPLOGPALETTE;
       
  1721 typedef struct tagEMRCREATEPALETTE {
       
  1722 	EMR emr;
       
  1723 	DWORD ihPal;
       
  1724 	LOGPALETTE lgpl;
       
  1725 } EMRCREATEPALETTE,*PEMRCREATEPALETTE;
       
  1726 typedef struct tagLOGPEN {
       
  1727 	UINT lopnStyle;
       
  1728 	POINT lopnWidth;
       
  1729 	COLORREF lopnColor;
       
  1730 } LOGPEN,*PLOGPEN,*LPLOGPEN;
       
  1731 typedef struct tagEMRCREATEPEN {
       
  1732 	EMR emr;
       
  1733 	DWORD ihPen;
       
  1734 	LOGPEN lopn;
       
  1735 } EMRCREATEPEN,*PEMRCREATEPEN;
       
  1736 typedef struct tagEMRELLIPSE {
       
  1737 	EMR emr;
       
  1738 	RECTL rclBox;
       
  1739 } EMRELLIPSE,*PEMRELLIPSE,EMRRECTANGLE,*PEMRRECTANGLE;
       
  1740 typedef struct tagEMREOF {
       
  1741 	EMR emr;
       
  1742 	DWORD nPalEntries;
       
  1743 	DWORD offPalEntries;
       
  1744 	DWORD nSizeLast;
       
  1745 } EMREOF,*PEMREOF;
       
  1746 typedef struct tagEMREXCLUDECLIPRECT {
       
  1747 	EMR emr;
       
  1748 	RECTL rclClip;
       
  1749 } EMREXCLUDECLIPRECT,*PEMREXCLUDECLIPRECT,EMRINTERSECTCLIPRECT,*PEMRINTERSECTCLIPRECT;
       
  1750 typedef struct tagPANOSE {
       
  1751 	BYTE bFamilyType;
       
  1752 	BYTE bSerifStyle;
       
  1753 	BYTE bWeight;
       
  1754 	BYTE bProportion;
       
  1755 	BYTE bContrast;
       
  1756 	BYTE bStrokeVariation;
       
  1757 	BYTE bArmStyle;
       
  1758 	BYTE bLetterform;
       
  1759 	BYTE bMidline;
       
  1760 	BYTE bXHeight;
       
  1761 } PANOSE;
       
  1762 typedef struct tagLOGFONTA {
       
  1763 	LONG	lfHeight;
       
  1764 	LONG	lfWidth;
       
  1765 	LONG	lfEscapement;
       
  1766 	LONG	lfOrientation;
       
  1767 	LONG	lfWeight;
       
  1768 	BYTE	lfItalic;
       
  1769 	BYTE	lfUnderline;
       
  1770 	BYTE	lfStrikeOut;
       
  1771 	BYTE	lfCharSet;
       
  1772 	BYTE	lfOutPrecision;
       
  1773 	BYTE	lfClipPrecision;
       
  1774 	BYTE	lfQuality;
       
  1775 	BYTE	lfPitchAndFamily;
       
  1776 	CHAR	lfFaceName[LF_FACESIZE];
       
  1777 } LOGFONTA,*PLOGFONTA,*LPLOGFONTA;
       
  1778 typedef struct tagLOGFONTW {
       
  1779 	LONG	lfHeight;
       
  1780 	LONG	lfWidth;
       
  1781 	LONG	lfEscapement;
       
  1782 	LONG	lfOrientation;
       
  1783 	LONG	lfWeight;
       
  1784 	BYTE	lfItalic;
       
  1785 	BYTE	lfUnderline;
       
  1786 	BYTE	lfStrikeOut;
       
  1787 	BYTE	lfCharSet;
       
  1788 	BYTE	lfOutPrecision;
       
  1789 	BYTE	lfClipPrecision;
       
  1790 	BYTE	lfQuality;
       
  1791 	BYTE	lfPitchAndFamily;
       
  1792 	WCHAR	lfFaceName[LF_FACESIZE];
       
  1793 } LOGFONTW,*PLOGFONTW,*LPLOGFONTW;
       
  1794 typedef struct tagEXTLOGFONTA {
       
  1795 	LOGFONTA	elfLogFont;
       
  1796 	BYTE	elfFullName[LF_FULLFACESIZE];
       
  1797 	BYTE	elfStyle[LF_FACESIZE];
       
  1798 	DWORD	elfVersion;
       
  1799 	DWORD	elfStyleSize;
       
  1800 	DWORD	elfMatch;
       
  1801 	DWORD	elfReserved;
       
  1802 	BYTE	elfVendorId[ELF_VENDOR_SIZE];
       
  1803 	DWORD	elfCulture;
       
  1804 	PANOSE	elfPanose;
       
  1805 } EXTLOGFONTA,*PEXTLOGFONTA,*LPEXTLOGFONTA;
       
  1806 typedef struct tagEXTLOGFONTW {
       
  1807 	LOGFONTW	elfLogFont;
       
  1808 	WCHAR	elfFullName[LF_FULLFACESIZE];
       
  1809 	WCHAR	elfStyle[LF_FACESIZE];
       
  1810 	DWORD	elfVersion;
       
  1811 	DWORD	elfStyleSize;
       
  1812 	DWORD	elfMatch;
       
  1813 	DWORD	elfReserved;
       
  1814 	BYTE	elfVendorId[ELF_VENDOR_SIZE];
       
  1815 	DWORD	elfCulture;
       
  1816 	PANOSE	elfPanose;
       
  1817 } EXTLOGFONTW,*PEXTLOGFONTW,*LPEXTLOGFONTW;
       
  1818 typedef struct tagEMREXTCREATEFONTINDIRECTW {
       
  1819 	EMR emr;
       
  1820 	DWORD ihFont;
       
  1821 	EXTLOGFONTW elfw;
       
  1822 } EMREXTCREATEFONTINDIRECTW,*PEMREXTCREATEFONTINDIRECTW;
       
  1823 typedef struct tagEXTLOGPEN {
       
  1824 	UINT elpPenStyle;
       
  1825 	UINT elpWidth;
       
  1826 	UINT elpBrushStyle;
       
  1827 	COLORREF elpColor;
       
  1828 	LONG elpHatch;
       
  1829 	DWORD elpNumEntries;
       
  1830 	DWORD elpStyleEntry[1];
       
  1831 } EXTLOGPEN,*PEXTLOGPEN,*LPEXTLOGPEN;
       
  1832 typedef struct tagEMREXTCREATEPEN {
       
  1833 	EMR emr;
       
  1834 	DWORD ihPen;
       
  1835 	DWORD offBmi;
       
  1836 	DWORD cbBmi;
       
  1837 	DWORD offBits;
       
  1838 	DWORD cbBits;
       
  1839 	EXTLOGPEN elp;
       
  1840 } EMREXTCREATEPEN,*PEMREXTCREATEPEN;
       
  1841 typedef struct tagEMREXTFLOODFILL {
       
  1842 	EMR emr;
       
  1843 	POINTL ptlStart;
       
  1844 	COLORREF crColor;
       
  1845 	DWORD iMode;
       
  1846 } EMREXTFLOODFILL,*PEMREXTFLOODFILL;
       
  1847 typedef struct tagEMREXTSELECTCLIPRGN {
       
  1848 	EMR emr;
       
  1849 	DWORD cbRgnData;
       
  1850 	DWORD iMode;
       
  1851 	BYTE RgnData[1];
       
  1852 } EMREXTSELECTCLIPRGN,*PEMREXTSELECTCLIPRGN;
       
  1853 typedef struct tagEMRTEXT {
       
  1854 	POINTL ptlReference;
       
  1855 	DWORD nChars;
       
  1856 	DWORD offString;
       
  1857 	DWORD fOptions;
       
  1858 	RECTL rcl;
       
  1859 	DWORD offDx;
       
  1860 } EMRTEXT,*PEMRTEXT;
       
  1861 typedef struct tagEMREXTTEXTOUTA {
       
  1862 	EMR emr;
       
  1863 	RECTL rclBounds;
       
  1864 	DWORD iGraphicsMode;
       
  1865 	FLOAT exScale;
       
  1866 	FLOAT eyScale;
       
  1867 	EMRTEXT emrtext;
       
  1868 } EMREXTTEXTOUTA,*PEMREXTTEXTOUTA,EMREXTTEXTOUTW,*PEMREXTTEXTOUTW;
       
  1869 typedef struct tagEMRFILLPATH {
       
  1870 	EMR emr;
       
  1871 	RECTL rclBounds;
       
  1872 } EMRFILLPATH,*PEMRFILLPATH,EMRSTROKEANDFILLPATH,*PEMRSTROKEANDFILLPATH,EMRSTROKEPATH,*PEMRSTROKEPATH;
       
  1873 typedef struct tagEMRFILLRGN {
       
  1874 	EMR emr;
       
  1875 	RECTL rclBounds;
       
  1876 	DWORD cbRgnData;
       
  1877 	DWORD ihBrush;
       
  1878 	BYTE RgnData[1];
       
  1879 } EMRFILLRGN,*PEMRFILLRGN;
       
  1880 typedef struct tagEMRFORMAT   {
       
  1881 	DWORD dSignature;
       
  1882 	DWORD nVersion;
       
  1883 	DWORD cbData;
       
  1884 	DWORD offData;
       
  1885 } EMRFORMAT;
       
  1886 typedef struct tagEMRFRAMERGN {
       
  1887 	EMR emr;
       
  1888 	RECTL rclBounds;
       
  1889 	DWORD cbRgnData;
       
  1890 	DWORD ihBrush;
       
  1891 	SIZEL szlStroke;
       
  1892 	BYTE RgnData[1];
       
  1893 } EMRFRAMERGN,*PEMRFRAMERGN;
       
  1894 typedef struct tagEMRGDICOMMENT {
       
  1895 	EMR emr;
       
  1896 	DWORD cbData;
       
  1897 	BYTE Data[1];
       
  1898 } EMRGDICOMMENT,*PEMRGDICOMMENT;
       
  1899 typedef struct tagEMRINVERTRGN {
       
  1900 	EMR emr;
       
  1901 	RECTL rclBounds;
       
  1902 	DWORD cbRgnData;
       
  1903 	BYTE RgnData[1];
       
  1904 } EMRINVERTRGN,*PEMRINVERTRGN,EMRPAINTRGN,*PEMRPAINTRGN;
       
  1905 typedef struct tagEMRLINETO {
       
  1906 	EMR emr;
       
  1907 	POINTL ptl;
       
  1908 } EMRLINETO,*PEMRLINETO,EMRMOVETOEX,*PEMRMOVETOEX;
       
  1909 typedef struct tagEMRMASKBLT {
       
  1910 	EMR emr;
       
  1911 	RECTL rclBounds;
       
  1912 	LONG xDest;
       
  1913 	LONG yDest;
       
  1914 	LONG cxDest;
       
  1915 	LONG cyDest;
       
  1916 	DWORD dwRop;
       
  1917 	LONG xSrc;
       
  1918 	LONG ySrc;
       
  1919 	XFORM xformSrc;
       
  1920 	COLORREF crBkColorSrc;
       
  1921 	DWORD iUsageSrc;
       
  1922 	DWORD offBmiSrc;
       
  1923 	DWORD cbBmiSrc;
       
  1924 	DWORD offBitsSrc;
       
  1925 	DWORD cbBitsSrc;
       
  1926 	LONG xMask;
       
  1927 	LONG yMask;
       
  1928 	DWORD iUsageMask;
       
  1929 	DWORD offBmiMask;
       
  1930 	DWORD cbBmiMask;
       
  1931 	DWORD offBitsMask;
       
  1932 	DWORD cbBitsMask;
       
  1933 } EMRMASKBLT,*PEMRMASKBLT;
       
  1934 typedef struct tagEMRMODIFYWORLDTRANSFORM {
       
  1935 	EMR emr;
       
  1936 	XFORM xform;
       
  1937 	DWORD iMode;
       
  1938 } EMRMODIFYWORLDTRANSFORM,*PEMRMODIFYWORLDTRANSFORM;
       
  1939 typedef struct tagEMROFFSETCLIPRGN {
       
  1940 	EMR emr;
       
  1941 	POINTL ptlOffset;
       
  1942 } EMROFFSETCLIPRGN,*PEMROFFSETCLIPRGN;
       
  1943 typedef struct tagEMRPLGBLT {
       
  1944 	EMR emr;
       
  1945 	RECTL rclBounds;
       
  1946 	POINTL aptlDest[3];
       
  1947 	LONG xSrc;
       
  1948 	LONG ySrc;
       
  1949 	LONG cxSrc;
       
  1950 	LONG cySrc;
       
  1951 	XFORM xformSrc;
       
  1952 	COLORREF crBkColorSrc;
       
  1953 	DWORD iUsageSrc;
       
  1954 	DWORD offBmiSrc;
       
  1955 	DWORD cbBmiSrc;
       
  1956 	DWORD offBitsSrc;
       
  1957 	DWORD cbBitsSrc;
       
  1958 	LONG xMask;
       
  1959 	LONG yMask;
       
  1960 	DWORD iUsageMask;
       
  1961 	DWORD offBmiMask;
       
  1962 	DWORD cbBmiMask;
       
  1963 	DWORD offBitsMask;
       
  1964 	DWORD cbBitsMask;
       
  1965 } EMRPLGBLT,*PEMRPLGBLT;
       
  1966 typedef struct tagEMRPOLYDRAW {
       
  1967 	EMR emr;
       
  1968 	RECTL rclBounds;
       
  1969 	DWORD cptl;
       
  1970 	POINTL aptl[1];
       
  1971 	BYTE abTypes[1];
       
  1972 } EMRPOLYDRAW,*PEMRPOLYDRAW;
       
  1973 typedef struct tagEMRPOLYDRAW16 {
       
  1974 	EMR emr;
       
  1975 	RECTL rclBounds;
       
  1976 	DWORD cpts;
       
  1977 	POINTS apts[1];
       
  1978 	BYTE abTypes[1];
       
  1979 } EMRPOLYDRAW16,*PEMRPOLYDRAW16;
       
  1980 typedef struct tagEMRPOLYLINE {
       
  1981 	EMR emr;
       
  1982 	RECTL rclBounds;
       
  1983 	DWORD cptl;
       
  1984 	POINTL aptl[1];
       
  1985 } EMRPOLYLINE,*PEMRPOLYLINE,EMRPOLYBEZIER,*PEMRPOLYBEZIER,EMRPOLYGON,*PEMRPOLYGON,EMRPOLYBEZIERTO,*PEMRPOLYBEZIERTO,EMRPOLYLINETO,*PEMRPOLYLINETO;
       
  1986 typedef struct tagEMRPOLYLINE16 {
       
  1987 	EMR emr;
       
  1988 	RECTL rclBounds;
       
  1989 	DWORD cpts;
       
  1990 	POINTL apts[1];
       
  1991 } EMRPOLYLINE16,*PEMRPOLYLINE16,EMRPOLYBEZIER16,*PEMRPOLYBEZIER16,EMRPOLYGON16,*PEMRPOLYGON16,EMRPOLYBEZIERTO16,*PEMRPOLYBEZIERTO16,EMRPOLYLINETO16,*PEMRPOLYLINETO16;
       
  1992 typedef struct tagEMRPOLYPOLYLINE {
       
  1993 	EMR emr;
       
  1994 	RECTL rclBounds;
       
  1995 	DWORD nPolys;
       
  1996 	DWORD cptl;
       
  1997 	DWORD aPolyCounts[1];
       
  1998 	POINTL aptl[1];
       
  1999 } EMRPOLYPOLYLINE,*PEMRPOLYPOLYLINE,EMRPOLYPOLYGON,*PEMRPOLYPOLYGON;
       
  2000 typedef struct tagEMRPOLYPOLYLINE16 {
       
  2001 	EMR emr;
       
  2002 	RECTL rclBounds;
       
  2003 	DWORD nPolys;
       
  2004 	DWORD cpts;
       
  2005 	DWORD aPolyCounts[1];
       
  2006 	POINTS apts[1];
       
  2007 } EMRPOLYPOLYLINE16,*PEMRPOLYPOLYLINE16,EMRPOLYPOLYGON16,*PEMRPOLYPOLYGON16;
       
  2008 typedef struct tagEMRPOLYTEXTOUTA {
       
  2009 	EMR emr;
       
  2010 	RECTL rclBounds;
       
  2011 	DWORD iGraphicsMode;
       
  2012 	FLOAT exScale;
       
  2013 	FLOAT eyScale;
       
  2014 	LONG cStrings;
       
  2015 	EMRTEXT aemrtext[1];
       
  2016 } EMRPOLYTEXTOUTA,*PEMRPOLYTEXTOUTA,EMRPOLYTEXTOUTW,*PEMRPOLYTEXTOUTW;
       
  2017 typedef struct tagEMRRESIZEPALETTE {
       
  2018 	EMR emr;
       
  2019 	DWORD ihPal;
       
  2020 	DWORD cEntries;
       
  2021 } EMRRESIZEPALETTE,*PEMRRESIZEPALETTE;
       
  2022 typedef struct tagEMRRESTOREDC {
       
  2023 	EMR emr;
       
  2024 	LONG iRelative;
       
  2025 } EMRRESTOREDC,*PEMRRESTOREDC;
       
  2026 typedef struct tagEMRROUNDRECT {
       
  2027 	EMR emr;
       
  2028 	RECTL rclBox;
       
  2029 	SIZEL szlCorner;
       
  2030 } EMRROUNDRECT,*PEMRROUNDRECT;
       
  2031 typedef struct tagEMRSCALEVIEWPORTEXTEX {
       
  2032 	EMR emr;
       
  2033 	LONG xNum;
       
  2034 	LONG xDenom;
       
  2035 	LONG yNum;
       
  2036 	LONG yDenom;
       
  2037 } EMRSCALEVIEWPORTEXTEX,*PEMRSCALEVIEWPORTEXTEX,EMRSCALEWINDOWEXTEX,*PEMRSCALEWINDOWEXTEX;
       
  2038 typedef struct tagEMRSELECTCOLORSPACE {
       
  2039 	EMR emr;
       
  2040 	DWORD ihCS;
       
  2041 } EMRSELECTCOLORSPACE,*PEMRSELECTCOLORSPACE,EMRDELETECOLORSPACE,*PEMRDELETECOLORSPACE;
       
  2042 typedef struct tagEMRSELECTOBJECT {
       
  2043 	EMR emr;
       
  2044 	DWORD ihObject;
       
  2045 } EMRSELECTOBJECT,*PEMRSELECTOBJECT,EMRDELETEOBJECT,*PEMRDELETEOBJECT;
       
  2046 typedef struct tagEMRSELECTPALETTE {
       
  2047 	EMR emr;
       
  2048 	DWORD ihPal;
       
  2049 } EMRSELECTPALETTE,*PEMRSELECTPALETTE;
       
  2050 typedef struct tagEMRSETARCDIRECTION {
       
  2051 	EMR emr;
       
  2052 	DWORD iArcDirection;
       
  2053 } EMRSETARCDIRECTION,*PEMRSETARCDIRECTION;
       
  2054 typedef struct tagEMRSETTEXTCOLOR {
       
  2055 	EMR emr;
       
  2056 	COLORREF crColor;
       
  2057 } EMRSETBKCOLOR,*PEMRSETBKCOLOR,EMRSETTEXTCOLOR,*PEMRSETTEXTCOLOR;
       
  2058 typedef struct tagEMRSETCOLORADJUSTMENT {
       
  2059 	EMR emr;
       
  2060 	COLORADJUSTMENT ColorAdjustment;
       
  2061 } EMRSETCOLORADJUSTMENT,*PEMRSETCOLORADJUSTMENT;
       
  2062 typedef struct tagEMRSETDIBITSTODEVICE {
       
  2063 	EMR emr;
       
  2064 	RECTL rclBounds;
       
  2065 	LONG xDest;
       
  2066 	LONG yDest;
       
  2067 	LONG xSrc;
       
  2068 	LONG ySrc;
       
  2069 	LONG cxSrc;
       
  2070 	LONG cySrc;
       
  2071 	DWORD offBmiSrc;
       
  2072 	DWORD cbBmiSrc;
       
  2073 	DWORD offBitsSrc;
       
  2074 	DWORD cbBitsSrc;
       
  2075 	DWORD iUsageSrc;
       
  2076 	DWORD iStartScan;
       
  2077 	DWORD cScans;
       
  2078 } EMRSETDIBITSTODEVICE,*PEMRSETDIBITSTODEVICE;
       
  2079 typedef struct tagEMRSETMAPPERFLAGS {
       
  2080 	EMR emr;
       
  2081 	DWORD dwFlags;
       
  2082 } EMRSETMAPPERFLAGS,*PEMRSETMAPPERFLAGS;
       
  2083 typedef struct tagEMRSETMITERLIMIT {
       
  2084 	EMR emr;
       
  2085 	FLOAT eMiterLimit;
       
  2086 } EMRSETMITERLIMIT,*PEMRSETMITERLIMIT;
       
  2087 typedef struct tagEMRSETPALETTEENTRIES {
       
  2088 	EMR emr;
       
  2089 	DWORD ihPal;
       
  2090 	DWORD iStart;
       
  2091 	DWORD cEntries;
       
  2092 	PALETTEENTRY aPalEntries[1];
       
  2093 } EMRSETPALETTEENTRIES,*PEMRSETPALETTEENTRIES;
       
  2094 typedef struct tagEMRSETPIXELV {
       
  2095 	EMR emr;
       
  2096 	POINTL ptlPixel;
       
  2097 	COLORREF crColor;
       
  2098 } EMRSETPIXELV,*PEMRSETPIXELV;
       
  2099 typedef struct tagEMRSETVIEWPORTEXTEX {
       
  2100 	EMR emr;
       
  2101 	SIZEL szlExtent;
       
  2102 } EMRSETVIEWPORTEXTEX,*PEMRSETVIEWPORTEXTEX,EMRSETWINDOWEXTEX,*PEMRSETWINDOWEXTEX;
       
  2103 typedef struct tagEMRSETVIEWPORTORGEX {
       
  2104 	EMR emr;
       
  2105 	POINTL ptlOrigin;
       
  2106 } EMRSETVIEWPORTORGEX,*PEMRSETVIEWPORTORGEX,EMRSETWINDOWORGEX,*PEMRSETWINDOWORGEX,EMRSETBRUSHORGEX,*PEMRSETBRUSHORGEX;
       
  2107 typedef struct tagEMRSETWORLDTRANSFORM {
       
  2108 	EMR emr;
       
  2109 	XFORM xform;
       
  2110 } EMRSETWORLDTRANSFORM,*PEMRSETWORLDTRANSFORM;
       
  2111 typedef struct tagEMRSTRETCHBLT {
       
  2112 	EMR emr;
       
  2113 	RECTL rclBounds;
       
  2114 	LONG xDest;
       
  2115 	LONG yDest;
       
  2116 	LONG cxDest;
       
  2117 	LONG cyDest;
       
  2118 	DWORD dwRop;
       
  2119 	LONG xSrc;
       
  2120 	LONG ySrc;
       
  2121 	XFORM xformSrc;
       
  2122 	COLORREF crBkColorSrc;
       
  2123 	DWORD iUsageSrc;
       
  2124 	DWORD offBmiSrc;
       
  2125 	DWORD cbBmiSrc;
       
  2126 	DWORD offBitsSrc;
       
  2127 	DWORD cbBitsSrc;
       
  2128 	LONG cxSrc;
       
  2129 	LONG cySrc;
       
  2130 } EMRSTRETCHBLT,*PEMRSTRETCHBLT;
       
  2131 typedef struct tagEMRSTRETCHDIBITS {
       
  2132 	EMR emr;
       
  2133 	RECTL rclBounds;
       
  2134 	LONG xDest;
       
  2135 	LONG yDest;
       
  2136 	LONG xSrc;
       
  2137 	LONG ySrc;
       
  2138 	LONG cxSrc;
       
  2139 	LONG cySrc;
       
  2140 	DWORD offBmiSrc;
       
  2141 	DWORD cbBmiSrc;
       
  2142 	DWORD offBitsSrc;
       
  2143 	DWORD cbBitsSrc;
       
  2144 	DWORD iUsageSrc;
       
  2145 	DWORD dwRop;
       
  2146 	LONG cxDest;
       
  2147 	LONG cyDest;
       
  2148 } EMRSTRETCHDIBITS,*PEMRSTRETCHDIBITS;
       
  2149 typedef struct tagABORTPATH {
       
  2150 	EMR emr;
       
  2151 } EMRABORTPATH,*PEMRABORTPATH,EMRBEGINPATH,*PEMRBEGINPATH,EMRENDPATH,*PEMRENDPATH,EMRCLOSEFIGURE,*PEMRCLOSEFIGURE,EMRFLATTENPATH,*PEMRFLATTENPATH,EMRWIDENPATH,*PEMRWIDENPATH,EMRSETMETARGN,*PEMRSETMETARGN,EMRSAVEDC,*PEMRSAVEDC,EMRREALIZEPALETTE,*PEMRREALIZEPALETTE;
       
  2152 typedef struct tagEMRSELECTCLIPPATH {
       
  2153 	EMR emr;
       
  2154 	DWORD iMode;
       
  2155 } EMRSELECTCLIPPATH,*PEMRSELECTCLIPPATH,EMRSETBKMODE,*PEMRSETBKMODE,EMRSETMAPMODE,*PEMRSETMAPMODE,EMRSETPOLYFILLMODE,*PEMRSETPOLYFILLMODE,EMRSETROP2,*PEMRSETROP2,EMRSETSTRETCHBLTMODE,*PEMRSETSTRETCHBLTMODE,EMRSETTEXTALIGN,*PEMRSETTEXTALIGN,EMRENABLEICM,*PEMRENABLEICM;
       
  2156 #pragma pack(push,2)
       
  2157 typedef struct tagMETAHEADER {
       
  2158 	WORD mtType;
       
  2159 	WORD mtHeaderSize;
       
  2160 	WORD mtVersion;
       
  2161 	DWORD mtSize;
       
  2162 	WORD mtNoObjects;
       
  2163 	DWORD mtMaxRecord;
       
  2164 	WORD mtNoParameters;
       
  2165 } METAHEADER,*PMETAHEADER,*LPMETAHEADER;
       
  2166 #pragma pack(pop)
       
  2167 typedef struct tagENHMETAHEADER {
       
  2168 	DWORD iType;
       
  2169 	DWORD nSize;
       
  2170 	RECTL rclBounds;
       
  2171 	RECTL rclFrame;
       
  2172 	DWORD dSignature;
       
  2173 	DWORD nVersion;
       
  2174 	DWORD nBytes;
       
  2175 	DWORD nRecords;
       
  2176 	WORD nHandles;
       
  2177 	WORD sReserved;
       
  2178 	DWORD nDescription;
       
  2179 	DWORD offDescription;
       
  2180 	DWORD nPalEntries;
       
  2181 	SIZEL szlDevice;
       
  2182 	SIZEL szlMillimeters;
       
  2183 #if (WINVER >= 0x0400)
       
  2184 	DWORD cbPixelFormat;
       
  2185 	DWORD offPixelFormat;
       
  2186 	DWORD bOpenGL;
       
  2187 #endif
       
  2188 #if (WINVER >= 0x0500)
       
  2189 	SIZEL szlMicrometers;
       
  2190 #endif
       
  2191 } ENHMETAHEADER,*LPENHMETAHEADER;
       
  2192 typedef struct tagMETARECORD {
       
  2193 	DWORD rdSize;
       
  2194 	WORD rdFunction;
       
  2195 	WORD rdParm[1];
       
  2196 } METARECORD,*PMETARECORD,*LPMETARECORD;
       
  2197 typedef struct tagENHMETARECORD {
       
  2198 	DWORD iType;
       
  2199 	DWORD nSize;
       
  2200 	DWORD dParm[1];
       
  2201 } ENHMETARECORD,*LPENHMETARECORD;
       
  2202 typedef struct tagHANDLETABLE {
       
  2203 	HGDIOBJ objectHandle[1];
       
  2204 } HANDLETABLE,*LPHANDLETABLE;
       
  2205 typedef struct tagTEXTMETRICA {
       
  2206 	LONG tmHeight;
       
  2207 	LONG tmAscent;
       
  2208 	LONG tmDescent;
       
  2209 	LONG tmInternalLeading;
       
  2210 	LONG tmExternalLeading;
       
  2211 	LONG tmAveCharWidth;
       
  2212 	LONG tmMaxCharWidth;
       
  2213 	LONG tmWeight;
       
  2214 	LONG tmOverhang;
       
  2215 	LONG tmDigitizedAspectX;
       
  2216 	LONG tmDigitizedAspectY;
       
  2217 	BYTE tmFirstChar;
       
  2218 	BYTE tmLastChar;
       
  2219 	BYTE tmDefaultChar;
       
  2220 	BYTE tmBreakChar;
       
  2221 	BYTE tmItalic;
       
  2222 	BYTE tmUnderlined;
       
  2223 	BYTE tmStruckOut;
       
  2224 	BYTE tmPitchAndFamily;
       
  2225 	BYTE tmCharSet;
       
  2226 } TEXTMETRICA,*PTEXTMETRICA,*LPTEXTMETRICA;
       
  2227 typedef struct tagTEXTMETRICW {
       
  2228 	LONG tmHeight;
       
  2229 	LONG tmAscent;
       
  2230 	LONG tmDescent;
       
  2231 	LONG tmInternalLeading;
       
  2232 	LONG tmExternalLeading;
       
  2233 	LONG tmAveCharWidth;
       
  2234 	LONG tmMaxCharWidth;
       
  2235 	LONG tmWeight;
       
  2236 	LONG tmOverhang;
       
  2237 	LONG tmDigitizedAspectX;
       
  2238 	LONG tmDigitizedAspectY;
       
  2239 	WCHAR tmFirstChar;
       
  2240 	WCHAR tmLastChar;
       
  2241 	WCHAR tmDefaultChar;
       
  2242 	WCHAR tmBreakChar;
       
  2243 	BYTE tmItalic;
       
  2244 	BYTE tmUnderlined;
       
  2245 	BYTE tmStruckOut;
       
  2246 	BYTE tmPitchAndFamily;
       
  2247 	BYTE tmCharSet;
       
  2248 } TEXTMETRICW,*PTEXTMETRICW,*LPTEXTMETRICW;
       
  2249 typedef struct _RGNDATAHEADER {
       
  2250 	DWORD dwSize;
       
  2251 	DWORD iType;
       
  2252 	DWORD nCount;
       
  2253 	DWORD nRgnSize;
       
  2254 	RECT rcBound;
       
  2255 } RGNDATAHEADER;
       
  2256 typedef struct _RGNDATA {
       
  2257 	RGNDATAHEADER rdh;
       
  2258 	char Buffer[1];
       
  2259 } RGNDATA,*PRGNDATA, *LPRGNDATA;
       
  2260 /* for GetRandomRgn */
       
  2261 #define SYSRGN  4
       
  2262 typedef struct tagGCP_RESULTSA {
       
  2263 	DWORD lStructSize;
       
  2264 	LPSTR lpOutString;
       
  2265 	UINT *lpOrder;
       
  2266 	INT *lpDx;
       
  2267 	INT *lpCaretPos;
       
  2268 	LPSTR lpClass;
       
  2269 	LPWSTR lpGlyphs;
       
  2270 	UINT nGlyphs;
       
  2271 	UINT nMaxFit;
       
  2272 } GCP_RESULTSA,*LPGCP_RESULTSA;
       
  2273 typedef struct tagGCP_RESULTSW {
       
  2274 	DWORD lStructSize;
       
  2275 	LPWSTR lpOutString;
       
  2276 	UINT *lpOrder;
       
  2277 	INT *lpDx;
       
  2278 	INT *lpCaretPos;
       
  2279 	LPWSTR lpClass;
       
  2280 	LPWSTR lpGlyphs;
       
  2281 	UINT nGlyphs;
       
  2282 	UINT nMaxFit;
       
  2283 } GCP_RESULTSW,*LPGCP_RESULTSW;
       
  2284 typedef struct _GLYPHMETRICS {
       
  2285 	UINT gmBlackBoxX;
       
  2286 	UINT gmBlackBoxY;
       
  2287 	POINT gmptGlyphOrigin;
       
  2288 	short gmCellIncX;
       
  2289 	short gmCellIncY;
       
  2290 } GLYPHMETRICS,*LPGLYPHMETRICS;
       
  2291 #if (_WIN32_WINNT >= 0x0500)
       
  2292 typedef struct tagWCRANGE
       
  2293 {
       
  2294 	WCHAR wcLow;
       
  2295 	USHORT cGlyphs;
       
  2296 } WCRANGE, *PWCRANGE, *LPWCRANGE;
       
  2297 typedef struct tagGLYPHSET
       
  2298 {
       
  2299 	DWORD cbThis;
       
  2300 	DWORD flAccel;
       
  2301 	DWORD cGlyphsSupported;
       
  2302 	DWORD cRanges;
       
  2303 	WCRANGE ranges[1];
       
  2304 } GLYPHSET, *PGLYPHSET, *LPGLYPHSET;
       
  2305 #endif
       
  2306 typedef struct tagKERNINGPAIR {
       
  2307 	WORD wFirst;
       
  2308 	WORD wSecond;
       
  2309 	int iKernAmount;
       
  2310 } KERNINGPAIR,*LPKERNINGPAIR;
       
  2311 typedef struct _FIXED {
       
  2312 	WORD fract;
       
  2313 	short value;
       
  2314 } FIXED;
       
  2315 typedef struct _MAT2 {
       
  2316 	FIXED eM11;
       
  2317 	FIXED eM12;
       
  2318 	FIXED eM21;
       
  2319 	FIXED eM22;
       
  2320 } MAT2,*LPMAT2;
       
  2321 typedef struct _OUTLINETEXTMETRICA {
       
  2322 	UINT otmSize;
       
  2323 	TEXTMETRICA otmTextMetrics;
       
  2324 	BYTE otmFiller;
       
  2325 	PANOSE otmPanoseNumber;
       
  2326 	UINT otmfsSelection;
       
  2327 	UINT otmfsType;
       
  2328 	int otmsCharSlopeRise;
       
  2329 	int otmsCharSlopeRun;
       
  2330 	int otmItalicAngle;
       
  2331 	UINT otmEMSquare;
       
  2332 	int otmAscent;
       
  2333 	int otmDescent;
       
  2334 	UINT otmLineGap;
       
  2335 	UINT otmsCapEmHeight;
       
  2336 	UINT otmsXHeight;
       
  2337 	RECT otmrcFontBox;
       
  2338 	int otmMacAscent;
       
  2339 	int otmMacDescent;
       
  2340 	UINT otmMacLineGap;
       
  2341 	UINT otmusMinimumPPEM;
       
  2342 	POINT otmptSubscriptSize;
       
  2343 	POINT otmptSubscriptOffset;
       
  2344 	POINT otmptSuperscriptSize;
       
  2345 	POINT otmptSuperscriptOffset;
       
  2346 	UINT otmsStrikeoutSize;
       
  2347 	int otmsStrikeoutPosition;
       
  2348 	int otmsUnderscoreSize;
       
  2349 	int otmsUnderscorePosition;
       
  2350 	PSTR otmpFamilyName;
       
  2351 	PSTR otmpFaceName;
       
  2352 	PSTR otmpStyleName;
       
  2353 	PSTR otmpFullName;
       
  2354 } OUTLINETEXTMETRICA,*POUTLINETEXTMETRICA,*LPOUTLINETEXTMETRICA;
       
  2355 typedef struct _OUTLINETEXTMETRICW {
       
  2356 	UINT otmSize;
       
  2357 	TEXTMETRICW otmTextMetrics;
       
  2358 	BYTE otmFiller;
       
  2359 	PANOSE otmPanoseNumber;
       
  2360 	UINT otmfsSelection;
       
  2361 	UINT otmfsType;
       
  2362 	int otmsCharSlopeRise;
       
  2363 	int otmsCharSlopeRun;
       
  2364 	int otmItalicAngle;
       
  2365 	UINT otmEMSquare;
       
  2366 	int otmAscent;
       
  2367 	int otmDescent;
       
  2368 	UINT otmLineGap;
       
  2369 	UINT otmsCapEmHeight;
       
  2370 	UINT otmsXHeight;
       
  2371 	RECT otmrcFontBox;
       
  2372 	int otmMacAscent;
       
  2373 	int otmMacDescent;
       
  2374 	UINT otmMacLineGap;
       
  2375 	UINT otmusMinimumPPEM;
       
  2376 	POINT otmptSubscriptSize;
       
  2377 	POINT otmptSubscriptOffset;
       
  2378 	POINT otmptSuperscriptSize;
       
  2379 	POINT otmptSuperscriptOffset;
       
  2380 	UINT otmsStrikeoutSize;
       
  2381 	int otmsStrikeoutPosition;
       
  2382 	int otmsUnderscoreSize;
       
  2383 	int otmsUnderscorePosition;
       
  2384 	PSTR otmpFamilyName;
       
  2385 	PSTR otmpFaceName;
       
  2386 	PSTR otmpStyleName;
       
  2387 	PSTR otmpFullName;
       
  2388 } OUTLINETEXTMETRICW,*POUTLINETEXTMETRICW,*LPOUTLINETEXTMETRICW;
       
  2389 typedef struct _RASTERIZER_STATUS {
       
  2390 	short nSize;
       
  2391 	short wFlags;
       
  2392 	short nLanguageID;
       
  2393 } RASTERIZER_STATUS,*LPRASTERIZER_STATUS;
       
  2394 typedef struct _POLYTEXTA {
       
  2395 	int x;
       
  2396 	int y;
       
  2397 	UINT n;
       
  2398 	LPCSTR lpstr;
       
  2399 	UINT uiFlags;
       
  2400 	RECT rcl;
       
  2401 	int *pdx;
       
  2402 } POLYTEXTA, *PPOLYTEXTA, *LPPOLYTEXTA;
       
  2403 typedef struct _POLYTEXTW {
       
  2404 	int x;
       
  2405 	int y;
       
  2406 	UINT n;
       
  2407 	LPCWSTR lpstr;
       
  2408 	UINT uiFlags;
       
  2409 	RECT rcl;
       
  2410 	int *pdx;
       
  2411 } POLYTEXTW, *PPOLYTEXTW, *LPPOLYTEXTW;
       
  2412 typedef struct tagPIXELFORMATDESCRIPTOR {
       
  2413 	WORD nSize;
       
  2414 	WORD nVersion;
       
  2415 	DWORD dwFlags;
       
  2416 	BYTE iPixelType;
       
  2417 	BYTE cColorBits;
       
  2418 	BYTE cRedBits;
       
  2419 	BYTE cRedShift;
       
  2420 	BYTE cGreenBits;
       
  2421 	BYTE cGreenShift;
       
  2422 	BYTE cBlueBits;
       
  2423 	BYTE cBlueShift;
       
  2424 	BYTE cAlphaBits;
       
  2425 	BYTE cAlphaShift;
       
  2426 	BYTE cAccumBits;
       
  2427 	BYTE cAccumRedBits;
       
  2428 	BYTE cAccumGreenBits;
       
  2429 	BYTE cAccumBlueBits;
       
  2430 	BYTE cAccumAlphaBits;
       
  2431 	BYTE cDepthBits;
       
  2432 	BYTE cStencilBits;
       
  2433 	BYTE cAuxBuffers;
       
  2434 	BYTE iLayerType;
       
  2435 	BYTE bReserved;
       
  2436 	DWORD dwLayerMask;
       
  2437 	DWORD dwVisibleMask;
       
  2438 	DWORD dwDamageMask;
       
  2439 } PIXELFORMATDESCRIPTOR,*PPIXELFORMATDESCRIPTOR,*LPPIXELFORMATDESCRIPTOR;
       
  2440 typedef struct tagMETAFILEPICT {
       
  2441 	LONG mm;
       
  2442 	LONG xExt;
       
  2443 	LONG yExt;
       
  2444 	HMETAFILE hMF;
       
  2445 } METAFILEPICT,*LPMETAFILEPICT;
       
  2446 typedef struct tagLOCALESIGNATURE {
       
  2447 	DWORD lsUsb[4];
       
  2448 	DWORD lsCsbDefault[2];
       
  2449 	DWORD lsCsbSupported[2];
       
  2450 } LOCALESIGNATURE,*PLOCALESIGNATURE,*LPLOCALESIGNATURE;
       
  2451 typedef LONG LCSTYPE;
       
  2452 #pragma pack(push,4)
       
  2453 typedef struct tagNEWTEXTMETRICA {
       
  2454 	LONG tmHeight;
       
  2455 	LONG tmAscent;
       
  2456 	LONG tmDescent;
       
  2457 	LONG tmInternalLeading;
       
  2458 	LONG tmExternalLeading;
       
  2459 	LONG tmAveCharWidth;
       
  2460 	LONG tmMaxCharWidth;
       
  2461 	LONG tmWeight;
       
  2462 	LONG tmOverhang;
       
  2463 	LONG tmDigitizedAspectX;
       
  2464 	LONG tmDigitizedAspectY;
       
  2465 	BYTE tmFirstChar;
       
  2466 	BYTE tmLastChar;
       
  2467 	BYTE tmDefaultChar;
       
  2468 	BYTE tmBreakChar;
       
  2469 	BYTE tmItalic;
       
  2470 	BYTE tmUnderlined;
       
  2471 	BYTE tmStruckOut;
       
  2472 	BYTE tmPitchAndFamily;
       
  2473 	BYTE tmCharSet;
       
  2474 	DWORD ntmFlags;
       
  2475 	UINT ntmSizeEM;
       
  2476 	UINT ntmCellHeight;
       
  2477 	UINT ntmAvgWidth;
       
  2478 } NEWTEXTMETRICA,*PNEWTEXTMETRICA,*LPNEWTEXTMETRICA;
       
  2479 typedef struct tagNEWTEXTMETRICW {
       
  2480 	LONG tmHeight;
       
  2481 	LONG tmAscent;
       
  2482 	LONG tmDescent;
       
  2483 	LONG tmInternalLeading;
       
  2484 	LONG tmExternalLeading;
       
  2485 	LONG tmAveCharWidth;
       
  2486 	LONG tmMaxCharWidth;
       
  2487 	LONG tmWeight;
       
  2488 	LONG tmOverhang;
       
  2489 	LONG tmDigitizedAspectX;
       
  2490 	LONG tmDigitizedAspectY;
       
  2491 	WCHAR tmFirstChar;
       
  2492 	WCHAR tmLastChar;
       
  2493 	WCHAR tmDefaultChar;
       
  2494 	WCHAR tmBreakChar;
       
  2495 	BYTE tmItalic;
       
  2496 	BYTE tmUnderlined;
       
  2497 	BYTE tmStruckOut;
       
  2498 	BYTE tmPitchAndFamily;
       
  2499 	BYTE tmCharSet;
       
  2500 	DWORD ntmFlags;
       
  2501 	UINT ntmSizeEM;
       
  2502 	UINT ntmCellHeight;
       
  2503 	UINT ntmAvgWidth;
       
  2504 } NEWTEXTMETRICW,*PNEWTEXTMETRICW,*LPNEWTEXTMETRICW;
       
  2505 #pragma pack(pop)
       
  2506 typedef struct tagNEWTEXTMETRICEXA {
       
  2507 	NEWTEXTMETRICA ntmTm;
       
  2508 	FONTSIGNATURE ntmFontSig;
       
  2509 } NEWTEXTMETRICEXA;
       
  2510 typedef struct tagNEWTEXTMETRICEXW {
       
  2511 	NEWTEXTMETRICW ntmTm;
       
  2512 	FONTSIGNATURE ntmFontSig;
       
  2513 } NEWTEXTMETRICEXW;
       
  2514 typedef struct tagPELARRAY {
       
  2515 	LONG paXCount;
       
  2516 	LONG paYCount;
       
  2517 	LONG paXExt;
       
  2518 	LONG paYExt;
       
  2519 	BYTE paRGBs;
       
  2520 } PELARRAY,*PPELARRAY,*LPPELARRAY;
       
  2521 typedef struct tagENUMLOGFONTA {
       
  2522 	LOGFONTA elfLogFont;
       
  2523 	BYTE elfFullName[LF_FULLFACESIZE];
       
  2524 	BYTE elfStyle[LF_FACESIZE];
       
  2525 } ENUMLOGFONTA,*LPENUMLOGFONTA;
       
  2526 typedef struct tagENUMLOGFONTW {
       
  2527 	LOGFONTW elfLogFont;
       
  2528 	WCHAR elfFullName[LF_FULLFACESIZE];
       
  2529 	WCHAR elfStyle[LF_FACESIZE];
       
  2530 } ENUMLOGFONTW,*LPENUMLOGFONTW;
       
  2531 typedef struct tagENUMLOGFONTEXA {
       
  2532 	LOGFONTA elfLogFont;
       
  2533 	BYTE elfFullName[LF_FULLFACESIZE];
       
  2534 	BYTE elfStyle[LF_FACESIZE];
       
  2535 	BYTE elfScript[LF_FACESIZE];
       
  2536 } ENUMLOGFONTEXA,*LPENUMLOGFONTEXA;
       
  2537 typedef struct tagENUMLOGFONTEXW {
       
  2538 	LOGFONTW elfLogFont;
       
  2539 	WCHAR elfFullName[LF_FULLFACESIZE];
       
  2540 	WCHAR elfStyle[LF_FACESIZE];
       
  2541 	WCHAR elfScript[LF_FACESIZE];
       
  2542 } ENUMLOGFONTEXW,*LPENUMLOGFONTEXW;
       
  2543 typedef struct tagPOINTFX {
       
  2544 	FIXED x;
       
  2545 	FIXED y;
       
  2546 } POINTFX,*LPPOINTFX;
       
  2547 typedef struct tagTTPOLYCURVE {
       
  2548 	WORD wType;
       
  2549 	WORD cpfx;
       
  2550 	POINTFX apfx[1];
       
  2551 } TTPOLYCURVE,*LPTTPOLYCURVE;
       
  2552 typedef struct tagTTPOLYGONHEADER {
       
  2553 	DWORD cb;
       
  2554 	DWORD dwType;
       
  2555 	POINTFX pfxStart;
       
  2556 } TTPOLYGONHEADER,*LPTTPOLYGONHEADER;
       
  2557 typedef struct _POINTFLOAT {
       
  2558 	FLOAT x;
       
  2559 	FLOAT y;
       
  2560 } POINTFLOAT,*PPOINTFLOAT;
       
  2561 typedef struct _GLYPHMETRICSFLOAT {
       
  2562 	FLOAT gmfBlackBoxX;
       
  2563 	FLOAT gmfBlackBoxY;
       
  2564 	POINTFLOAT gmfptGlyphOrigin;
       
  2565 	FLOAT gmfCellIncX;
       
  2566 	FLOAT gmfCellIncY;
       
  2567 } GLYPHMETRICSFLOAT,*PGLYPHMETRICSFLOAT,*LPGLYPHMETRICSFLOAT;
       
  2568 typedef struct tagLAYERPLANEDESCRIPTOR {
       
  2569 	WORD nSize;
       
  2570 	WORD nVersion;
       
  2571 	DWORD dwFlags;
       
  2572 	BYTE iPixelType;
       
  2573 	BYTE cColorBits;
       
  2574 	BYTE cRedBits;
       
  2575 	BYTE cRedShift;
       
  2576 	BYTE cGreenBits;
       
  2577 	BYTE cGreenShift;
       
  2578 	BYTE cBlueBits;
       
  2579 	BYTE cBlueShift;
       
  2580 	BYTE cAlphaBits;
       
  2581 	BYTE cAlphaShift;
       
  2582 	BYTE cAccumBits;
       
  2583 	BYTE cAccumRedBits;
       
  2584 	BYTE cAccumGreenBits;
       
  2585 	BYTE cAccumBlueBits;
       
  2586 	BYTE cAccumAlphaBits;
       
  2587 	BYTE cDepthBits;
       
  2588 	BYTE cStencilBits;
       
  2589 	BYTE cAuxBuffers;
       
  2590 	BYTE iLayerPlane;
       
  2591 	BYTE bReserved;
       
  2592 	COLORREF crTransparent;
       
  2593 } LAYERPLANEDESCRIPTOR,*PLAYERPLANEDESCRIPTOR,*LPLAYERPLANEDESCRIPTOR;
       
  2594 typedef struct _BLENDFUNCTION {
       
  2595     BYTE BlendOp;
       
  2596     BYTE BlendFlags;
       
  2597     BYTE SourceConstantAlpha;
       
  2598     BYTE AlphaFormat; 
       
  2599 } BLENDFUNCTION,*PBLENDFUNCTION,*LPBLENDFUNCTION; 
       
  2600 #define MM_MAX_NUMAXES  16
       
  2601 typedef struct _DESIGNVECTOR {
       
  2602 	DWORD dvReserved;
       
  2603 	DWORD dvNumAxes;
       
  2604 	LONG dvValues[MM_MAX_NUMAXES];
       
  2605 } DESIGNVECTOR, *PDESIGNVECTOR, FAR *LPDESIGNVECTOR;
       
  2606 #if _WIN32_WINNT >= 0x0500
       
  2607 typedef struct tagENUMLOGFONTEXDVA
       
  2608 {
       
  2609 	ENUMLOGFONTEXA elfEnumLogfontEx;
       
  2610 	DESIGNVECTOR elfDesignVector;
       
  2611 } ENUMLOGFONTEXDVA, *PENUMLOGFONTEXDVA, *LPENUMLOGFONTEXDVA;
       
  2612 typedef struct tagENUMLOGFONTEXDVW
       
  2613 {
       
  2614 	ENUMLOGFONTEXW elfEnumLogfontEx;
       
  2615 	DESIGNVECTOR elfDesignVector;
       
  2616 } ENUMLOGFONTEXDVW, *PENUMLOGFONTEXDVW, *LPENUMLOGFONTEXDVW;
       
  2617 #endif /* _WIN32_WINNT >= 0x0500 */
       
  2618 typedef USHORT COLOR16;
       
  2619 typedef struct _TRIVERTEX {
       
  2620 	LONG x;
       
  2621 	LONG y;
       
  2622 	COLOR16 Red;
       
  2623 	COLOR16 Green;
       
  2624 	COLOR16 Blue;
       
  2625 	COLOR16 Alpha;
       
  2626 } TRIVERTEX, *PTRIVERTEX, *LPTRIVERTEX;
       
  2627 typedef struct _GRADIENT_TRIANGLE {
       
  2628 	ULONG Vertex1;
       
  2629 	ULONG Vertex2;
       
  2630 	ULONG Vertex3;
       
  2631 } GRADIENT_TRIANGLE,*PGRADIENT_TRIANGLE,*LPGRADIENT_TRIANGLE;
       
  2632 typedef struct _GRADIENT_RECT {
       
  2633 	ULONG UpperLeft;
       
  2634 	ULONG LowerRight;
       
  2635 }GRADIENT_RECT,*PGRADIENT_RECT,*LPGRADIENT_RECT;
       
  2636 typedef struct _DISPLAY_DEVICEA {
       
  2637   DWORD cb;
       
  2638   CHAR DeviceName[32];
       
  2639   CHAR DeviceString[128];
       
  2640   DWORD StateFlags;
       
  2641   CHAR DeviceID[128];
       
  2642   CHAR DeviceKey[128];
       
  2643 } DISPLAY_DEVICEA, *PDISPLAY_DEVICEA, *LPDISPLAY_DEVICEA;
       
  2644 typedef struct _DISPLAY_DEVICEW {
       
  2645   DWORD cb;
       
  2646   WCHAR DeviceName[32];
       
  2647   WCHAR DeviceString[128];
       
  2648   DWORD StateFlags;
       
  2649   WCHAR DeviceID[128];
       
  2650   WCHAR DeviceKey[128];
       
  2651 } DISPLAY_DEVICEW, *PDISPLAY_DEVICEW, *LPDISPLAY_DEVICEW;
       
  2652 
       
  2653 typedef BOOL (CALLBACK *ABORTPROC)(HDC,int);
       
  2654 typedef int (CALLBACK *MFENUMPROC)(HDC,HANDLETABLE*,METARECORD*,int,LPARAM);
       
  2655 typedef int (CALLBACK *ENHMFENUMPROC)(HDC,HANDLETABLE*,ENHMETARECORD*,int,LPARAM);
       
  2656 typedef int (CALLBACK *OLDFONTENUMPROCA)(const LOGFONTA*,const TEXTMETRICA*,DWORD,LPARAM);
       
  2657 typedef int (CALLBACK *OLDFONTENUMPROCW)(const LOGFONTW*,const TEXTMETRICW*,DWORD,LPARAM);
       
  2658 typedef OLDFONTENUMPROCA FONTENUMPROCA;
       
  2659 typedef OLDFONTENUMPROCW FONTENUMPROCW;
       
  2660 typedef int (CALLBACK *ICMENUMPROCA)(LPSTR,LPARAM);
       
  2661 typedef int (CALLBACK *ICMENUMPROCW)(LPWSTR,LPARAM);
       
  2662 typedef void (CALLBACK *GOBJENUMPROC)(LPVOID,LPARAM);
       
  2663 typedef void (CALLBACK *LINEDDAPROC)(int,int,LPARAM);
       
  2664 typedef UINT (CALLBACK *LPFNDEVMODE)(HWND,HMODULE,LPDEVMODEA,LPSTR,LPSTR,LPDEVMODEA,LPSTR,UINT);
       
  2665 typedef DWORD (CALLBACK *LPFNDEVCAPS)(LPSTR,LPSTR,UINT,LPSTR,LPDEVMODEA);
       
  2666 
       
  2667 #define MAKEPOINTS(l) (*((POINTS*)&(l)))
       
  2668 #define MAKEROP4(f,b)	(DWORD)((((b)<<8)&0xFF000000)|(f))
       
  2669 
       
  2670 #define GetCValue(cmyk) ((BYTE)(cmyk))
       
  2671 #define GetMValue(cmyk) ((BYTE)((cmyk)>> 8))
       
  2672 #define GetYValue(cmyk) ((BYTE)((cmyk)>>16))
       
  2673 #define GetKValue(cmyk) ((BYTE)((cmyk)>>24))
       
  2674 #define CMYK(c,m,y,k) ((COLORREF)((BYTE)(k)|((BYTE)(y)<<8)|((BYTE)(m)<<16)|((BYTE)(c)<<24)))
       
  2675 
       
  2676 #define GetRValue(c) ((BYTE)(c))
       
  2677 #define GetGValue(c) ((BYTE)(((WORD)(c))>>8))
       
  2678 #define GetBValue(c) ((BYTE)((c)>>16))
       
  2679 #define RGB(r,g,b) ((COLORREF)((BYTE)(r)|((BYTE)(g) << 8)|((BYTE)(b) << 16)))
       
  2680 
       
  2681 #define PALETTEINDEX(i)	((0x01000000|(COLORREF)(WORD)(i)))
       
  2682 #define PALETTERGB(r,g,b)	(0x02000000|RGB(r,g,b))
       
  2683 
       
  2684 WINGDIAPI int WINAPI AbortDoc(HDC);
       
  2685 WINGDIAPI BOOL WINAPI AbortPath(HDC);
       
  2686 WINGDIAPI int WINAPI AddFontResourceA(LPCSTR);
       
  2687 WINGDIAPI int WINAPI AddFontResourceW(LPCWSTR);
       
  2688 #if (_WIN32_WINNT >= 0x0500)
       
  2689 WINGDIAPI HANDLE WINAPI AddFontMemResourceEx(PVOID,DWORD,PVOID,DWORD *);
       
  2690 WINGDIAPI int WINAPI AddFontResourceExA(LPCSTR,DWORD,PVOID);
       
  2691 WINGDIAPI int WINAPI AddFontResourceExW(LPCWSTR,DWORD,PVOID);
       
  2692 #endif
       
  2693 WINGDIAPI BOOL WINAPI AngleArc(HDC,int,int,DWORD,FLOAT,FLOAT);
       
  2694 WINGDIAPI BOOL WINAPI AnimatePalette(HPALETTE,UINT,UINT,const PALETTEENTRY*);
       
  2695 WINGDIAPI BOOL WINAPI Arc(HDC,int,int,int,int,int,int,int,int);
       
  2696 WINGDIAPI BOOL WINAPI ArcTo(HDC,int,int,int,int,int,int,int,int);
       
  2697 WINGDIAPI BOOL WINAPI BeginPath(HDC);
       
  2698 WINGDIAPI BOOL WINAPI BitBlt(HDC,int,int,int,int,HDC,int,int,DWORD);
       
  2699 WINGDIAPI BOOL WINAPI CancelDC(HDC);
       
  2700 WINGDIAPI BOOL WINAPI CheckColorsInGamut(HDC,PVOID,PVOID,DWORD);
       
  2701 WINGDIAPI BOOL WINAPI Chord(HDC,int,int,int,int,int,int,int,int);
       
  2702 WINGDIAPI int WINAPI ChoosePixelFormat(HDC,CONST PIXELFORMATDESCRIPTOR*);
       
  2703 WINGDIAPI HENHMETAFILE WINAPI CloseEnhMetaFile(HDC);
       
  2704 WINGDIAPI BOOL WINAPI CloseFigure(HDC);
       
  2705 WINGDIAPI HMETAFILE WINAPI CloseMetaFile(HDC);
       
  2706 #if (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500)
       
  2707 WINGDIAPI BOOL WINAPI ColorCorrectPalette(HDC,HPALETTE,DWORD,DWORD);
       
  2708 WINGDIAPI BOOL WINAPI ColorMatchToTarget(HDC,HDC,DWORD);
       
  2709 #endif
       
  2710 WINGDIAPI int WINAPI CombineRgn(HRGN,HRGN,HRGN,int);
       
  2711 WINGDIAPI BOOL WINAPI CombineTransform(LPXFORM,const XFORM*,const XFORM*);
       
  2712 WINGDIAPI HENHMETAFILE WINAPI CopyEnhMetaFileA(HENHMETAFILE,LPCSTR);
       
  2713 WINGDIAPI HENHMETAFILE WINAPI CopyEnhMetaFileW(HENHMETAFILE,LPCWSTR);
       
  2714 WINGDIAPI HMETAFILE WINAPI CopyMetaFileA(HMETAFILE,LPCSTR);
       
  2715 WINGDIAPI HMETAFILE WINAPI CopyMetaFileW(HMETAFILE,LPCWSTR);
       
  2716 WINGDIAPI HBITMAP WINAPI CreateBitmap(int,int,UINT,UINT,PCVOID);
       
  2717 WINGDIAPI HBITMAP WINAPI CreateBitmapIndirect(const BITMAP*);
       
  2718 WINGDIAPI HBRUSH WINAPI CreateBrushIndirect(const LOGBRUSH*);
       
  2719 WINGDIAPI HCOLORSPACE WINAPI CreateColorSpaceA(LPLOGCOLORSPACEA);
       
  2720 WINGDIAPI HCOLORSPACE WINAPI CreateColorSpaceW(LPLOGCOLORSPACEW);
       
  2721 WINGDIAPI HBITMAP WINAPI CreateCompatibleBitmap(HDC,int,int);
       
  2722 WINGDIAPI HDC WINAPI CreateCompatibleDC(HDC);
       
  2723 WINGDIAPI HDC WINAPI CreateDCA(LPCSTR,LPCSTR,LPCSTR,const DEVMODEA*);
       
  2724 WINGDIAPI HDC WINAPI CreateDCW(LPCWSTR,LPCWSTR,LPCWSTR,const DEVMODEW*);
       
  2725 WINGDIAPI HBITMAP WINAPI CreateDIBitmap(HDC,const BITMAPINFOHEADER*,DWORD,PCVOID,const BITMAPINFO*,UINT);
       
  2726 WINGDIAPI HBRUSH WINAPI CreateDIBPatternBrush(HGLOBAL,UINT);
       
  2727 WINGDIAPI HBRUSH WINAPI CreateDIBPatternBrushPt(PCVOID,UINT);
       
  2728 WINGDIAPI HBITMAP WINAPI CreateDIBSection(HDC,const BITMAPINFO*,UINT,void**,HANDLE,DWORD);
       
  2729 WINGDIAPI HBITMAP WINAPI CreateDiscardableBitmap(HDC,int,int);
       
  2730 WINGDIAPI HRGN WINAPI CreateEllipticRgn(int,int,int,int);
       
  2731 WINGDIAPI HRGN WINAPI CreateEllipticRgnIndirect(LPCRECT);
       
  2732 WINGDIAPI HDC WINAPI CreateEnhMetaFileA(HDC,LPCSTR,LPCRECT,LPCSTR);
       
  2733 WINGDIAPI HDC WINAPI CreateEnhMetaFileW(HDC,LPCWSTR,LPCRECT,LPCWSTR);
       
  2734 WINGDIAPI HFONT WINAPI CreateFontA(int,int,int,int,int,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPCSTR);
       
  2735 WINGDIAPI HFONT WINAPI CreateFontW(int,int,int,int,int,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPCWSTR);
       
  2736 WINGDIAPI HFONT WINAPI CreateFontIndirectA(const LOGFONTA*);
       
  2737 WINGDIAPI HFONT WINAPI CreateFontIndirectW(const LOGFONTW*);
       
  2738 WINGDIAPI HPALETTE WINAPI CreateHalftonePalette(HDC);
       
  2739 WINGDIAPI HBRUSH WINAPI CreateHatchBrush(int,COLORREF);
       
  2740 WINGDIAPI HDC WINAPI CreateICA(LPCSTR,LPCSTR,LPCSTR,const DEVMODEA*);
       
  2741 WINGDIAPI HDC WINAPI CreateICW(LPCWSTR,LPCWSTR,LPCWSTR,const DEVMODEW*);
       
  2742 WINGDIAPI HDC WINAPI CreateMetaFileA(LPCSTR);
       
  2743 WINGDIAPI HDC WINAPI CreateMetaFileW(LPCWSTR);
       
  2744 WINGDIAPI HPALETTE WINAPI CreatePalette(const LOGPALETTE*);
       
  2745 WINGDIAPI HBRUSH WINAPI CreatePatternBrush(HBITMAP);
       
  2746 WINGDIAPI HPEN WINAPI CreatePen(int,int,COLORREF);
       
  2747 WINGDIAPI HPEN WINAPI CreatePenIndirect(const LOGPEN*);
       
  2748 WINGDIAPI HRGN WINAPI CreatePolygonRgn(const POINT*,int,int);
       
  2749 WINGDIAPI HRGN WINAPI CreatePolyPolygonRgn(const POINT*,const INT*,int,int);
       
  2750 WINGDIAPI HRGN WINAPI CreateRectRgn(int,int,int,int);
       
  2751 WINGDIAPI HRGN WINAPI CreateRectRgnIndirect(LPCRECT);
       
  2752 WINGDIAPI HRGN WINAPI CreateRoundRectRgn(int,int,int,int,int,int);
       
  2753 WINGDIAPI BOOL WINAPI CreateScalableFontResourceA(DWORD,LPCSTR,LPCSTR,LPCSTR);
       
  2754 WINGDIAPI BOOL WINAPI CreateScalableFontResourceW(DWORD,LPCWSTR,LPCWSTR,LPCWSTR);
       
  2755 WINGDIAPI HBRUSH WINAPI CreateSolidBrush(COLORREF);
       
  2756 WINGDIAPI BOOL WINAPI DeleteColorSpace(HCOLORSPACE);
       
  2757 WINGDIAPI BOOL WINAPI DeleteDC(HDC);
       
  2758 WINGDIAPI BOOL WINAPI DeleteEnhMetaFile(HENHMETAFILE);
       
  2759 WINGDIAPI BOOL WINAPI DeleteMetaFile(HMETAFILE);
       
  2760 WINGDIAPI BOOL WINAPI DeleteObject(HGDIOBJ);
       
  2761 WINGDIAPI int WINAPI DescribePixelFormat(HDC,int,UINT,LPPIXELFORMATDESCRIPTOR);
       
  2762 WINGDIAPI DWORD WINAPI DeviceCapabilitiesA(LPCSTR,LPCSTR,WORD,LPSTR,const DEVMODEA*);
       
  2763 WINGDIAPI DWORD WINAPI DeviceCapabilitiesW(LPCWSTR,LPCWSTR,WORD,LPWSTR,const DEVMODEW*);
       
  2764 WINGDIAPI BOOL WINAPI DPtoLP(HDC,LPPOINT,int);
       
  2765 WINGDIAPI int WINAPI DrawEscape(HDC,int,int,LPCSTR);
       
  2766 WINGDIAPI BOOL WINAPI Ellipse(HDC,int,int,int,int);
       
  2767 WINGDIAPI int WINAPI EndDoc(HDC);
       
  2768 WINGDIAPI int WINAPI EndPage(HDC);
       
  2769 WINGDIAPI BOOL WINAPI EndPath(HDC);
       
  2770 WINGDIAPI BOOL WINAPI EnumEnhMetaFile(HDC,HENHMETAFILE,ENHMFENUMPROC,PVOID,LPCRECT);
       
  2771 WINGDIAPI int WINAPI EnumFontFamiliesA(HDC,LPCSTR,FONTENUMPROCA,LPARAM);
       
  2772 WINGDIAPI int WINAPI EnumFontFamiliesW(HDC,LPCWSTR,FONTENUMPROCW,LPARAM);
       
  2773 WINGDIAPI int WINAPI EnumFontFamiliesExA(HDC,PLOGFONTA,FONTENUMPROCA,LPARAM,DWORD);
       
  2774 WINGDIAPI int WINAPI EnumFontFamiliesExW(HDC,PLOGFONTW,FONTENUMPROCW,LPARAM,DWORD);
       
  2775 WINGDIAPI int WINAPI EnumFontsA(HDC,LPCSTR,FONTENUMPROCA,LPARAM);
       
  2776 WINGDIAPI int WINAPI EnumFontsW(HDC,LPCWSTR,FONTENUMPROCW,LPARAM);
       
  2777 WINGDIAPI int WINAPI EnumICMProfilesA(HDC,ICMENUMPROCA,LPARAM);
       
  2778 WINGDIAPI int WINAPI EnumICMProfilesW(HDC,ICMENUMPROCW,LPARAM);
       
  2779 WINGDIAPI BOOL WINAPI EnumMetaFile(HDC,HMETAFILE,MFENUMPROC,LPARAM);
       
  2780 WINGDIAPI int WINAPI EnumObjects(HDC,int,GOBJENUMPROC,LPARAM);
       
  2781 WINGDIAPI BOOL WINAPI EqualRgn(HRGN,HRGN);
       
  2782 WINGDIAPI int WINAPI Escape(HDC,int,int,LPCSTR,PVOID);
       
  2783 WINGDIAPI int WINAPI ExcludeClipRect(HDC,int,int,int,int);
       
  2784 WINGDIAPI int WINAPI ExcludeUpdateRgn(HDC,HWND);
       
  2785 WINGDIAPI HPEN WINAPI ExtCreatePen(DWORD,DWORD,const LOGBRUSH*,DWORD,const DWORD*);
       
  2786 WINGDIAPI HRGN WINAPI ExtCreateRegion(const XFORM*,DWORD,const RGNDATA*);
       
  2787 WINGDIAPI int WINAPI ExtEscape(HDC,int,int,LPCSTR,int,LPSTR);
       
  2788 WINGDIAPI BOOL WINAPI ExtFloodFill(HDC,int,int,COLORREF,UINT);
       
  2789 WINGDIAPI int WINAPI ExtSelectClipRgn(HDC,HRGN,int);
       
  2790 WINGDIAPI BOOL WINAPI ExtTextOutA(HDC,int,int,UINT,LPCRECT,LPCSTR,UINT,const INT*);
       
  2791 WINGDIAPI BOOL WINAPI ExtTextOutW(HDC,int,int,UINT,LPCRECT,LPCWSTR,UINT,const INT*);
       
  2792 WINGDIAPI BOOL WINAPI FillPath(HDC);
       
  2793 WINGDIAPI int WINAPI FillRect(HDC,LPCRECT,HBRUSH);
       
  2794 WINGDIAPI int WINAPI FillRgn(HDC,HRGN,HBRUSH);
       
  2795 WINGDIAPI BOOL WINAPI FixBrushOrgEx(HDC,int,int,LPPOINT);
       
  2796 WINGDIAPI BOOL WINAPI FlattenPath(HDC);
       
  2797 WINGDIAPI BOOL WINAPI FloodFill(HDC,int,int,COLORREF);
       
  2798 WINGDIAPI BOOL WINAPI GdiComment(HDC,UINT,const BYTE*);
       
  2799 WINGDIAPI BOOL WINAPI GdiFlush(void);
       
  2800 WINGDIAPI DWORD WINAPI GdiGetBatchLimit(void);
       
  2801 WINGDIAPI DWORD WINAPI GdiSetBatchLimit(DWORD);
       
  2802 WINGDIAPI int WINAPI GetArcDirection(HDC);
       
  2803 WINGDIAPI BOOL WINAPI GetAspectRatioFilterEx(HDC,LPSIZE);
       
  2804 WINGDIAPI LONG WINAPI GetBitmapBits(HBITMAP,LONG,PVOID);
       
  2805 WINGDIAPI BOOL WINAPI GetBitmapDimensionEx(HBITMAP,LPSIZE);
       
  2806 WINGDIAPI COLORREF WINAPI GetBkColor(HDC);
       
  2807 WINGDIAPI int WINAPI GetBkMode(HDC);
       
  2808 WINGDIAPI UINT WINAPI GetBoundsRect(HDC,LPRECT,UINT);
       
  2809 WINGDIAPI BOOL WINAPI GetBrushOrgEx(HDC,LPPOINT);
       
  2810 WINGDIAPI BOOL WINAPI GetCharABCWidthsA(HDC,UINT,UINT,LPABC);
       
  2811 WINGDIAPI BOOL WINAPI GetCharABCWidthsW(HDC,UINT,UINT,LPABC);
       
  2812 WINGDIAPI BOOL WINAPI GetCharABCWidthsFloatA(HDC,UINT,UINT,LPABCFLOAT);
       
  2813 WINGDIAPI BOOL WINAPI GetCharABCWidthsFloatW(HDC,UINT,UINT,LPABCFLOAT);
       
  2814 WINGDIAPI DWORD WINAPI GetCharacterPlacementA(HDC,LPCSTR,int,int,LPGCP_RESULTSA,DWORD);
       
  2815 WINGDIAPI DWORD WINAPI GetCharacterPlacementW(HDC,LPCWSTR,int,int,LPGCP_RESULTSW,DWORD);
       
  2816 WINGDIAPI BOOL WINAPI GetCharWidth32A(HDC,UINT,UINT,LPINT);
       
  2817 WINGDIAPI BOOL WINAPI GetCharWidth32W(HDC,UINT,UINT,LPINT);
       
  2818 WINGDIAPI BOOL WINAPI GetCharWidthA(HDC,UINT,UINT,LPINT);
       
  2819 WINGDIAPI BOOL WINAPI GetCharWidthW(HDC,UINT,UINT,LPINT);
       
  2820 WINGDIAPI BOOL WINAPI GetCharWidthFloatA(HDC,UINT,UINT,PFLOAT);
       
  2821 WINGDIAPI BOOL WINAPI GetCharWidthFloatW(HDC,UINT,UINT,PFLOAT);
       
  2822 WINGDIAPI int WINAPI GetClipBox(HDC,LPRECT);
       
  2823 WINGDIAPI int WINAPI GetClipRgn(HDC,HRGN);
       
  2824 WINGDIAPI BOOL WINAPI GetColorAdjustment(HDC,LPCOLORADJUSTMENT);
       
  2825 WINGDIAPI HANDLE WINAPI GetColorSpace(HDC);
       
  2826 WINGDIAPI HGDIOBJ WINAPI GetCurrentObject(HDC,UINT);
       
  2827 WINGDIAPI BOOL WINAPI GetCurrentPositionEx(HDC,LPPOINT);
       
  2828 WINGDIAPI HCURSOR WINAPI GetCursor(void);
       
  2829 #if (WINVER >= 0x0500)
       
  2830 WINGDIAPI COLORREF WINAPI GetDCBrushColor(HDC);
       
  2831 WINGDIAPI COLORREF WINAPI GetDCPenColor(HDC);
       
  2832 #endif
       
  2833 WINGDIAPI BOOL WINAPI GetDCOrgEx(HDC,LPPOINT);
       
  2834 WINGDIAPI int WINAPI GetDeviceCaps(HDC,int);
       
  2835 WINGDIAPI BOOL WINAPI GetDeviceGammaRamp(HDC,PVOID);
       
  2836 WINGDIAPI UINT WINAPI GetDIBColorTable(HDC,UINT,UINT,RGBQUAD*);
       
  2837 WINGDIAPI int WINAPI GetDIBits(HDC,HBITMAP,UINT,UINT,PVOID,LPBITMAPINFO,UINT);
       
  2838 WINGDIAPI HENHMETAFILE WINAPI GetEnhMetaFileA(LPCSTR);
       
  2839 WINGDIAPI HENHMETAFILE WINAPI GetEnhMetaFileW(LPCWSTR);
       
  2840 WINGDIAPI UINT WINAPI GetEnhMetaFileBits(HENHMETAFILE,UINT,LPBYTE);
       
  2841 WINGDIAPI UINT WINAPI GetEnhMetaFileDescriptionA(HENHMETAFILE,UINT,LPSTR);
       
  2842 WINGDIAPI UINT WINAPI GetEnhMetaFileDescriptionW(HENHMETAFILE,UINT,LPWSTR);
       
  2843 WINGDIAPI UINT WINAPI GetEnhMetaFileHeader(HENHMETAFILE,UINT,LPENHMETAHEADER);
       
  2844 WINGDIAPI UINT WINAPI GetEnhMetaFilePaletteEntries(HENHMETAFILE,UINT,LPPALETTEENTRY);
       
  2845 WINGDIAPI UINT WINAPI GetEnhMetaFilePixelFormat(HENHMETAFILE,DWORD,CONST PIXELFORMATDESCRIPTOR*);
       
  2846 WINGDIAPI DWORD WINAPI GetFontData(HDC,DWORD,DWORD,PVOID,DWORD);
       
  2847 WINGDIAPI DWORD WINAPI GetFontLanguageInfo(HDC);
       
  2848 WINGDIAPI DWORD WINAPI GetGlyphOutlineA(HDC,UINT,UINT,LPGLYPHMETRICS,DWORD,PVOID,const MAT2*);
       
  2849 WINGDIAPI DWORD WINAPI GetGlyphOutlineW(HDC,UINT,UINT,LPGLYPHMETRICS,DWORD,PVOID,const MAT2*);
       
  2850 WINGDIAPI int WINAPI GetGraphicsMode(HDC);
       
  2851 WINGDIAPI BOOL WINAPI GetICMProfileA(HDC,LPDWORD,LPSTR);
       
  2852 WINGDIAPI BOOL WINAPI GetICMProfileW(HDC,LPDWORD,LPWSTR);
       
  2853 WINGDIAPI DWORD WINAPI GetKerningPairsA(HDC,DWORD,LPKERNINGPAIR);
       
  2854 WINGDIAPI DWORD WINAPI GetKerningPairsW(HDC,DWORD,LPKERNINGPAIR);
       
  2855 WINGDIAPI BOOL WINAPI GetLogColorSpaceA(HCOLORSPACE,LPLOGCOLORSPACEA,DWORD);
       
  2856 WINGDIAPI BOOL WINAPI GetLogColorSpaceW(HCOLORSPACE,LPLOGCOLORSPACEW,DWORD);
       
  2857 WINGDIAPI int WINAPI GetMapMode(HDC);
       
  2858 WINGDIAPI HMETAFILE WINAPI GetMetaFileA(LPCSTR);
       
  2859 WINGDIAPI HMETAFILE WINAPI GetMetaFileW(LPCWSTR);
       
  2860 WINGDIAPI UINT WINAPI GetMetaFileBitsEx(HMETAFILE,UINT,PVOID);
       
  2861 WINGDIAPI int WINAPI GetMetaRgn(HDC,HRGN);
       
  2862 WINGDIAPI BOOL WINAPI GetMiterLimit(HDC,PFLOAT);
       
  2863 WINGDIAPI COLORREF WINAPI GetNearestColor(HDC,COLORREF);
       
  2864 WINGDIAPI UINT WINAPI GetNearestPaletteIndex(HPALETTE,COLORREF);
       
  2865 WINGDIAPI int WINAPI GetObjectA(HGDIOBJ,int,PVOID);
       
  2866 WINGDIAPI int WINAPI GetObjectW(HGDIOBJ,int,PVOID);
       
  2867 WINGDIAPI DWORD WINAPI GetObjectType(HGDIOBJ);
       
  2868 WINGDIAPI UINT WINAPI GetOutlineTextMetricsA(HDC,UINT,LPOUTLINETEXTMETRICA);
       
  2869 WINGDIAPI UINT WINAPI GetOutlineTextMetricsW(HDC,UINT,LPOUTLINETEXTMETRICW);
       
  2870 WINGDIAPI UINT WINAPI GetPaletteEntries(HPALETTE,UINT,UINT,LPPALETTEENTRY);
       
  2871 WINGDIAPI int WINAPI GetPath(HDC,LPPOINT,PBYTE,int);
       
  2872 WINGDIAPI COLORREF WINAPI GetPixel(HDC,int,int);
       
  2873 WINGDIAPI int WINAPI GetPixelFormat(HDC);
       
  2874 WINGDIAPI int WINAPI GetPolyFillMode(HDC);
       
  2875 WINGDIAPI BOOL WINAPI GetRasterizerCaps(LPRASTERIZER_STATUS,UINT);
       
  2876 WINGDIAPI int WINAPI GetRandomRgn (HDC,HRGN,INT);
       
  2877 WINGDIAPI DWORD WINAPI GetRegionData(HRGN,DWORD,LPRGNDATA);
       
  2878 WINGDIAPI int WINAPI GetRgnBox(HRGN,LPRECT);
       
  2879 WINGDIAPI int WINAPI GetROP2(HDC);
       
  2880 WINGDIAPI HGDIOBJ WINAPI GetStockObject(int);
       
  2881 WINGDIAPI int WINAPI GetStretchBltMode(HDC);
       
  2882 WINGDIAPI UINT WINAPI GetSystemPaletteEntries(HDC,UINT,UINT,LPPALETTEENTRY);
       
  2883 WINGDIAPI UINT WINAPI GetSystemPaletteUse(HDC);
       
  2884 WINGDIAPI UINT WINAPI GetTextAlign(HDC);
       
  2885 WINGDIAPI int WINAPI GetTextCharacterExtra(HDC);
       
  2886 WINGDIAPI int WINAPI GetTextCharset(HDC);
       
  2887 WINGDIAPI int WINAPI GetTextCharsetInfo(HDC,LPFONTSIGNATURE,DWORD);
       
  2888 WINGDIAPI COLORREF WINAPI GetTextColor(HDC);
       
  2889 WINGDIAPI BOOL WINAPI GetTextExtentExPointA(HDC,LPCSTR,int,int,LPINT,LPINT,LPSIZE);
       
  2890 WINGDIAPI BOOL WINAPI GetTextExtentExPointW( HDC,LPCWSTR,int,int,LPINT,LPINT,LPSIZE );
       
  2891 WINGDIAPI BOOL WINAPI GetTextExtentPointA(HDC,LPCSTR,int,LPSIZE);
       
  2892 WINGDIAPI BOOL WINAPI GetTextExtentPointW(HDC,LPCWSTR,int,LPSIZE);
       
  2893 #if (_WIN32_WINNT >= 0x0500)
       
  2894 WINGDIAPI BOOL WINAPI GetTextExtentExPointI(HDC, LPWORD, int, int, LPINT, LPINT, LPSIZE);
       
  2895 #endif
       
  2896 #ifdef _WIN32_WCE
       
  2897 extern BOOL GetTextExtentPoint32A(HDC,LPCSTR,int,LPSIZE);
       
  2898 extern BOOL GetTextExtentPoint32W( HDC,LPCWSTR,int,LPSIZE);
       
  2899 #else
       
  2900 WINGDIAPI BOOL WINAPI GetTextExtentPoint32A(HDC,LPCSTR,int,LPSIZE);
       
  2901 WINGDIAPI BOOL WINAPI GetTextExtentPoint32W( HDC,LPCWSTR,int,LPSIZE);
       
  2902 #endif
       
  2903 WINGDIAPI int WINAPI GetTextFaceA(HDC,int,LPSTR);
       
  2904 WINGDIAPI int WINAPI GetTextFaceW(HDC,int,LPWSTR);
       
  2905 WINGDIAPI BOOL WINAPI GetTextMetricsA(HDC,LPTEXTMETRICA);
       
  2906 WINGDIAPI BOOL WINAPI GetTextMetricsW(HDC,LPTEXTMETRICW);
       
  2907 WINGDIAPI BOOL WINAPI GetViewportExtEx(HDC,LPSIZE);
       
  2908 WINGDIAPI BOOL WINAPI GetViewportOrgEx(HDC,LPPOINT);
       
  2909 WINGDIAPI BOOL WINAPI GetWindowExtEx(HDC,LPSIZE);
       
  2910 WINGDIAPI BOOL WINAPI GetWindowOrgEx(HDC,LPPOINT);
       
  2911 WINGDIAPI UINT WINAPI GetWinMetaFileBits(HENHMETAFILE,UINT,LPBYTE,INT,HDC);
       
  2912 WINGDIAPI BOOL WINAPI GetWorldTransform(HDC,LPXFORM);
       
  2913 WINGDIAPI int WINAPI IntersectClipRect(HDC,int,int,int,int);
       
  2914 WINGDIAPI BOOL WINAPI InvertRgn(HDC,HRGN);
       
  2915 WINGDIAPI BOOL WINAPI LineDDA(int,int,int,int,LINEDDAPROC,LPARAM);
       
  2916 WINGDIAPI BOOL WINAPI LineTo(HDC,int,int);
       
  2917 WINGDIAPI BOOL WINAPI LPtoDP(HDC,LPPOINT,int);
       
  2918 WINGDIAPI BOOL WINAPI MaskBlt(HDC,int,int,int,int,HDC,int,int,HBITMAP,int,int,DWORD);
       
  2919 WINGDIAPI BOOL WINAPI ModifyWorldTransform(HDC,const XFORM*,DWORD);
       
  2920 WINGDIAPI BOOL WINAPI MoveToEx(HDC,int,int,LPPOINT);
       
  2921 WINGDIAPI int WINAPI OffsetClipRgn(HDC,int,int);
       
  2922 WINGDIAPI int WINAPI OffsetRgn(HRGN,int,int);
       
  2923 WINGDIAPI BOOL WINAPI OffsetViewportOrgEx(HDC,int,int,LPPOINT);
       
  2924 WINGDIAPI BOOL WINAPI OffsetWindowOrgEx(HDC,int,int,LPPOINT);
       
  2925 WINGDIAPI BOOL WINAPI PaintRgn(HDC,HRGN);
       
  2926 WINGDIAPI BOOL WINAPI PatBlt(HDC,int,int,int,int,DWORD);
       
  2927 WINGDIAPI HRGN WINAPI PathToRegion(HDC);
       
  2928 WINGDIAPI BOOL WINAPI Pie(HDC,int,int,int,int,int,int,int,int);
       
  2929 WINGDIAPI BOOL WINAPI PlayEnhMetaFile(HDC,HENHMETAFILE,LPCRECT);
       
  2930 WINGDIAPI BOOL WINAPI PlayEnhMetaFileRecord(HDC,LPHANDLETABLE,const ENHMETARECORD*,UINT);
       
  2931 WINGDIAPI BOOL WINAPI PlayMetaFile(HDC,HMETAFILE);
       
  2932 WINGDIAPI BOOL WINAPI PlayMetaFileRecord(HDC,LPHANDLETABLE,LPMETARECORD,UINT);
       
  2933 WINGDIAPI BOOL WINAPI PlgBlt(HDC,const POINT*,HDC,int,int,int,int,HBITMAP,int,int);
       
  2934 WINGDIAPI BOOL WINAPI PolyBezier(HDC,const POINT*,DWORD);
       
  2935 WINGDIAPI BOOL WINAPI PolyBezierTo(HDC,const POINT*,DWORD);
       
  2936 WINGDIAPI BOOL WINAPI PolyDraw(HDC,const POINT*,const BYTE*,int);
       
  2937 WINGDIAPI BOOL WINAPI Polygon(HDC,const POINT*,int);
       
  2938 WINGDIAPI BOOL WINAPI Polyline(HDC,const POINT*,int);
       
  2939 WINGDIAPI BOOL WINAPI PolylineTo(HDC,const POINT*,DWORD);
       
  2940 WINGDIAPI BOOL WINAPI PolyPolygon(HDC,const POINT*,const INT*,int);
       
  2941 WINGDIAPI BOOL WINAPI PolyPolyline(HDC,const POINT*,const DWORD*,DWORD);
       
  2942 WINGDIAPI BOOL WINAPI PolyTextOutA(HDC,const POLYTEXTA*,int);
       
  2943 WINGDIAPI BOOL WINAPI PolyTextOutW(HDC,const POLYTEXTW*,int);
       
  2944 WINGDIAPI BOOL WINAPI PtInRegion(HRGN,int,int);
       
  2945 WINGDIAPI BOOL WINAPI PtVisible(HDC,int,int);
       
  2946 WINGDIAPI UINT WINAPI RealizePalette(HDC);
       
  2947 WINGDIAPI BOOL WINAPI Rectangle(HDC,int,int,int,int);
       
  2948 WINGDIAPI BOOL WINAPI RectInRegion(HRGN,LPCRECT);
       
  2949 WINGDIAPI BOOL WINAPI RectVisible(HDC,LPCRECT);
       
  2950 WINGDIAPI BOOL WINAPI RemoveFontResourceA(LPCSTR);
       
  2951 WINGDIAPI BOOL WINAPI RemoveFontResourceW(LPCWSTR);
       
  2952 #if (_WIN32_WINNT >= 0x0500)
       
  2953 WINGDIAPI BOOL WINAPI RemoveFontMemResourceEx(HANDLE);
       
  2954 WINGDIAPI BOOL WINAPI RemoveFontResourceExA(LPCSTR,DWORD,PVOID);
       
  2955 WINGDIAPI BOOL WINAPI RemoveFontResourceExW(LPCWSTR,DWORD,PVOID);
       
  2956 #endif
       
  2957 WINGDIAPI HDC WINAPI ResetDCA(HDC,const DEVMODEA*);
       
  2958 WINGDIAPI HDC WINAPI ResetDCW(HDC,const DEVMODEW*);
       
  2959 WINGDIAPI BOOL WINAPI ResizePalette(HPALETTE,UINT);
       
  2960 WINGDIAPI BOOL WINAPI RestoreDC(HDC,int);
       
  2961 WINGDIAPI BOOL WINAPI RoundRect(HDC,int,int,int,int,int,int);
       
  2962 WINGDIAPI int WINAPI SaveDC(HDC);
       
  2963 WINGDIAPI BOOL WINAPI ScaleViewportExtEx(HDC,int,int,int,int,LPSIZE);
       
  2964 WINGDIAPI BOOL WINAPI ScaleWindowExtEx(HDC,int,int,int,int,LPSIZE);
       
  2965 WINGDIAPI BOOL WINAPI SelectClipPath(HDC,int);
       
  2966 WINGDIAPI int WINAPI SelectClipRgn(HDC,HRGN);
       
  2967 WINGDIAPI HGDIOBJ WINAPI SelectObject(HDC,HGDIOBJ);
       
  2968 WINGDIAPI HPALETTE WINAPI SelectPalette(HDC,HPALETTE,BOOL);
       
  2969 WINGDIAPI int WINAPI SetAbortProc(HDC,ABORTPROC);
       
  2970 WINGDIAPI int WINAPI SetArcDirection(HDC,int);
       
  2971 WINGDIAPI LONG WINAPI SetBitmapBits(HBITMAP,DWORD,PCVOID);
       
  2972 WINGDIAPI BOOL WINAPI SetBitmapDimensionEx(HBITMAP,int,int,LPSIZE);
       
  2973 WINGDIAPI COLORREF WINAPI SetBkColor(HDC,COLORREF);
       
  2974 WINGDIAPI int WINAPI SetBkMode(HDC,int);
       
  2975 WINGDIAPI UINT WINAPI SetBoundsRect(HDC,LPCRECT,UINT);
       
  2976 WINGDIAPI BOOL WINAPI SetBrushOrgEx(HDC,int,int,LPPOINT);
       
  2977 WINGDIAPI BOOL WINAPI SetColorAdjustment(HDC,const COLORADJUSTMENT*);
       
  2978 WINGDIAPI BOOL WINAPI SetColorSpace(HDC,HCOLORSPACE);
       
  2979 #if (_WIN32_WINNT >= 0x0500)
       
  2980 WINGDIAPI COLORREF WINAPI SetDCBrushColor(HDC,COLORREF);
       
  2981 WINGDIAPI COLORREF WINAPI SetDCPenColor(HDC,COLORREF);
       
  2982 #endif
       
  2983 WINGDIAPI BOOL WINAPI SetDeviceGammaRamp(HDC,PVOID);
       
  2984 WINGDIAPI UINT WINAPI SetDIBColorTable(HDC,UINT,UINT,const RGBQUAD*);
       
  2985 WINGDIAPI int WINAPI SetDIBits(HDC,HBITMAP,UINT,UINT,PCVOID,const BITMAPINFO*,UINT);
       
  2986 WINGDIAPI int WINAPI SetDIBitsToDevice(HDC,int,int,DWORD,DWORD,int,int,UINT,UINT,PCVOID,const BITMAPINFO*,UINT);
       
  2987 WINGDIAPI HENHMETAFILE WINAPI SetEnhMetaFileBits(UINT,const BYTE*);
       
  2988 WINGDIAPI int WINAPI SetGraphicsMode(HDC,int);
       
  2989 WINGDIAPI int WINAPI SetICMMode(HDC,int);
       
  2990 WINGDIAPI BOOL WINAPI SetICMProfileA(HDC,LPSTR);
       
  2991 WINGDIAPI BOOL WINAPI SetICMProfileW(HDC,LPWSTR);
       
  2992 WINGDIAPI int WINAPI SetMapMode(HDC,int);
       
  2993 WINGDIAPI DWORD WINAPI SetMapperFlags(HDC,DWORD);
       
  2994 WINGDIAPI HMETAFILE WINAPI SetMetaFileBitsEx(UINT,const BYTE *);
       
  2995 WINGDIAPI int WINAPI SetMetaRgn(HDC);
       
  2996 WINGDIAPI BOOL WINAPI SetMiterLimit(HDC,FLOAT,PFLOAT);
       
  2997 WINGDIAPI UINT WINAPI SetPaletteEntries(HPALETTE,UINT,UINT,const PALETTEENTRY*);
       
  2998 WINGDIAPI COLORREF WINAPI SetPixel(HDC,int,int,COLORREF);
       
  2999 WINGDIAPI BOOL WINAPI SetPixelFormat(HDC,int,const PIXELFORMATDESCRIPTOR*);
       
  3000 WINGDIAPI BOOL WINAPI SetPixelV(HDC,int,int,COLORREF);
       
  3001 WINGDIAPI int WINAPI SetPolyFillMode(HDC,int);
       
  3002 WINGDIAPI BOOL WINAPI SetRectRgn(HRGN,int,int,int,int);
       
  3003 WINGDIAPI int WINAPI SetROP2(HDC,int);
       
  3004 WINGDIAPI int WINAPI SetStretchBltMode(HDC,int);
       
  3005 WINGDIAPI UINT WINAPI SetSystemPaletteUse(HDC,UINT);
       
  3006 WINGDIAPI UINT WINAPI SetTextAlign(HDC,UINT);
       
  3007 WINGDIAPI int WINAPI SetTextCharacterExtra(HDC,int);
       
  3008 WINGDIAPI COLORREF WINAPI SetTextColor(HDC,COLORREF);
       
  3009 WINGDIAPI BOOL WINAPI SetTextJustification(HDC,int,int);
       
  3010 WINGDIAPI BOOL WINAPI SetViewportExtEx(HDC,int,int,LPSIZE);
       
  3011 WINGDIAPI BOOL WINAPI SetViewportOrgEx(HDC,int,int,LPPOINT);
       
  3012 WINGDIAPI BOOL WINAPI SetWindowExtEx(HDC,int,int,LPSIZE);
       
  3013 WINGDIAPI BOOL WINAPI SetWindowOrgEx(HDC,int,int,LPPOINT);
       
  3014 WINGDIAPI HENHMETAFILE WINAPI SetWinMetaFileBits(UINT,const BYTE*,HDC,const METAFILEPICT*);
       
  3015 WINGDIAPI BOOL WINAPI SetWorldTransform(HDC,const XFORM *);
       
  3016 WINGDIAPI int WINAPI StartDocA(HDC,const DOCINFOA*);
       
  3017 WINGDIAPI int WINAPI StartDocW(HDC,const DOCINFOW*);
       
  3018 WINGDIAPI int WINAPI StartPage(HDC);
       
  3019 WINGDIAPI BOOL WINAPI StretchBlt(HDC,int,int,int,int,HDC,int,int,int,int,DWORD);
       
  3020 WINGDIAPI int WINAPI StretchDIBits(HDC,int,int,int,int,int,int,int,int,const VOID *,const BITMAPINFO *,UINT,DWORD);
       
  3021 WINGDIAPI BOOL WINAPI StrokeAndFillPath(HDC);
       
  3022 WINGDIAPI BOOL WINAPI StrokePath(HDC);
       
  3023 WINGDIAPI BOOL WINAPI SwapBuffers(HDC);
       
  3024 WINGDIAPI BOOL WINAPI TextOutA(HDC,int,int,LPCSTR,int);
       
  3025 WINGDIAPI BOOL WINAPI TextOutW(HDC,int,int,LPCWSTR,int);
       
  3026 WINGDIAPI BOOL WINAPI TranslateCharsetInfo(PDWORD,LPCHARSETINFO,DWORD);
       
  3027 WINGDIAPI BOOL WINAPI UnrealizeObject(HGDIOBJ);
       
  3028 WINGDIAPI BOOL WINAPI UpdateColors(HDC);
       
  3029 WINGDIAPI BOOL WINAPI UpdateICMRegKeyA(DWORD,DWORD,LPSTR,UINT);
       
  3030 WINGDIAPI BOOL WINAPI UpdateICMRegKeyW(DWORD,DWORD,LPWSTR,UINT);
       
  3031 WINGDIAPI BOOL WINAPI WidenPath(HDC);
       
  3032 WINGDIAPI BOOL WINAPI wglCopyContext(HGLRC,HGLRC,UINT);
       
  3033 WINGDIAPI HGLRC WINAPI wglCreateContext(HDC);
       
  3034 WINGDIAPI HGLRC WINAPI wglCreateLayerContext(HDC,int);
       
  3035 WINGDIAPI BOOL WINAPI wglDeleteContext(HGLRC);
       
  3036 WINGDIAPI BOOL WINAPI wglDescribeLayerPlane(HDC,int,int,UINT,LPLAYERPLANEDESCRIPTOR);
       
  3037 WINGDIAPI HGLRC WINAPI wglGetCurrentContext(void);
       
  3038 WINGDIAPI HDC WINAPI wglGetCurrentDC(void);
       
  3039 WINGDIAPI int WINAPI wglGetLayerPaletteEntries(HDC,int,int,int,COLORREF*);
       
  3040 WINGDIAPI PROC WINAPI wglGetProcAddress(LPCSTR);
       
  3041 WINGDIAPI BOOL WINAPI wglMakeCurrent(HDC,HGLRC);
       
  3042 WINGDIAPI BOOL WINAPI wglRealizeLayerPalette(HDC,int,BOOL);
       
  3043 WINGDIAPI int WINAPI wglSetLayerPaletteEntries(HDC,int,int,int,const COLORREF*);
       
  3044 WINGDIAPI BOOL WINAPI wglShareLists(HGLRC,HGLRC);
       
  3045 WINGDIAPI BOOL WINAPI wglSwapLayerBuffers(HDC,UINT);
       
  3046 WINGDIAPI BOOL WINAPI wglUseFontBitmapsA(HDC,DWORD,DWORD,DWORD);
       
  3047 WINGDIAPI BOOL WINAPI wglUseFontBitmapsW(HDC,DWORD,DWORD,DWORD);
       
  3048 WINGDIAPI BOOL WINAPI wglUseFontOutlinesA(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT);
       
  3049 WINGDIAPI BOOL WINAPI wglUseFontOutlinesW(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT);
       
  3050 #if (WINVER >= 0x0410)
       
  3051 WINGDIAPI BOOL WINAPI AlphaBlend(HDC,int,int,int,int,HDC,int,int,int,int,BLENDFUNCTION);
       
  3052 WINGDIAPI BOOL WINAPI GradientFill(HDC,PTRIVERTEX,ULONG,PVOID,ULONG,ULONG);
       
  3053 WINGDIAPI BOOL WINAPI TransparentBlt(HDC,int,int,int,int,HDC,int,int,int,int,UINT);
       
  3054 #endif
       
  3055 #if (_WIN32_WINNT >= 0x0500)
       
  3056 WINGDIAPI DWORD WINAPI GetFontUnicodeRanges(HDC,LPGLYPHSET);
       
  3057 WINGDIAPI DWORD WINAPI GetGlyphIndicesA(HDC,LPCSTR,int,LPWORD,DWORD);
       
  3058 WINGDIAPI DWORD WINAPI GetGlyphIndicesW(HDC,LPCWSTR,int,LPWORD,DWORD);
       
  3059 #endif
       
  3060 #if (WINVER >= 0x0500)
       
  3061 WINGDIAPI DWORD WINAPI GetLayout(HDC);
       
  3062 WINGDIAPI DWORD WINAPI SetLayout(HDC, DWORD);
       
  3063 #endif
       
  3064 
       
  3065 #ifdef UNICODE
       
  3066 typedef WCHAR BCHAR;
       
  3067 typedef DOCINFOW DOCINFO, *LPDOCINFO;
       
  3068 typedef LOGFONTW LOGFONT,*PLOGFONT,*LPLOGFONT;
       
  3069 typedef TEXTMETRICW TEXTMETRIC,*PTEXTMETRIC,*LPTEXTMETRIC;
       
  3070 #define ICMENUMPROC ICMENUMPROCW
       
  3071 #define FONTENUMPROC FONTENUMPROCW
       
  3072 typedef DEVMODEW DEVMODE,*PDEVMODE,*LPDEVMODE;
       
  3073 #if _WIN32_WINNT >= 0x0500
       
  3074 typedef ENUMLOGFONTEXDVW ENUMLOGFONTEXDV;
       
  3075 typedef PENUMLOGFONTEXDVW PENUMLOGFONTEXDV;
       
  3076 typedef LPENUMLOGFONTEXDVW LPENUMLOGFONTEXDV;
       
  3077 #endif
       
  3078 typedef EXTLOGFONTW EXTLOGFONT,*PEXTLOGFONT,*LPEXTLOGFONT;
       
  3079 typedef GCP_RESULTSW GCP_RESULTS,*LPGCP_RESULTS;
       
  3080 typedef OUTLINETEXTMETRICW OUTLINETEXTMETRIC,*POUTLINETEXTMETRIC,*LPOUTLINETEXTMETRIC;
       
  3081 typedef POLYTEXTW POLYTEXT,*PPOLYTEXT,*LPPOLYTEXT;
       
  3082 typedef LOGCOLORSPACEW LOGCOLORSPACE,*LPLOGCOLORSPACE;
       
  3083 typedef NEWTEXTMETRICW NEWTEXTMETRIC,*PNEWTEXTMETRIC,*LPNEWTEXTMETRIC;
       
  3084 typedef NEWTEXTMETRICEXW NEWTEXTMETRICEX;
       
  3085 typedef ENUMLOGFONTW ENUMLOGFONT,*LPENUMLOGFONT;
       
  3086 typedef ENUMLOGFONTEXW ENUMLOGFONTEX,*LPENUMLOGFONTEX;
       
  3087 typedef DISPLAY_DEVICEW DISPLAY_DEVICE, *PDISPLAY_DEVICE, *LPDISPLAY_DEVICE;
       
  3088 #define AddFontResource AddFontResourceW
       
  3089 #if (_WIN32_WINNT >= 0x0500)
       
  3090 #define AddFontResourceEx AddFontResourceExW
       
  3091 #endif
       
  3092 #define CopyEnhMetaFile CopyEnhMetaFileW
       
  3093 #define CopyMetaFile CopyMetaFileW
       
  3094 #define CreateColorSpace CreateColorSpaceW
       
  3095 #define CreateDC CreateDCW
       
  3096 #define CreateEnhMetaFile CreateEnhMetaFileW
       
  3097 #define CreateFont CreateFontW
       
  3098 #define CreateFontIndirect CreateFontIndirectW
       
  3099 #define CreateIC CreateICW
       
  3100 #define CreateMetaFile CreateMetaFileW
       
  3101 #define CreateScalableFontResource CreateScalableFontResourceW
       
  3102 #define DeviceCapabilities DeviceCapabilitiesW
       
  3103 #define EnumFontFamilies EnumFontFamiliesW
       
  3104 #define EnumFontFamiliesEx EnumFontFamiliesExW
       
  3105 #define EnumFonts EnumFontsW
       
  3106 #define EnumICMProfiles EnumICMProfilesW
       
  3107 #define ExtTextOut ExtTextOutW
       
  3108 #define GetCharABCWidthsFloat GetCharABCWidthsFloatW
       
  3109 #define GetCharABCWidths GetCharABCWidthsW
       
  3110 #define GetCharacterPlacement GetCharacterPlacementW
       
  3111 #define GetCharWidth32 GetCharWidth32W
       
  3112 #define GetCharWidthFloat GetCharWidthFloatW
       
  3113 #define GetCharWidth GetCharWidthW
       
  3114 #define GetEnhMetaFile GetEnhMetaFileW
       
  3115 #define GetEnhMetaFileDescription GetEnhMetaFileDescriptionW
       
  3116 #define GetGlyphOutline GetGlyphOutlineW
       
  3117 #define GetICMProfile GetICMProfileW
       
  3118 #define GetKerningPairs GetKerningPairsW
       
  3119 #define GetLogColorSpace GetLogColorSpaceW
       
  3120 #define GetMetaFile GetMetaFileW
       
  3121 #define GetObject GetObjectW
       
  3122 #define GetOutlineTextMetrics GetOutlineTextMetricsW
       
  3123 #define GetTextExtentPoint GetTextExtentPointW
       
  3124 #define GetTextExtentExPoint GetTextExtentExPointW
       
  3125 #define GetTextExtentPoint32 GetTextExtentPoint32W
       
  3126 #define GetTextFace GetTextFaceW
       
  3127 #define GetTextMetrics GetTextMetricsW
       
  3128 #define PolyTextOut PolyTextOutW
       
  3129 #define RemoveFontResource RemoveFontResourceW
       
  3130 #if (_WIN32_WINNT >= 0x0500)
       
  3131 #define RemoveFontResourceEx RemoveFontResourceExW
       
  3132 #endif
       
  3133 #define ResetDC ResetDCW
       
  3134 #define SetICMProfile SetICMProfileW
       
  3135 #define StartDoc StartDocW
       
  3136 #define TextOut TextOutW
       
  3137 #define UpdateICMRegKey UpdateICMRegKeyW
       
  3138 #define wglUseFontBitmaps wglUseFontBitmapsW
       
  3139 #define wglUseFontOutlines wglUseFontOutlinesW
       
  3140 #if (_WIN32_WINNT >= 0x0500)
       
  3141 #define GetGlyphIndices  GetGlyphIndicesW
       
  3142 #endif
       
  3143 #else  /* UNICODE */
       
  3144 typedef BYTE BCHAR;
       
  3145 typedef DOCINFOA DOCINFO, *LPDOCINFO;
       
  3146 typedef LOGFONTA LOGFONT,*PLOGFONT,*LPLOGFONT;
       
  3147 typedef TEXTMETRICA TEXTMETRIC,*PTEXTMETRIC,*LPTEXTMETRIC;
       
  3148 #define ICMENUMPROC ICMENUMPROCA
       
  3149 #define FONTENUMPROC FONTENUMPROCA
       
  3150 typedef DEVMODEA DEVMODE,*PDEVMODE,*LPDEVMODE;
       
  3151 #if _WIN32_WINNT >= 0x0500
       
  3152 typedef ENUMLOGFONTEXDVA ENUMLOGFONTEXDV;
       
  3153 typedef PENUMLOGFONTEXDVA PENUMLOGFONTEXDV;
       
  3154 typedef LPENUMLOGFONTEXDVA LPENUMLOGFONTEXDV;
       
  3155 #endif
       
  3156 typedef EXTLOGFONTA EXTLOGFONT,*PEXTLOGFONT,*LPEXTLOGFONT;
       
  3157 typedef GCP_RESULTSA GCP_RESULTS,*LPGCP_RESULTS;
       
  3158 typedef OUTLINETEXTMETRICA OUTLINETEXTMETRIC,*POUTLINETEXTMETRIC,*LPOUTLINETEXTMETRIC;
       
  3159 typedef POLYTEXTA POLYTEXT,*PPOLYTEXT,*LPPOLYTEXT;
       
  3160 typedef LOGCOLORSPACEA LOGCOLORSPACE,*LPLOGCOLORSPACE;
       
  3161 typedef NEWTEXTMETRICA NEWTEXTMETRIC,*PNEWTEXTMETRIC,*LPNEWTEXTMETRIC;
       
  3162 typedef NEWTEXTMETRICEXA NEWTEXTMETRICEX;
       
  3163 typedef ENUMLOGFONTA ENUMLOGFONT,*LPENUMLOGFONT;
       
  3164 typedef ENUMLOGFONTEXA ENUMLOGFONTEX,*LPENUMLOGFONTEX;
       
  3165 typedef DISPLAY_DEVICEA DISPLAY_DEVICE, *PDISPLAY_DEVICE, *LPDISPLAY_DEVICE;
       
  3166 #define AddFontResource AddFontResourceA
       
  3167 #if (_WIN32_WINNT >= 0x0500)
       
  3168 #define AddFontResourceEx AddFontResourceExA
       
  3169 #endif
       
  3170 #define CopyEnhMetaFile CopyEnhMetaFileA
       
  3171 #define CopyMetaFile CopyMetaFileA
       
  3172 #define CreateColorSpace CreateColorSpaceA
       
  3173 #define CreateDC CreateDCA
       
  3174 #define CreateEnhMetaFile CreateEnhMetaFileA
       
  3175 #define CreateFont CreateFontA
       
  3176 #define CreateFontIndirect CreateFontIndirectA
       
  3177 #define CreateIC CreateICA
       
  3178 #define CreateMetaFile CreateMetaFileA
       
  3179 #define CreateScalableFontResource CreateScalableFontResourceA
       
  3180 #define DeviceCapabilities DeviceCapabilitiesA
       
  3181 #define EnumFontFamilies EnumFontFamiliesA
       
  3182 #define EnumFontFamiliesEx EnumFontFamiliesExA
       
  3183 #define EnumFonts EnumFontsA
       
  3184 #define EnumICMProfiles EnumICMProfilesA
       
  3185 #define ExtTextOut ExtTextOutA
       
  3186 #define GetCharWidthFloat GetCharWidthFloatA
       
  3187 #define GetCharWidth GetCharWidthA
       
  3188 #define GetCharacterPlacement GetCharacterPlacementA
       
  3189 #define GetCharABCWidths GetCharABCWidthsA
       
  3190 #define GetCharABCWidthsFloat GetCharABCWidthsFloatA
       
  3191 #define GetCharWidth32 GetCharWidth32A
       
  3192 #define GetEnhMetaFile GetEnhMetaFileA
       
  3193 #define GetEnhMetaFileDescription GetEnhMetaFileDescriptionA
       
  3194 #define GetGlyphOutline GetGlyphOutlineA
       
  3195 #define GetICMProfile GetICMProfileA
       
  3196 #define GetKerningPairs GetKerningPairsA
       
  3197 #define GetLogColorSpace GetLogColorSpaceA
       
  3198 #define GetMetaFile GetMetaFileA
       
  3199 #define GetObject GetObjectA
       
  3200 #define GetOutlineTextMetrics GetOutlineTextMetricsA
       
  3201 #define GetTextExtentPoint GetTextExtentPointA
       
  3202 #define GetTextExtentExPoint GetTextExtentExPointA
       
  3203 #define GetTextExtentPoint32 GetTextExtentPoint32A
       
  3204 #define GetTextFace GetTextFaceA
       
  3205 #define GetTextMetrics GetTextMetricsA
       
  3206 #define PolyTextOut PolyTextOutA
       
  3207 #define RemoveFontResource RemoveFontResourceA
       
  3208 #if (_WIN32_WINNT >= 0x0500)
       
  3209 #define RemoveFontResourceEx RemoveFontResourceExA
       
  3210 #endif
       
  3211 #define ResetDC ResetDCA
       
  3212 #define SetICMProfile SetICMProfileA
       
  3213 #define StartDoc StartDocA
       
  3214 #define TextOut TextOutA
       
  3215 #define UpdateICMRegKey UpdateICMRegKeyA
       
  3216 #define wglUseFontBitmaps wglUseFontBitmapsA
       
  3217 #define wglUseFontOutlines wglUseFontOutlinesA
       
  3218 #if (_WIN32_WINNT >= 0x0500)
       
  3219 #define GetGlyphIndices  GetGlyphIndicesA
       
  3220 #endif
       
  3221 #endif /* UNICODE */
       
  3222 #endif /* RC_INVOKED */
       
  3223 #ifdef __cplusplus
       
  3224 }
       
  3225 #endif
       
  3226 #endif