1 #ifndef _WINGDI_H 2 #define _WINGDI_H 3 #define _WINGDI_ 4 5 #ifndef NOGDI 6 7 #ifdef __cplusplus 8 extern "C" { 9 #endif 10 11 #ifdef _MSC_VER 12 #pragma warning(push) 13 #pragma warning(disable:4201) 14 #pragma warning(disable:4820) 15 #endif 16 17 /* Get/SetSystemPaletteUse() values */ 18 #define SYSPAL_ERROR 0 19 #define SYSPAL_STATIC 1 20 #define SYSPAL_NOSTATIC 2 21 #define SYSPAL_NOSTATIC256 3 22 23 #define WINGDIAPI 24 25 #define NTM_NONNEGATIVE_AC 0x00010000 26 #define NTM_PS_OPENTYPE 0x00020000 27 #define NTM_TT_OPENTYPE 0x00040000 28 #define NTM_MULTIPLEMASTER 0x00080000 29 #define NTM_TYPE1 0x00100000 30 #define NTM_DSIG 0x00200000 31 32 #define AC_SRC_OVER 0 33 #define AC_SRC_ALPHA 1 34 #define BI_RGB 0 35 #define BI_RLE8 1 36 #define BI_RLE4 2 37 #define BI_BITFIELDS 3 38 #define BI_JPEG 4 39 #define BI_PNG 5 40 #define LF_FACESIZE 32 41 #define LF_FULLFACESIZE 64 42 #define CA_NEGATIVE 1 43 #define CA_LOG_FILTER 2 44 #define ILLUMINANT_DEVICE_DEFAULT 0 45 #define ILLUMINANT_A 1 46 #define ILLUMINANT_B 2 47 #define ILLUMINANT_C 3 48 #define ILLUMINANT_D50 4 49 #define ILLUMINANT_D55 5 50 #define ILLUMINANT_D65 6 51 #define ILLUMINANT_D75 7 52 #define ILLUMINANT_F2 8 53 #define ILLUMINANT_MAX_INDEX ILLUMINANT_F2 54 #define ILLUMINANT_TUNGSTEN ILLUMINANT_A 55 #define ILLUMINANT_DAYLIGHT ILLUMINANT_C 56 #define ILLUMINANT_FLUORESCENT ILLUMINANT_F2 57 #define ILLUMINANT_NTSC ILLUMINANT_C 58 #define RGB_GAMMA_MIN 2500 59 #define RGB_GAMMA_MAX 65000 60 #define REFERENCE_WHITE_MIN 6000 61 #define REFERENCE_WHITE_MAX 10000 62 #define REFERENCE_BLACK_MIN 0 63 #define REFERENCE_BLACK_MAX 4000 64 #define COLOR_ADJ_MIN (-100) 65 #define COLOR_ADJ_MAX 100 66 #define CCHDEVICENAME 32 67 #define CCHFORMNAME 32 68 #define DI_COMPAT 4 69 #define DI_DEFAULTSIZE 8 70 #define DI_IMAGE 2 71 #define DI_MASK 1 72 #define DI_NORMAL 3 73 #define DI_APPBANDING 1 74 #define DI_NOMIRROR 16 75 #define EMR_HEADER 1 76 #define EMR_POLYBEZIER 2 77 #define EMR_POLYGON 3 78 #define EMR_POLYLINE 4 79 #define EMR_POLYBEZIERTO 5 80 #define EMR_POLYLINETO 6 81 #define EMR_POLYPOLYLINE 7 82 #define EMR_POLYPOLYGON 8 83 #define EMR_SETWINDOWEXTEX 9 84 #define EMR_SETWINDOWORGEX 10 85 #define EMR_SETVIEWPORTEXTEX 11 86 #define EMR_SETVIEWPORTORGEX 12 87 #define EMR_SETBRUSHORGEX 13 88 #define EMR_EOF 14 89 #define EMR_SETPIXELV 15 90 #define EMR_SETMAPPERFLAGS 16 91 #define EMR_SETMAPMODE 17 92 #define EMR_SETBKMODE 18 93 #define EMR_SETPOLYFILLMODE 19 94 #define EMR_SETROP2 20 95 #define EMR_SETSTRETCHBLTMODE 21 96 #define EMR_SETTEXTALIGN 22 97 #define EMR_SETCOLORADJUSTMENT 23 98 #define EMR_SETTEXTCOLOR 24 99 #define EMR_SETBKCOLOR 25 100 #define EMR_OFFSETCLIPRGN 26 101 #define EMR_MOVETOEX 27 102 #define EMR_SETMETARGN 28 103 #define EMR_EXCLUDECLIPRECT 29 104 #define EMR_INTERSECTCLIPRECT 30 105 #define EMR_SCALEVIEWPORTEXTEX 31 106 #define EMR_SCALEWINDOWEXTEX 32 107 #define EMR_SAVEDC 33 108 #define EMR_RESTOREDC 34 109 #define EMR_SETWORLDTRANSFORM 35 110 #define EMR_MODIFYWORLDTRANSFORM 36 111 #define EMR_SELECTOBJECT 37 112 #define EMR_CREATEPEN 38 113 #define EMR_CREATEBRUSHINDIRECT 39 114 #define EMR_DELETEOBJECT 40 115 #define EMR_ANGLEARC 41 116 #define EMR_ELLIPSE 42 117 #define EMR_RECTANGLE 43 118 #define EMR_ROUNDRECT 44 119 #define EMR_ARC 45 120 #define EMR_CHORD 46 121 #define EMR_PIE 47 122 #define EMR_SELECTPALETTE 48 123 #define EMR_CREATEPALETTE 49 124 #define EMR_SETPALETTEENTRIES 50 125 #define EMR_RESIZEPALETTE 51 126 #define EMR_REALIZEPALETTE 52 127 #define EMR_EXTFLOODFILL 53 128 #define EMR_LINETO 54 129 #define EMR_ARCTO 55 130 #define EMR_POLYDRAW 56 131 #define EMR_SETARCDIRECTION 57 132 #define EMR_SETMITERLIMIT 58 133 #define EMR_BEGINPATH 59 134 #define EMR_ENDPATH 60 135 #define EMR_CLOSEFIGURE 61 136 #define EMR_FILLPATH 62 137 #define EMR_STROKEANDFILLPATH 63 138 #define EMR_STROKEPATH 64 139 #define EMR_FLATTENPATH 65 140 #define EMR_WIDENPATH 66 141 #define EMR_SELECTCLIPPATH 67 142 #define EMR_ABORTPATH 68 143 #define EMR_GDICOMMENT 70 144 #define EMR_FILLRGN 71 145 #define EMR_FRAMERGN 72 146 #define EMR_INVERTRGN 73 147 #define EMR_PAINTRGN 74 148 #define EMR_EXTSELECTCLIPRGN 75 149 #define EMR_BITBLT 76 150 #define EMR_STRETCHBLT 77 151 #define EMR_MASKBLT 78 152 #define EMR_PLGBLT 79 153 #define EMR_SETDIBITSTODEVICE 80 154 #define EMR_STRETCHDIBITS 81 155 #define EMR_EXTCREATEFONTINDIRECTW 82 156 #define EMR_EXTTEXTOUTA 83 157 #define EMR_EXTTEXTOUTW 84 158 #define EMR_POLYBEZIER16 85 159 #define EMR_POLYGON16 86 160 #define EMR_POLYLINE16 87 161 #define EMR_POLYBEZIERTO16 88 162 #define EMR_POLYLINETO16 89 163 #define EMR_POLYPOLYLINE16 90 164 #define EMR_POLYPOLYGON16 91 165 #define EMR_POLYDRAW16 92 166 #define EMR_CREATEMONOBRUSH 93 167 #define EMR_CREATEDIBPATTERNBRUSHPT 94 168 #define EMR_EXTCREATEPEN 95 169 #define EMR_POLYTEXTOUTA 96 170 #define EMR_POLYTEXTOUTW 97 171 #define EMR_SETICMMODE 98 172 #define EMR_CREATECOLORSPACE 99 173 #define EMR_SETCOLORSPACE 100 174 #define EMR_DELETECOLORSPACE 101 175 #define EMR_GLSRECORD 102 176 #define EMR_GLSBOUNDEDRECORD 103 177 #define EMR_PIXELFORMAT 104 178 #if (_WIN32_WINNT >= 0x0500) 179 #define EMR_DRAWESCAPE 105 180 #define EMR_EXTESCAPE 106 181 #define EMR_STARTDOC 107 182 #define EMR_SMALLTEXTOUT 108 183 #define EMR_FORCEUFIMAPPING 109 184 #define EMR_NAMEDESCAPE 110 185 #define EMR_COLORCORRECTPALETTE 111 186 #define EMR_SETICMPROFILEA 112 187 #define EMR_SETICMPROFILEW 113 188 #define EMR_ALPHABLEND 114 189 #define EMR_ALPHADIBBLEND 115 190 #define EMR_SETLAYOUT 115 191 #define EMR_TRANSPARENTBLT 116 192 #define EMR_TRANSPARENTDIB 117 193 #define EMR_RESERVED_117 117 194 #define EMR_GRADIENTFILL 118 195 #define EMR_SETLINKEDUFIS 119 196 #define EMR_SETTEXTJUSTIFICATION 120 197 #define EMR_COLORMATCHTOTARGETW 121 198 #define EMR_CREATECOLORSPACEW 122 199 200 #define EMR_MIN 1 201 #define EMR_MAX 122 202 203 #endif 204 #define ENHMETA_SIGNATURE 1179469088 205 #define EPS_SIGNATURE 0x46535045 206 #if (_WIN32_WINNT >= 0x0500) 207 #define FR_PRIVATE 0x10 208 #define FR_NOT_ENUM 0x20 209 #endif 210 #define META_SETBKCOLOR 0x201 211 #define META_SETBKMODE 0x102 212 #define META_SETMAPMODE 0x103 213 #define META_SETROP2 0x104 214 #define META_SETRELABS 0x105 215 #define META_SETPOLYFILLMODE 0x106 216 #define META_SETSTRETCHBLTMODE 0x107 217 #define META_SETTEXTCHAREXTRA 0x108 218 #define META_SETTEXTCOLOR 0x209 219 #define META_SETTEXTJUSTIFICATION 0x20A 220 #define META_SETWINDOWORG 0x20B 221 #define META_SETWINDOWEXT 0x20C 222 #define META_SETVIEWPORTORG 0x20D 223 #define META_SETVIEWPORTEXT 0x20E 224 #define META_OFFSETWINDOWORG 0x20F 225 #define META_SCALEWINDOWEXT 0x410 226 #define META_OFFSETVIEWPORTORG 0x211 227 #define META_SCALEVIEWPORTEXT 0x412 228 #define META_LINETO 0x213 229 #define META_MOVETO 0x214 230 #define META_EXCLUDECLIPRECT 0x415 231 #define META_INTERSECTCLIPRECT 0x416 232 #define META_ARC 0x817 233 #define META_ELLIPSE 0x418 234 #define META_FLOODFILL 0x419 235 #define META_PIE 0x81A 236 #define META_RECTANGLE 0x41B 237 #define META_ROUNDRECT 0x61C 238 #define META_PATBLT 0x61D 239 #define META_SAVEDC 0x1E 240 #define META_SETPIXEL 0x41F 241 #define META_OFFSETCLIPRGN 0x220 242 #define META_TEXTOUT 0x521 243 #define META_BITBLT 0x922 244 #define META_STRETCHBLT 0xB23 245 #define META_POLYGON 0x324 246 #define META_POLYLINE 0x325 247 #define META_ESCAPE 0x626 248 #define META_RESTOREDC 0x127 249 #define META_FILLREGION 0x228 250 #define META_FRAMEREGION 0x429 251 #define META_INVERTREGION 0x12A 252 #define META_PAINTREGION 0x12B 253 #define META_SELECTCLIPREGION 0x12C 254 #define META_SELECTOBJECT 0x12D 255 #define META_SETTEXTALIGN 0x12E 256 #define META_CHORD 0x830 257 #define META_SETMAPPERFLAGS 0x231 258 #define META_EXTTEXTOUT 0xa32 259 #define META_SETDIBTODEV 0xd33 260 #define META_SELECTPALETTE 0x234 261 #define META_REALIZEPALETTE 0x35 262 #define META_ANIMATEPALETTE 0x436 263 #define META_SETPALENTRIES 0x37 264 #define META_POLYPOLYGON 0x538 265 #define META_RESIZEPALETTE 0x139 266 #define META_DIBBITBLT 0x940 267 #define META_DIBSTRETCHBLT 0xb41 268 #define META_DIBCREATEPATTERNBRUSH 0x142 269 #define META_STRETCHDIB 0xf43 270 #define META_EXTFLOODFILL 0x548 271 #define META_DELETEOBJECT 0x1f0 272 #define META_CREATEPALETTE 0xf7 273 #define META_CREATEPATTERNBRUSH 0x1F9 274 #define META_CREATEPENINDIRECT 0x2FA 275 #define META_CREATEFONTINDIRECT 0x2FB 276 #define META_CREATEBRUSHINDIRECT 0x2FC 277 #define META_CREATEREGION 0x6FF 278 #define META_DRAWTEXT 0x062F 279 #define META_RESETDC 0x014C 280 #define META_STARTDOC 0x014D 281 #define META_STARTPAGE 0x004F 282 #define META_ENDPAGE 0x0050 283 #define META_ABORTDOC 0x0052 284 #define META_ENDDOC 0x005E 285 #define META_CREATEBRUSH 0x00F8 286 #define META_CREATEBITMAPINDIRECT 0x02FD 287 #define META_CREATEBITMAP 0x06FE 288 #define PT_MOVETO 6 289 #define PT_LINETO 2 290 #define PT_BEZIERTO 4 291 #define PT_CLOSEFIGURE 1 292 #define ELF_VENDOR_SIZE 4 293 #define ELF_VERSION 0 294 #define ELF_CULTURE_LATIN 0 295 #define PFD_TYPE_RGBA 0 296 #define PFD_TYPE_COLORINDEX 1 297 #define PFD_MAIN_PLANE 0 298 #define PFD_OVERLAY_PLANE 1 299 #define PFD_UNDERLAY_PLANE (-1) 300 #define PFD_DOUBLEBUFFER 1 301 #define PFD_STEREO 2 302 #define PFD_DRAW_TO_WINDOW 4 303 #define PFD_DRAW_TO_BITMAP 8 304 #define PFD_SUPPORT_GDI 16 305 #define PFD_SUPPORT_OPENGL 32 306 #define PFD_GENERIC_FORMAT 64 307 #define PFD_NEED_PALETTE 128 308 #define PFD_NEED_SYSTEM_PALETTE 0x00000100 309 #define PFD_SWAP_EXCHANGE 0x00000200 310 #define PFD_SWAP_COPY 0x00000400 311 #define PFD_SWAP_LAYER_BUFFERS 0x00000800 312 #define PFD_GENERIC_ACCELERATED 0x00001000 313 #define PFD_SUPPORT_COMPOSITION 0x00008000 314 #define PFD_DEPTH_DONTCARE 0x20000000 315 #define PFD_DOUBLEBUFFER_DONTCARE 0x40000000 316 #define PFD_STEREO_DONTCARE 0x80000000 317 #define SP_ERROR (-1) 318 #define SP_OUTOFDISK (-4) 319 #define SP_OUTOFMEMORY (-5) 320 #define SP_USERABORT (-3) 321 #define SP_APPABORT (-2) 322 #define BLACKNESS 0x42 323 #define NOTSRCERASE 0x1100A6 324 #define NOTSRCCOPY 0x330008 325 #define SRCERASE 0x440328 326 #define DSTINVERT 0x550009 327 #define PATINVERT 0x5A0049 328 #define SRCINVERT 0x660046 329 #define SRCAND 0x8800C6 330 #define MERGEPAINT 0xBB0226 331 #define MERGECOPY 0xC000CA 332 #define SRCCOPY 0xCC0020 333 #define SRCPAINT 0xEE0086 334 #define PATCOPY 0xF00021 335 #define PATPAINT 0xFB0A09 336 #define WHITENESS 0xFF0062 337 #define R2_BLACK 1 338 #define R2_COPYPEN 13 339 #define R2_MASKNOTPEN 3 340 #define R2_MASKPEN 9 341 #define R2_MASKPENNOT 5 342 #define R2_MERGENOTPEN 12 343 #define R2_MERGEPEN 15 344 #define R2_MERGEPENNOT 14 345 #define R2_NOP 11 346 #define R2_NOT 6 347 #define R2_NOTCOPYPEN 4 348 #define R2_NOTMASKPEN 8 349 #define R2_NOTMERGEPEN 2 350 #define R2_NOTXORPEN 10 351 #define R2_WHITE 16 352 #define R2_XORPEN 7 353 #define CM_OUT_OF_GAMUT 255 354 #define CM_IN_GAMUT 0 355 #define RGN_AND 1 356 #define RGN_COPY 5 357 #define RGN_DIFF 4 358 #define RGN_OR 2 359 #define RGN_XOR 3 360 #define NULLREGION 1 361 #define SIMPLEREGION 2 362 #define COMPLEXREGION 3 363 #define ERROR 0 364 #define CBM_INIT 4 365 #define DIB_PAL_COLORS 1 366 #define DIB_RGB_COLORS 0 367 #define FW_DONTCARE 0 368 #define FW_THIN 100 369 #define FW_EXTRALIGHT 200 370 #define FW_ULTRALIGHT FW_EXTRALIGHT 371 #define FW_LIGHT 300 372 #define FW_NORMAL 400 373 #define FW_REGULAR 400 374 #define FW_MEDIUM 500 375 #define FW_SEMIBOLD 600 376 #define FW_DEMIBOLD FW_SEMIBOLD 377 #define FW_BOLD 700 378 #define FW_EXTRABOLD 800 379 #define FW_ULTRABOLD FW_EXTRABOLD 380 #define FW_HEAVY 900 381 #define FW_BLACK FW_HEAVY 382 #define ANSI_CHARSET 0 383 #define DEFAULT_CHARSET 1 384 #define SYMBOL_CHARSET 2 385 #define SHIFTJIS_CHARSET 128 386 #define HANGEUL_CHARSET 129 387 #define HANGUL_CHARSET 129 388 #define GB2312_CHARSET 134 389 #define CHINESEBIG5_CHARSET 136 390 #define GREEK_CHARSET 161 391 #define TURKISH_CHARSET 162 392 #define HEBREW_CHARSET 177 393 #define ARABIC_CHARSET 178 394 #define BALTIC_CHARSET 186 395 #define RUSSIAN_CHARSET 204 396 #define THAI_CHARSET 222 397 #define EE_CHARSET 238 398 #define EASTEUROPE_CHARSET 238 399 #define OEM_CHARSET 255 400 #define JOHAB_CHARSET 130 401 #define VIETNAMESE_CHARSET 163 402 #define MAC_CHARSET 77 403 /* I don't know if the values of *_CHARSET macros are defined in Windows 404 * or if we can choose them as we want. -- srtxg 405 */ 406 #define VISCII_CHARSET (BYTE)240 /* viscii1.1-1 */ 407 #define TCVN_CHARSET (BYTE)241 /* tcvn-0 */ 408 #define KOI8_CHARSET (BYTE)242 /* koi8-{r,u,ru} */ 409 #define ISO3_CHARSET (BYTE)243 /* iso8859-3 */ 410 #define ISO4_CHARSET (BYTE)244 /* iso8859-4 */ 411 #define ISO10_CHARSET (BYTE)245 /* iso8859-10 */ 412 #define CELTIC_CHARSET (BYTE)246 /* iso8859-14 */ 413 414 #define OUT_DEFAULT_PRECIS 0 415 #define OUT_STRING_PRECIS 1 416 #define OUT_CHARACTER_PRECIS 2 417 #define OUT_STROKE_PRECIS 3 418 #define OUT_TT_PRECIS 4 419 #define OUT_DEVICE_PRECIS 5 420 #define OUT_RASTER_PRECIS 6 421 #define OUT_TT_ONLY_PRECIS 7 422 #define OUT_OUTLINE_PRECIS 8 423 #define OUT_SCREEN_OUTLINE_PRECIS 9 424 #define OUT_PS_ONLY_PRECIS 10 425 #define CLIP_DEFAULT_PRECIS 0 426 #define CLIP_CHARACTER_PRECIS 1 427 #define CLIP_STROKE_PRECIS 2 428 #define CLIP_MASK 15 429 #define CLIP_LH_ANGLES 16 430 #define CLIP_TT_ALWAYS 32 431 #if (_WIN32_WINNT >= _WIN32_WINNT_LONGHORN) 432 #define CLIP_DFA_DISABLE 64 433 #endif 434 #define CLIP_EMBEDDED 128 435 #define DEFAULT_QUALITY 0 436 #define DRAFT_QUALITY 1 437 #define PROOF_QUALITY 2 438 #define NONANTIALIASED_QUALITY 3 439 #define ANTIALIASED_QUALITY 4 440 #define CLEARTYPE_QUALITY 5 441 #define CLEARTYPE_NATURAL_QUALITY 6 442 #define DEFAULT_PITCH 0 443 #define FIXED_PITCH 1 444 #define VARIABLE_PITCH 2 445 #define MONO_FONT 8 446 #define FF_DECORATIVE 80 447 #define FF_DONTCARE 0 448 #define FF_MODERN 48 449 #define FF_ROMAN 16 450 #define FF_SCRIPT 64 451 #define FF_SWISS 32 452 #define PANOSE_COUNT 10 453 #define PAN_FAMILYTYPE_INDEX 0 454 #define PAN_SERIFSTYLE_INDEX 1 455 #define PAN_WEIGHT_INDEX 2 456 #define PAN_PROPORTION_INDEX 3 457 #define PAN_CONTRAST_INDEX 4 458 #define PAN_STROKEVARIATION_INDEX 5 459 #define PAN_ARMSTYLE_INDEX 6 460 #define PAN_LETTERFORM_INDEX 7 461 #define PAN_MIDLINE_INDEX 8 462 #define PAN_XHEIGHT_INDEX 9 463 #define PAN_CULTURE_LATIN 0 464 #define PAN_ANY 0 465 #define PAN_NO_FIT 1 466 #define PAN_FAMILY_TEXT_DISPLAY 2 467 #define PAN_FAMILY_SCRIPT 3 468 #define PAN_FAMILY_DECORATIVE 4 469 #define PAN_FAMILY_PICTORIAL 5 470 #define PAN_SERIF_COVE 2 471 #define PAN_SERIF_OBTUSE_COVE 3 472 #define PAN_SERIF_SQUARE_COVE 4 473 #define PAN_SERIF_OBTUSE_SQUARE_COVE 5 474 #define PAN_SERIF_SQUARE 6 475 #define PAN_SERIF_THIN 7 476 #define PAN_SERIF_BONE 8 477 #define PAN_SERIF_EXAGGERATED 9 478 #define PAN_SERIF_TRIANGLE 10 479 #define PAN_SERIF_NORMAL_SANS 11 480 #define PAN_SERIF_OBTUSE_SANS 12 481 #define PAN_SERIF_PERP_SANS 13 482 #define PAN_SERIF_FLARED 14 483 #define PAN_SERIF_ROUNDED 15 484 #define PAN_WEIGHT_VERY_LIGHT 2 485 #define PAN_WEIGHT_LIGHT 3 486 #define PAN_WEIGHT_THIN 4 487 #define PAN_WEIGHT_BOOK 5 488 #define PAN_WEIGHT_MEDIUM 6 489 #define PAN_WEIGHT_DEMI 7 490 #define PAN_WEIGHT_BOLD 8 491 #define PAN_WEIGHT_HEAVY 9 492 #define PAN_WEIGHT_BLACK 10 493 #define PAN_WEIGHT_NORD 11 494 #define PAN_PROP_OLD_STYLE 2 495 #define PAN_PROP_MODERN 3 496 #define PAN_PROP_EVEN_WIDTH 4 497 #define PAN_PROP_EXPANDED 5 498 #define PAN_PROP_CONDENSED 6 499 #define PAN_PROP_VERY_EXPANDED 7 500 #define PAN_PROP_VERY_CONDENSED 8 501 #define PAN_PROP_MONOSPACED 9 502 #define PAN_CONTRAST_NONE 2 503 #define PAN_CONTRAST_VERY_LOW 3 504 #define PAN_CONTRAST_LOW 4 505 #define PAN_CONTRAST_MEDIUM_LOW 5 506 #define PAN_CONTRAST_MEDIUM 6 507 #define PAN_CONTRAST_MEDIUM_HIGH 7 508 #define PAN_CONTRAST_HIGH 8 509 #define PAN_CONTRAST_VERY_HIGH 9 510 #define PAN_STROKE_GRADUAL_DIAG 2 511 #define PAN_STROKE_GRADUAL_TRAN 3 512 #define PAN_STROKE_GRADUAL_VERT 4 513 #define PAN_STROKE_GRADUAL_HORZ 5 514 #define PAN_STROKE_RAPID_VERT 6 515 #define PAN_STROKE_RAPID_HORZ 7 516 #define PAN_STROKE_INSTANT_VERT 8 517 #define PAN_STRAIGHT_ARMS_HORZ 2 518 #define PAN_STRAIGHT_ARMS_WEDGE 3 519 #define PAN_STRAIGHT_ARMS_VERT 4 520 #define PAN_STRAIGHT_ARMS_SINGLE_SERIF 5 521 #define PAN_STRAIGHT_ARMS_DOUBLE_SERIF 6 522 #define PAN_BENT_ARMS_HORZ 7 523 #define PAN_BENT_ARMS_WEDGE 8 524 #define PAN_BENT_ARMS_VERT 9 525 #define PAN_BENT_ARMS_SINGLE_SERIF 10 526 #define PAN_BENT_ARMS_DOUBLE_SERIF 11 527 #define PAN_LETT_NORMAL_CONTACT 2 528 #define PAN_LETT_NORMAL_WEIGHTED 3 529 #define PAN_LETT_NORMAL_BOXED 4 530 #define PAN_LETT_NORMAL_FLATTENED 5 531 #define PAN_LETT_NORMAL_ROUNDED 6 532 #define PAN_LETT_NORMAL_OFF_CENTER 7 533 #define PAN_LETT_NORMAL_SQUARE 8 534 #define PAN_LETT_OBLIQUE_CONTACT 9 535 #define PAN_LETT_OBLIQUE_WEIGHTED 10 536 #define PAN_LETT_OBLIQUE_BOXED 11 537 #define PAN_LETT_OBLIQUE_FLATTENED 12 538 #define PAN_LETT_OBLIQUE_ROUNDED 13 539 #define PAN_LETT_OBLIQUE_OFF_CENTER 14 540 #define PAN_LETT_OBLIQUE_SQUARE 15 541 #define PAN_MIDLINE_STANDARD_TRIMMED 2 542 #define PAN_MIDLINE_STANDARD_POINTED 3 543 #define PAN_MIDLINE_STANDARD_SERIFED 4 544 #define PAN_MIDLINE_HIGH_TRIMMED 5 545 #define PAN_MIDLINE_HIGH_POINTED 6 546 #define PAN_MIDLINE_HIGH_SERIFED 7 547 #define PAN_MIDLINE_CONSTANT_TRIMMED 8 548 #define PAN_MIDLINE_CONSTANT_POINTED 9 549 #define PAN_MIDLINE_CONSTANT_SERIFED 10 550 #define PAN_MIDLINE_LOW_TRIMMED 11 551 #define PAN_MIDLINE_LOW_POINTED 12 552 #define PAN_MIDLINE_LOW_SERIFED 13 553 #define PAN_XHEIGHT_CONSTANT_SMALL 2 554 #define PAN_XHEIGHT_CONSTANT_STD 3 555 #define PAN_XHEIGHT_CONSTANT_LARGE 4 556 #define PAN_XHEIGHT_DUCKING_SMALL 5 557 #define PAN_XHEIGHT_DUCKING_STD 6 558 #define PAN_XHEIGHT_DUCKING_LARGE 7 559 #define FS_LATIN1 1 560 #define FS_LATIN2 2 561 #define FS_CYRILLIC 4 562 #define FS_GREEK 8 563 #define FS_TURKISH 16 564 #define FS_HEBREW 32 565 #define FS_ARABIC 64 566 #define FS_BALTIC 128 567 #define FS_VIETNAMESE 256 568 #define FS_THAI 0x10000 569 #define FS_JISJAPAN 0x20000 570 #define FS_CHINESESIMP 0x40000 571 #define FS_WANSUNG 0x80000 572 #define FS_CHINESETRAD 0x100000 573 #define FS_JOHAB 0x200000 574 #define FS_SYMBOL 0x80000000 575 #define HS_BDIAGONAL 3 576 #define HS_CROSS 4 577 #define HS_DIAGCROSS 5 578 #define HS_FDIAGONAL 2 579 #define HS_HORIZONTAL 0 580 #define HS_VERTICAL 1 581 #define HS_API_MAX 12 582 #define PS_GEOMETRIC 65536 583 #define PS_COSMETIC 0 584 #define PS_ALTERNATE 8 585 #define PS_SOLID 0 586 #define PS_DASH 1 587 #define PS_DOT 2 588 #define PS_DASHDOT 3 589 #define PS_DASHDOTDOT 4 590 #define PS_NULL 5 591 #define PS_USERSTYLE 7 592 #define PS_INSIDEFRAME 6 593 #define PS_ENDCAP_ROUND 0 594 #define PS_ENDCAP_SQUARE 256 595 #define PS_ENDCAP_FLAT 512 596 #define PS_JOIN_BEVEL 4096 597 #define PS_JOIN_MITER 8192 598 #define PS_JOIN_ROUND 0 599 #define PS_JOIN_MASK 0x0000F000 600 #define PS_STYLE_MASK 15 601 #define PS_ENDCAP_MASK 3840 602 #define PS_TYPE_MASK 983040 603 #define ALTERNATE 1 604 #define WINDING 2 605 #define POLYFILL_LAST 2 606 #define DC_BINNAMES 12 607 #define DC_BINS 6 608 #define DC_COPIES 18 609 #define DC_DRIVER 11 610 #define DC_DATATYPE_PRODUCED 21 611 #define DC_DUPLEX 7 612 #define DC_EMF_COMPLIANT 20 613 #define DC_ENUMRESOLUTIONS 13 614 #define DC_EXTRA 9 615 #define DC_FIELDS 1 616 #define DC_FILEDEPENDENCIES 14 617 #define DC_MAXEXTENT 5 618 #define DC_MINEXTENT 4 619 #define DC_ORIENTATION 17 620 #define DC_PAPERNAMES 16 621 #define DC_PAPERS 2 622 #define DC_PAPERSIZE 3 623 #define DC_SIZE 8 624 #define DC_TRUETYPE 15 625 #define DCTT_BITMAP 1 626 #define DCTT_DOWNLOAD 2 627 #define DCTT_SUBDEV 4 628 #define DCTT_DOWNLOAD_OUTLINE 8 629 #define DC_VERSION 10 630 #define DC_BINADJUST 19 631 #define DC_EMF_COMPLIANT 20 632 #define DC_DATATYPE_PRODUCED 21 633 #define DC_MANUFACTURER 23 634 #define DC_MODEL 24 635 #define DCBA_FACEUPNONE 0 636 #define DCBA_FACEUPCENTER 1 637 #define DCBA_FACEUPLEFT 2 638 #define DCBA_FACEUPRIGHT 3 639 #define DCBA_FACEDOWNNONE 256 640 #define DCBA_FACEDOWNCENTER 257 641 #define DCBA_FACEDOWNLEFT 258 642 #define DCBA_FACEDOWNRIGHT 259 643 #define FLOODFILLBORDER 0 644 #define FLOODFILLSURFACE 1 645 #define ETO_GRAYED 0x00001 646 #define ETO_OPAQUE 0x00002 647 #define ETO_CLIPPED 0x00004 648 #if (WINVER >= 0x0400) 649 #define ETO_GLYPH_INDEX 0x00010 650 #define ETO_RTLREADING 0x00080 651 #define ETO_NUMERICSLOCAL 0x00400 652 #define ETO_NUMERICSLATIN 0x00800 653 #define ETO_IGNORELANGUAGE 0x01000 654 #endif 655 #if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K) 656 #define ETO_PDY 0x02000 657 #endif 658 #if (_WIN32_WINNT >= _WIN32_WINNT_LONGHORN) 659 #define ETO_REVERSE_INDEX_MAP 0x10000 660 #endif 661 #define GDICOMMENT_WINDOWS_METAFILE (-2147483647) 662 #define GDICOMMENT_BEGINGROUP 2 663 #define GDICOMMENT_ENDGROUP 3 664 #define GDICOMMENT_MULTIFORMATS 1073741828 665 #define GDICOMMENT_IDENTIFIER 1128875079 666 #define AD_COUNTERCLOCKWISE 1 667 #define AD_CLOCKWISE 2 668 #define RDH_RECTANGLES 1 669 #define GCPCLASS_LATIN 1 670 #define GCPCLASS_HEBREW 2 671 #define GCPCLASS_ARABIC 2 672 #define GCPCLASS_NEUTRAL 3 673 #define GCPCLASS_LOCALNUMBER 4 674 #define GCPCLASS_LATINNUMBER 5 675 #define GCPCLASS_LATINNUMERICTERMINATOR 6 676 #define GCPCLASS_LATINNUMERICSEPARATOR 7 677 #define GCPCLASS_NUMERICSEPARATOR 8 678 #define GCPCLASS_PREBOUNDLTR 128 679 #define GCPCLASS_PREBOUNDRTL 64 680 #define GCPCLASS_POSTBOUNDLTR 32 681 #define GCPCLASS_POSTBOUNDRTL 16 682 #define GCPGLYPH_LINKBEFORE 0x8000 683 #define GCPGLYPH_LINKAFTER 0x4000 684 #define DCB_DISABLE 8 685 #define DCB_ENABLE 4 686 #define DCB_RESET 1 687 #define DCB_SET 3 688 #define DCB_ACCUMULATE 2 689 #define DCB_DIRTY 2 690 #define OBJ_BRUSH 2 691 #define OBJ_PEN 1 692 #define OBJ_PAL 5 693 #define OBJ_FONT 6 694 #define OBJ_BITMAP 7 695 #define OBJ_EXTPEN 11 696 #define OBJ_REGION 8 697 #define OBJ_DC 3 698 #define OBJ_MEMDC 10 699 #define OBJ_METAFILE 9 700 #define OBJ_METADC 4 701 #define OBJ_ENHMETAFILE 13 702 #define OBJ_ENHMETADC 12 703 #define OBJ_COLORSPACE 14 704 #define DRIVERVERSION 0 705 #define TECHNOLOGY 2 706 #define DT_PLOTTER 0 707 #define DT_RASDISPLAY 1 708 #define DT_RASPRINTER 2 709 #define DT_RASCAMERA 3 710 #define DT_CHARSTREAM 4 711 #define DT_METAFILE 5 712 #define DT_DISPFILE 6 713 #define HORZSIZE 4 714 #define VERTSIZE 6 715 #define HORZRES 8 716 #define VERTRES 10 717 #define LOGPIXELSX 88 718 #define LOGPIXELSY 90 719 #define BITSPIXEL 12 720 #define PLANES 14 721 #define NUMBRUSHES 16 722 #define NUMPENS 18 723 #define NUMFONTS 22 724 #define NUMCOLORS 24 725 #define NUMMARKERS 20 726 #define ASPECTX 40 727 #define ASPECTY 42 728 #define ASPECTXY 44 729 #define PDEVICESIZE 26 730 #define CLIPCAPS 36 731 #define SIZEPALETTE 104 732 #define NUMRESERVED 106 733 #define COLORRES 108 734 #define PHYSICALWIDTH 110 735 #define PHYSICALHEIGHT 111 736 #define PHYSICALOFFSETX 112 737 #define PHYSICALOFFSETY 113 738 #define SCALINGFACTORX 114 739 #define SCALINGFACTORY 115 740 #define VREFRESH 116 741 #define DESKTOPHORZRES 118 742 #define DESKTOPVERTRES 117 743 #define BLTALIGNMENT 119 744 #define RASTERCAPS 38 745 #define RC_BANDING 2 746 #define RC_BITBLT 1 747 #define RC_BITMAP64 8 748 #define RC_DI_BITMAP 128 749 #define RC_DIBTODEV 512 750 #define RC_FLOODFILL 4096 751 #define RC_GDI20_OUTPUT 16 752 #define RC_PALETTE 256 753 #define RC_SCALING 4 754 #define RC_STRETCHBLT 2048 755 #define RC_STRETCHDIB 8192 756 #define RC_DEVBITS 0x8000 757 #define RC_OP_DX_OUTPUT 0x4000 758 #define CURVECAPS 28 759 #define CC_NONE 0 760 #define CC_CIRCLES 1 761 #define CC_PIE 2 762 #define CC_CHORD 4 763 #define CC_ELLIPSES 8 764 #define CC_WIDE 16 765 #define CC_STYLED 32 766 #define CC_WIDESTYLED 64 767 #define CC_INTERIORS 128 768 #define CC_ROUNDRECT 256 769 #define LINECAPS 30 770 #define LC_NONE 0 771 #define LC_POLYLINE 2 772 #define LC_MARKER 4 773 #define LC_POLYMARKER 8 774 #define LC_WIDE 16 775 #define LC_STYLED 32 776 #define LC_WIDESTYLED 64 777 #define LC_INTERIORS 128 778 #define POLYGONALCAPS 32 779 #define RC_BANDING 2 780 #define RC_BIGFONT 1024 781 #define RC_BITBLT 1 782 #define RC_BITMAP64 8 783 #define RC_DEVBITS 0x8000 784 #define RC_DI_BITMAP 128 785 #define RC_GDI20_OUTPUT 16 786 #define RC_GDI20_STATE 32 787 #define RC_NONE 0 788 #define RC_OP_DX_OUTPUT 0x4000 789 #define RC_PALETTE 256 790 #define RC_SAVEBITMAP 64 791 #define RC_SCALING 4 792 #define PC_NONE 0 793 #define PC_POLYGON 1 794 #define PC_POLYPOLYGON 256 795 #define PC_PATHS 512 796 #define PC_RECTANGLE 2 797 #define PC_WINDPOLYGON 4 798 #define PC_SCANLINE 8 799 #define PC_TRAPEZOID 4 800 #define PC_WIDE 16 801 #define PC_STYLED 32 802 #define PC_WIDESTYLED 64 803 #define PC_INTERIORS 128 804 #define PC_PATHS 512 805 #define TEXTCAPS 34 806 #define TC_OP_CHARACTER 1 807 #define TC_OP_STROKE 2 808 #define TC_CP_STROKE 4 809 #define TC_CR_90 8 810 #define TC_CR_ANY 16 811 #define TC_SF_X_YINDEP 32 812 #define TC_SA_DOUBLE 64 813 #define TC_SA_INTEGER 128 814 #define TC_SA_CONTIN 256 815 #define TC_EA_DOUBLE 512 816 #define TC_IA_ABLE 1024 817 #define TC_UA_ABLE 2048 818 #define TC_SO_ABLE 4096 819 #define TC_RA_ABLE 8192 820 #define TC_VA_ABLE 16384 821 #define TC_RESERVED 32768 822 #define TC_SCROLLBLT 65536 823 /* CLIPCAPS */ 824 #define CP_NONE 0 825 #define CP_RECTANGLE 1 826 #define CP_REGION 2 827 #define GCP_DBCS 1 828 #define GCP_ERROR 0x8000 829 #define GCP_CLASSIN 0x80000 830 #define GCP_DIACRITIC 256 831 #define GCP_DISPLAYZWG 0x400000 832 #define GCP_GLYPHSHAPE 16 833 #define GCP_JUSTIFY 0x10000 834 #define GCP_JUSTIFYIN 0x200000 835 #define GCP_KASHIDA 1024 836 #define GCP_LIGATE 32 837 #define GCP_MAXEXTENT 0x100000 838 #define GCP_NEUTRALOVERRIDE 0x2000000 839 #define GCP_NUMERICOVERRIDE 0x1000000 840 #define GCP_NUMERICSLATIN 0x4000000 841 #define GCP_NUMERICSLOCAL 0x8000000 842 #define GCP_REORDER 2 843 #define GCP_SYMSWAPOFF 0x800000 844 #define GCP_USEKERNING 8 845 #define FLI_GLYPHS 0x40000 846 #define FLI_MASK 0x103b 847 #define GGO_METRICS 0 848 #define GGO_BITMAP 1 849 #define GGO_NATIVE 2 850 #define GGO_BEZIER 3 851 #define GGO_GRAY2_BITMAP 4 852 #define GGO_GRAY4_BITMAP 5 853 #define GGO_GRAY8_BITMAP 6 854 #define GGO_GLYPH_INDEX 128 855 #define GGO_UNHINTED 256 856 #ifdef __WINESRC__ 857 #define WINE_GGO_GRAY16_BITMAP 0x10 858 #define WINE_GGO_HRGB_BITMAP 0x11 859 #define WINE_GGO_HBGR_BITMAP 0x12 860 #define WINE_GGO_VRGB_BITMAP 0x13 861 #define WINE_GGO_VBGR_BITMAP 0x14 862 #endif 863 #define GM_COMPATIBLE 1 864 #define GM_ADVANCED 2 865 #define GM_LAST 2 866 #define MM_ANISOTROPIC 8 867 #define MM_HIENGLISH 5 868 #define MM_HIMETRIC 3 869 #define MM_ISOTROPIC 7 870 #define MM_LOENGLISH 4 871 #define MM_LOMETRIC 2 872 #define MM_TEXT 1 873 #define MM_TWIPS 6 874 #define MM_MAX_FIXEDSCALE MM_TWIPS 875 #define MM_MIN MM_TEXT 876 #define MM_MAX MM_ANISOTROPIC 877 #define ABSOLUTE 1 878 #define RELATIVE 2 879 #define PC_EXPLICIT 2 880 #define PC_NOCOLLAPSE 4 881 #define PC_RESERVED 1 882 #define CLR_INVALID 0xFFFFFFFF 883 #define PT_MOVETO 6 884 #define PT_LINETO 2 885 #define PT_BEZIERTO 4 886 #define PT_CLOSEFIGURE 1 887 #define TT_AVAILABLE 1 888 #define TT_ENABLED 2 889 890 #ifdef __WINESRC__ 891 #define WINE_TT_SUBPIXEL_RENDERING_ENABLED 0x4000 892 #define WINE_TT_HINTER_ENABLED 0x8000 893 #endif 894 895 #define BLACK_BRUSH 4 896 #define DKGRAY_BRUSH 3 897 #define GRAY_BRUSH 2 898 #define HOLLOW_BRUSH 5 899 #define LTGRAY_BRUSH 1 900 #define NULL_BRUSH 5 901 #define WHITE_BRUSH 0 902 #define BLACK_PEN 7 903 #define NULL_PEN 8 904 #define WHITE_PEN 6 905 #define ANSI_FIXED_FONT 11 906 #define ANSI_VAR_FONT 12 907 #define DEVICE_DEFAULT_FONT 14 908 #define DEFAULT_GUI_FONT 17 909 #define OEM_FIXED_FONT 10 910 #define SYSTEM_FONT 13 911 #define SYSTEM_FIXED_FONT 16 912 #define DEFAULT_PALETTE 15 913 #if (_WIN32_WINNT >= 0x0500) 914 #define DC_BRUSH 18 915 #define DC_PEN 19 916 #endif 917 #if (_WIN32_WINNT >= 0x0500) 918 #define STOCK_LAST 19 919 #elif (WINVER >= 0x0400) 920 #define STOCK_LAST 17 921 #else 922 #define STOCK_LAST 16 923 #endif 924 #define SYSPAL_NOSTATIC 2 925 #define SYSPAL_STATIC 1 926 #define SYSPAL_ERROR 0 927 #define TA_BASELINE 24 928 #define TA_BOTTOM 8 929 #define TA_TOP 0 930 #define TA_CENTER 6 931 #define TA_LEFT 0 932 #define TA_RIGHT 2 933 #define TA_RTLREADING 256 934 #define TA_NOUPDATECP 0 935 #define TA_UPDATECP 1 936 #define TA_MASK (TA_BASELINE+TA_CENTER+TA_UPDATECP+TA_RTLREADING) 937 #define VTA_BASELINE 24 938 #define VTA_CENTER 6 939 #define VTA_LEFT TA_BOTTOM 940 #define VTA_RIGHT TA_TOP 941 #define VTA_BOTTOM TA_RIGHT 942 #define VTA_TOP TA_LEFT 943 #define MWT_IDENTITY 1 944 #define MWT_LEFTMULTIPLY 2 945 #define MWT_RIGHTMULTIPLY 3 946 #define MWT_MIN MWT_IDENTITY 947 #define MWT_MAX MWT_RIGHTMULTIPLY 948 #define OPAQUE 2 949 #define TRANSPARENT 1 950 #define BKMODE_LAST 2 951 #define BLACKONWHITE 1 952 #define WHITEONBLACK 2 953 #define COLORONCOLOR 3 954 #define HALFTONE 4 955 #define MAXSTRETCHBLTMODE 4 956 #define STRETCH_ANDSCANS 1 957 #define STRETCH_DELETESCANS 3 958 #define STRETCH_HALFTONE 4 959 #define STRETCH_ORSCANS 2 960 #define TCI_SRCCHARSET 1 961 #define TCI_SRCCODEPAGE 2 962 #define TCI_SRCFONTSIG 3 963 #define TCI_SRCLOCALE 4096 964 #if (_WIN32_WINNT >= 0x0500) 965 #define SHADEBLENDCAPS 120 966 #define COLORMGMTCAPS 121 967 /* SHADEBLENDCAPS */ 968 #define SB_NONE 0x00000000 969 #define SB_CONST_ALPHA 0x00000001 970 #define SB_PIXEL_ALPHA 0x00000002 971 #define SB_PREMULT_ALPHA 0x00000004 972 #define SB_GRAD_RECT 0x00000010 973 #define SB_GRAD_TRI 0x00000020 974 /* Color Management caps */ 975 #define CM_NONE 0x00000000 976 #define CM_DEVICE_ICM 0x00000001 977 #define CM_GAMMA_RAMP 0x00000002 978 #define CM_CMYK_COLOR 0x00000004 979 #endif 980 #define ICM_ON 2 981 #define ICM_OFF 1 982 #define ICM_QUERY 3 983 #define NEWFRAME 1 984 #define ABORTDOC 2 985 #define NEXTBAND 3 986 #define SETCOLORTABLE 4 987 #define GETCOLORTABLE 5 988 #define FLUSHOUTPUT 6 989 #define DRAFTMODE 7 990 #define QUERYESCSUPPORT 8 991 #define SETABORTPROC 9 992 #define STARTDOC 10 993 #define ENDDOC 11 994 #define GETPHYSPAGESIZE 12 995 #define GETPRINTINGOFFSET 13 996 #define GETSCALINGFACTOR 14 997 #define MFCOMMENT 15 998 #define GETPENWIDTH 16 999 #define SETCOPYCOUNT 17 1000 #define SELECTPAPERSOURCE 18 1001 #define DEVICEDATA 19 1002 #define PASSTHROUGH 19 1003 #define GETTECHNOLGY 20 1004 #define GETTECHNOLOGY 20 1005 #define SETLINECAP 21 1006 #define SETLINEJOIN 22 1007 #define SETMITERLIMIT 23 1008 #define BANDINFO 24 1009 #define DRAWPATTERNRECT 25 1010 #define GETVECTORPENSIZE 26 1011 #define GETVECTORBRUSHSIZE 27 1012 #define ENABLEDUPLEX 28 1013 #define GETSETPAPERBINS 29 1014 #define GETSETPRINTORIENT 30 1015 #define ENUMPAPERBINS 31 1016 #define SETDIBSCALING 32 1017 #define EPSPRINTING 33 1018 #define ENUMPAPERMETRICS 34 1019 #define GETSETPAPERMETRICS 35 1020 #define POSTSCRIPT_DATA 37 1021 #define POSTSCRIPT_IGNORE 38 1022 #define MOUSETRAILS 39 1023 #define GETDEVICEUNITS 42 1024 #define GETEXTENDEDTEXTMETRICS 256 1025 #define GETEXTENTTABLE 257 1026 #define GETPAIRKERNTABLE 258 1027 #define GETTRACKKERNTABLE 259 1028 #define EXTTEXTOUT 512 1029 #define GETFACENAME 513 1030 #define DOWNLOADFACE 514 1031 #define ENABLERELATIVEWIDTHS 768 1032 #define ENABLEPAIRKERNING 769 1033 #define SETKERNTRACK 770 1034 #define SETALLJUSTVALUES 771 1035 #define SETCHARSET 772 1036 #define STRETCHBLT 2048 1037 #define GETSETSCREENPARAMS 3072 1038 #define QUERYDIBSUPPORT 3073 1039 #define BEGIN_PATH 4096 1040 #define CLIP_TO_PATH 4097 1041 #define END_PATH 4098 1042 #define EXT_DEVICE_CAPS 4099 1043 #define RESTORE_CTM 4100 1044 #define SAVE_CTM 4101 1045 #define SET_ARC_DIRECTION 4102 1046 #define SET_BACKGROUND_COLOR 4103 1047 #define SET_POLY_MODE 4104 1048 #define SET_SCREEN_ANGLE 4105 1049 #define SET_SPREAD 4106 1050 #define TRANSFORM_CTM 4107 1051 #define SET_CLIP_BOX 4108 1052 #define SET_BOUNDS 4109 1053 #define SET_MIRROR_MODE 4110 1054 #define OPENCHANNEL 4110 1055 #define DOWNLOADHEADER 4111 1056 #define CLOSECHANNEL 4112 1057 #define POSTSCRIPT_PASSTHROUGH 4115 1058 #define ENCAPSULATED_POSTSCRIPT 4116 1059 #define QDI_SETDIBITS 1 1060 #define QDI_GETDIBITS 2 1061 #define QDI_DIBTOSCREEN 4 1062 #define QDI_STRETCHDIB 8 1063 #define SP_NOTREPORTED 0x4000 1064 #define PR_JOBSTATUS 0 1065 #define ASPECT_FILTERING 1 1066 #define GS_8BIT_INDICES 0x00000001 1067 #define GGI_MARK_NONEXISTING_GLYPHS 0X0001 1068 #define BS_SOLID 0 1069 #define BS_NULL 1 1070 #define BS_HOLLOW 1 1071 #define BS_HATCHED 2 1072 #define BS_PATTERN 3 1073 #define BS_INDEXED 4 1074 #define BS_DIBPATTERN 5 1075 #define BS_DIBPATTERNPT 6 1076 #define BS_PATTERN8X8 7 1077 #define BS_DIBPATTERN8X8 8 1078 #define BS_MONOPATTERN 9 1079 #define LCS_CALIBRATED_RGB 0 1080 #define LCS_DEVICE_RGB 1 1081 #define LCS_DEVICE_CMYK 2 1082 #define LCS_GM_BUSINESS 1 1083 #define LCS_GM_GRAPHICS 2 1084 #define LCS_GM_IMAGES 4 1085 #define LCS_GM_ABS_COLORIMETRIC 8 1086 #define LCS_SIGNATURE 0x50534F43 // 'PSOC' 1087 #define LCS_sRGB 'sRGB' 1088 #define LCS_WINDOWS_COLOR_SPACE 'Win ' 1089 #define RASTER_FONTTYPE 1 1090 #define DEVICE_FONTTYPE 2 1091 #define TRUETYPE_FONTTYPE 4 1092 #define DMORIENT_PORTRAIT 1 1093 #define DMORIENT_LANDSCAPE 2 1094 #define DMPAPER_FIRST 1 1095 #define DMPAPER_LETTER 1 1096 #define DMPAPER_LETTERSMALL 2 1097 #define DMPAPER_TABLOID 3 1098 #define DMPAPER_LEDGER 4 1099 #define DMPAPER_LEGAL 5 1100 #define DMPAPER_STATEMENT 6 1101 #define DMPAPER_EXECUTIVE 7 1102 #define DMPAPER_A3 8 1103 #define DMPAPER_A4 9 1104 #define DMPAPER_A4SMALL 10 1105 #define DMPAPER_A5 11 1106 #define DMPAPER_B4 12 1107 #define DMPAPER_B5 13 1108 #define DMPAPER_FOLIO 14 1109 #define DMPAPER_QUARTO 15 1110 #define DMPAPER_10X14 16 1111 #define DMPAPER_11X17 17 1112 #define DMPAPER_NOTE 18 1113 #define DMPAPER_ENV_9 19 1114 #define DMPAPER_ENV_10 20 1115 #define DMPAPER_ENV_11 21 1116 #define DMPAPER_ENV_12 22 1117 #define DMPAPER_ENV_14 23 1118 #define DMPAPER_CSHEET 24 1119 #define DMPAPER_DSHEET 25 1120 #define DMPAPER_ESHEET 26 1121 #define DMPAPER_ENV_DL 27 1122 #define DMPAPER_ENV_C5 28 1123 #define DMPAPER_ENV_C3 29 1124 #define DMPAPER_ENV_C4 30 1125 #define DMPAPER_ENV_C6 31 1126 #define DMPAPER_ENV_C65 32 1127 #define DMPAPER_ENV_B4 33 1128 #define DMPAPER_ENV_B5 34 1129 #define DMPAPER_ENV_B6 35 1130 #define DMPAPER_ENV_ITALY 36 1131 #define DMPAPER_ENV_MONARCH 37 1132 #define DMPAPER_ENV_PERSONAL 38 1133 #define DMPAPER_FANFOLD_US 39 1134 #define DMPAPER_FANFOLD_STD_GERMAN 40 1135 #define DMPAPER_FANFOLD_LGL_GERMAN 41 1136 #define DMPAPER_ISO_B4 42 1137 #define DMPAPER_JAPANESE_POSTCARD 43 1138 #define DMPAPER_9X11 44 1139 #define DMPAPER_10X11 45 1140 #define DMPAPER_15X11 46 1141 #define DMPAPER_ENV_INVITE 47 1142 #define DMPAPER_RESERVED_48 48 1143 #define DMPAPER_RESERVED_49 49 1144 #define DMPAPER_LETTER_EXTRA 50 1145 #define DMPAPER_LEGAL_EXTRA 51 1146 #define DMPAPER_TABLOID_EXTRA 52 1147 #define DMPAPER_A4_EXTRA 53 1148 #define DMPAPER_LETTER_TRANSVERSE 54 1149 #define DMPAPER_A4_TRANSVERSE 55 1150 #define DMPAPER_LETTER_EXTRA_TRANSVERSE 56 1151 #define DMPAPER_A_PLUS 57 1152 #define DMPAPER_B_PLUS 58 1153 #define DMPAPER_LETTER_PLUS 59 1154 #define DMPAPER_A4_PLUS 60 1155 #define DMPAPER_A5_TRANSVERSE 61 1156 #define DMPAPER_B5_TRANSVERSE 62 1157 #define DMPAPER_A3_EXTRA 63 1158 #define DMPAPER_A5_EXTRA 64 1159 #define DMPAPER_B5_EXTRA 65 1160 #define DMPAPER_A2 66 1161 #define DMPAPER_A3_TRANSVERSE 67 1162 #define DMPAPER_A3_EXTRA_TRANSVERSE 68 1163 #define DMPAPER_LAST 68 1164 #define DMPAPER_USER 256 1165 #define DMBIN_FIRST 1 1166 #define DMBIN_UPPER 1 1167 #define DMBIN_ONLYONE 1 1168 #define DMBIN_LOWER 2 1169 #define DMBIN_MIDDLE 3 1170 #define DMBIN_MANUAL 4 1171 #define DMBIN_ENVELOPE 5 1172 #define DMBIN_ENVMANUAL 6 1173 #define DMBIN_AUTO 7 1174 #define DMBIN_TRACTOR 8 1175 #define DMBIN_SMALLFMT 9 1176 #define DMBIN_LARGEFMT 10 1177 #define DMBIN_LARGECAPACITY 11 1178 #define DMBIN_CASSETTE 14 1179 #define DMBIN_FORMSOURCE 15 1180 #define DMBIN_LAST 15 1181 #define DMBIN_USER 256 1182 #define DMRES_DRAFT (-1) 1183 #define DMRES_LOW (-2) 1184 #define DMRES_MEDIUM (-3) 1185 #define DMRES_HIGH (-4) 1186 #define DMCOLOR_MONOCHROME 1 1187 #define DMCOLOR_COLOR 2 1188 #define DMDUP_SIMPLEX 1 1189 #define DMDUP_VERTICAL 2 1190 #define DMDUP_HORIZONTAL 3 1191 #define DMTT_BITMAP 1 1192 #define DMTT_DOWNLOAD 2 1193 #define DMTT_SUBDEV 3 1194 #define DMTT_DOWNLOAD_OUTLINE 4 1195 #define DMCOLLATE_FALSE 0 1196 #define DMCOLLATE_TRUE 1 1197 1198 1199 #define DMDO_DEFAULT 0 1200 #define DMDO_90 1 1201 #define DMDO_180 2 1202 #define DMDO_270 3 1203 1204 #define DMDFO_DEFAULT 0 1205 #define DMDFO_STRETCH 1 1206 #define DMDFO_CENTER 2 1207 1208 1209 #define DM_GRAYSCALE 0x00000001 1210 #define DM_INTERLACED 0x00000002 1211 #define DMDISPLAYFLAGS_TEXTMODE 0x00000004 1212 1213 1214 #define DM_UPDATE 1 1215 #define DM_COPY 2 1216 #define DM_PROMPT 4 1217 #define DM_MODIFY 8 1218 #define DM_IN_BUFFER DM_MODIFY 1219 #define DM_IN_PROMPT DM_PROMPT 1220 #define DM_OUT_BUFFER DM_COPY 1221 #define DM_OUT_DEFAULT DM_UPDATE 1222 1223 1224 #if (WINVER >= 0x0500) || (_WIN32_WINNT >= _WIN32_WINNT_NT4) 1225 #define DM_SPECVERSION 0x0401 1226 #elif (WINVER >= 0x0400) 1227 #define DM_SPECVERSION 0x0400 1228 #else 1229 #define DM_SPECVERSION 0x0320 1230 #endif 1231 1232 #define DM_ORIENTATION 0x00000001 1233 #define DM_PAPERSIZE 0x00000002 1234 #define DM_PAPERLENGTH 0x00000004 1235 #define DM_PAPERWIDTH 0x00000008 1236 #define DM_SCALE 0x00000010 1237 #define DM_POSITION 0x00000020 1238 #define DM_NUP 0x00000040 1239 #define DM_DISPLAYORIENTATION 0x00000080 1240 #define DM_COPIES 0x00000100 1241 #define DM_DEFAULTSOURCE 0x00000200 1242 #define DM_PRINTQUALITY 0x00000400 1243 #define DM_COLOR 0x00000800 1244 #define DM_DUPLEX 0x00001000 1245 #define DM_YRESOLUTION 0x00002000 1246 #define DM_TTOPTION 0x00004000 1247 #define DM_COLLATE 0x00008000 1248 #define DM_FORMNAME 0x00010000 1249 #define DM_LOGPIXELS 0x00020000 1250 #define DM_BITSPERPEL 0x00040000 1251 #define DM_PELSWIDTH 0x00080000 1252 #define DM_PELSHEIGHT 0x00100000 1253 #define DM_DISPLAYFLAGS 0x00200000 1254 #define DM_DISPLAYFREQUENCY 0x00400000 1255 #define DM_ICMMETHOD 0x00800000 1256 #define DM_ICMINTENT 0x01000000 1257 #define DM_MEDIATYPE 0x02000000 1258 #define DM_DITHERTYPE 0x04000000 1259 #define DM_PANNINGWIDTH 0x08000000 1260 #define DM_PANNINGHEIGHT 0x10000000 1261 #if (WINVER >= 0x0501) 1262 #define DM_DISPLAYFIXEDOUTPUT 0x20000000 1263 #endif 1264 1265 #define QDC_ALL_PATHS 0x00000001 1266 1267 #define DMICMMETHOD_NONE 1 1268 #define DMICMMETHOD_SYSTEM 2 1269 #define DMICMMETHOD_DRIVER 3 1270 #define DMICMMETHOD_DEVICE 4 1271 #define DMICMMETHOD_USER 256 1272 #define DMICM_SATURATE 1 1273 #define DMICM_CONTRAST 2 1274 #define DMICM_COLORMETRIC 3 1275 #define DMICM_USER 256 1276 #define DMMEDIA_STANDARD 1 1277 #define DMMEDIA_TRANSPARENCY 2 1278 #define DMMEDIA_GLOSSY 3 1279 #define DMMEDIA_USER 256 1280 #define DMDITHER_NONE 1 1281 #define DMDITHER_COARSE 2 1282 #define DMDITHER_FINE 3 1283 #define DMDITHER_LINEART 4 1284 #define DMDITHER_ERRORDIFFUSION 5 1285 #define DMDITHER_RESERVED6 6 1286 #define DMDITHER_RESERVED7 7 1287 #define DMDITHER_RESERVED8 8 1288 #define DMDITHER_RESERVED9 9 1289 #define DMDITHER_GRAYSCALE 10 1290 #define DMDITHER_USER 256 1291 #define GDI_ERROR 0xFFFFFFFF 1292 #define HGDI_ERROR ((HANDLE)GDI_ERROR) 1293 #define TMPF_FIXED_PITCH 1 1294 #define TMPF_VECTOR 2 1295 #define TMPF_TRUETYPE 4 1296 #define TMPF_DEVICE 8 1297 #define NTM_ITALIC 1 1298 #define NTM_BOLD 32 1299 #define NTM_REGULAR 64 1300 #define TT_POLYGON_TYPE 24 1301 #define TT_PRIM_LINE 1 1302 #define TT_PRIM_QSPLINE 2 1303 #define TT_PRIM_CSPLINE 3 1304 #define FONTMAPPER_MAX 10 1305 #define ENHMETA_STOCK_OBJECT 0x80000000 1306 #define WGL_FONT_LINES 0 1307 #define WGL_FONT_POLYGONS 1 1308 #define LPD_DOUBLEBUFFER 1 1309 #define LPD_STEREO 2 1310 #define LPD_SUPPORT_GDI 16 1311 #define LPD_SUPPORT_OPENGL 32 1312 #define LPD_SHARE_DEPTH 64 1313 #define LPD_SHARE_STENCIL 128 1314 #define LPD_SHARE_ACCUM 256 1315 #define LPD_SWAP_EXCHANGE 512 1316 #define LPD_SWAP_COPY 1024 1317 #define LPD_TRANSPARENT 4096 1318 #define LPD_TYPE_RGBA 0 1319 #define LPD_TYPE_COLORINDEX 1 1320 #define WGL_SWAP_MAIN_PLANE 1 1321 #define WGL_SWAP_OVERLAY1 2 1322 #define WGL_SWAP_OVERLAY2 4 1323 #define WGL_SWAP_OVERLAY3 8 1324 #define WGL_SWAP_OVERLAY4 16 1325 #define WGL_SWAP_OVERLAY5 32 1326 #define WGL_SWAP_OVERLAY6 64 1327 #define WGL_SWAP_OVERLAY7 128 1328 #define WGL_SWAP_OVERLAY8 256 1329 #define WGL_SWAP_OVERLAY9 512 1330 #define WGL_SWAP_OVERLAY10 1024 1331 #define WGL_SWAP_OVERLAY11 2048 1332 #define WGL_SWAP_OVERLAY12 4096 1333 #define WGL_SWAP_OVERLAY13 8192 1334 #define WGL_SWAP_OVERLAY14 16384 1335 #define WGL_SWAP_OVERLAY15 32768 1336 #define WGL_SWAP_UNDERLAY1 65536 1337 #define WGL_SWAP_UNDERLAY2 0x20000 1338 #define WGL_SWAP_UNDERLAY3 0x40000 1339 #define WGL_SWAP_UNDERLAY4 0x80000 1340 #define WGL_SWAP_UNDERLAY5 0x100000 1341 #define WGL_SWAP_UNDERLAY6 0x200000 1342 #define WGL_SWAP_UNDERLAY7 0x400000 1343 #define WGL_SWAP_UNDERLAY8 0x800000 1344 #define WGL_SWAP_UNDERLAY9 0x1000000 1345 #define WGL_SWAP_UNDERLAY10 0x2000000 1346 #define WGL_SWAP_UNDERLAY11 0x4000000 1347 #define WGL_SWAP_UNDERLAY12 0x8000000 1348 #define WGL_SWAP_UNDERLAY13 0x10000000 1349 #define WGL_SWAP_UNDERLAY14 0x20000000 1350 #define WGL_SWAP_UNDERLAY15 0x40000000 1351 #define AC_SRC_OVER 0 1352 #define LAYOUT_LTR 0 1353 #define LAYOUT_RTL 1 // Right to left 1354 #define LAYOUT_BTT 2 // Bottom to top 1355 #define LAYOUT_VBH 4 // Vertical before horizontal 1356 #define LAYOUT_ORIENTATIONMASK (LAYOUT_RTL | LAYOUT_BTT | LAYOUT_VBH) 1357 #define LAYOUT_BITMAPORIENTATIONPRESERVED 8 1358 #define CAPTUREBLT 0x40000000 1359 #define NOMIRRORBITMAP 0x80000000 1360 #if (WINVER > 0x400) 1361 #define CS_ENABLE 0x00000001 1362 #define CS_DISABLE 0x00000002 1363 #define CS_DELETE_TRANSFORM 0x00000003 1364 #endif 1365 1366 1367 1368 #if (WINVER > 0x500) 1369 #define GRADIENT_FILL_RECT_H 0x00 1370 #define GRADIENT_FILL_RECT_V 0x01 1371 #define GRADIENT_FILL_TRIANGLE 0x02 1372 #define GRADIENT_FILL_OP_FLAG 0xff 1373 #define COLORMATCHTOTARGET_EMBEDED 0x00000001 1374 #define CREATECOLORSPACE_EMBEDED 0x00000001 1375 #define SETICMPROFILE_EMBEDED 0x00000001 1376 #endif 1377 1378 #define DISPLAY_DEVICE_ATTACHED_TO_DESKTOP 0x00000001 1379 #define DISPLAY_DEVICE_MULTI_DRIVER 0x00000002 1380 #define DISPLAY_DEVICE_PRIMARY_DEVICE 0x00000004 1381 #define DISPLAY_DEVICE_MIRRORING_DRIVER 0x00000008 1382 #define DISPLAY_DEVICE_VGA_COMPATIBLE 0x00000010 1383 #define DISPLAY_DEVICE_REMOVABLE 0x00000020 1384 #define DISPLAY_DEVICE_DISCONNECT 0x02000000 1385 #define DISPLAY_DEVICE_REMOTE 0x04000000 1386 #define DISPLAY_DEVICE_MODESPRUNED 0x08000000 1387 #ifndef RC_INVOKED 1388 typedef struct _ABC { 1389 int abcA; 1390 UINT abcB; 1391 int abcC; 1392 } ABC, *PABC, *LPABC; 1393 typedef struct _ABCFLOAT { 1394 FLOAT abcfA; 1395 FLOAT abcfB; 1396 FLOAT abcfC; 1397 } ABCFLOAT, *PABCFLOAT, *LPABCFLOAT; 1398 typedef struct tagBITMAP { 1399 LONG bmType; 1400 LONG bmWidth; 1401 LONG bmHeight; 1402 LONG bmWidthBytes; 1403 WORD bmPlanes; 1404 WORD bmBitsPixel; 1405 LPVOID bmBits; 1406 } BITMAP,*PBITMAP,*LPBITMAP; 1407 typedef struct tagBITMAPCOREHEADER { 1408 DWORD bcSize; 1409 WORD bcWidth; 1410 WORD bcHeight; 1411 WORD bcPlanes; 1412 WORD bcBitCount; 1413 } BITMAPCOREHEADER,*LPBITMAPCOREHEADER,*PBITMAPCOREHEADER; 1414 #include "pshpack1.h" 1415 typedef struct tagRGBTRIPLE { 1416 BYTE rgbtBlue; 1417 BYTE rgbtGreen; 1418 BYTE rgbtRed; 1419 } RGBTRIPLE,*LPRGBTRIPLE; 1420 #include "poppack.h" 1421 #include "pshpack2.h" 1422 typedef struct tagBITMAPFILEHEADER { 1423 WORD bfType; 1424 DWORD bfSize; 1425 WORD bfReserved1; 1426 WORD bfReserved2; 1427 DWORD bfOffBits; 1428 } BITMAPFILEHEADER,*LPBITMAPFILEHEADER,*PBITMAPFILEHEADER; 1429 #include "poppack.h" 1430 typedef struct _BITMAPCOREINFO { 1431 BITMAPCOREHEADER bmciHeader; 1432 RGBTRIPLE bmciColors[1]; 1433 } BITMAPCOREINFO,*LPBITMAPCOREINFO,*PBITMAPCOREINFO; 1434 typedef struct tagBITMAPINFOHEADER{ 1435 DWORD biSize; 1436 LONG biWidth; 1437 LONG biHeight; 1438 WORD biPlanes; 1439 WORD biBitCount; 1440 DWORD biCompression; 1441 DWORD biSizeImage; 1442 LONG biXPelsPerMeter; 1443 LONG biYPelsPerMeter; 1444 DWORD biClrUsed; 1445 DWORD biClrImportant; 1446 } BITMAPINFOHEADER,*LPBITMAPINFOHEADER,*PBITMAPINFOHEADER; 1447 typedef struct tagRGBQUAD { 1448 BYTE rgbBlue; 1449 BYTE rgbGreen; 1450 BYTE rgbRed; 1451 BYTE rgbReserved; 1452 } RGBQUAD,*LPRGBQUAD; 1453 typedef struct tagBITMAPINFO { 1454 BITMAPINFOHEADER bmiHeader; 1455 RGBQUAD bmiColors[1]; 1456 } BITMAPINFO,*LPBITMAPINFO,*PBITMAPINFO; 1457 typedef long FXPT16DOT16,*LPFXPT16DOT16; 1458 typedef long FXPT2DOT30,*LPFXPT2DOT30; 1459 typedef struct tagCIEXYZ { 1460 FXPT2DOT30 ciexyzX; 1461 FXPT2DOT30 ciexyzY; 1462 FXPT2DOT30 ciexyzZ; 1463 } CIEXYZ,*LPCIEXYZ; 1464 typedef struct tagCIEXYZTRIPLE { 1465 CIEXYZ ciexyzRed; 1466 CIEXYZ ciexyzGreen; 1467 CIEXYZ ciexyzBlue; 1468 } CIEXYZTRIPLE,*LPCIEXYZTRIPLE; 1469 typedef struct { 1470 DWORD bV4Size; 1471 LONG bV4Width; 1472 LONG bV4Height; 1473 WORD bV4Planes; 1474 WORD bV4BitCount; 1475 DWORD bV4V4Compression; 1476 DWORD bV4SizeImage; 1477 LONG bV4XPelsPerMeter; 1478 LONG bV4YPelsPerMeter; 1479 DWORD bV4ClrUsed; 1480 DWORD bV4ClrImportant; 1481 DWORD bV4RedMask; 1482 DWORD bV4GreenMask; 1483 DWORD bV4BlueMask; 1484 DWORD bV4AlphaMask; 1485 DWORD bV4CSType; 1486 CIEXYZTRIPLE bV4Endpoints; 1487 DWORD bV4GammaRed; 1488 DWORD bV4GammaGreen; 1489 DWORD bV4GammaBlue; 1490 } BITMAPV4HEADER,*LPBITMAPV4HEADER,*PBITMAPV4HEADER; 1491 #if (WINVER >= 0x500) 1492 typedef struct { 1493 DWORD bV5Size; 1494 LONG bV5Width; 1495 LONG bV5Height; 1496 WORD bV5Planes; 1497 WORD bV5BitCount; 1498 DWORD bV5Compression; 1499 DWORD bV5SizeImage; 1500 LONG bV5XPelsPerMeter; 1501 LONG bV5YPelsPerMeter; 1502 DWORD bV5ClrUsed; 1503 DWORD bV5ClrImportant; 1504 DWORD bV5RedMask; 1505 DWORD bV5GreenMask; 1506 DWORD bV5BlueMask; 1507 DWORD bV5AlphaMask; 1508 DWORD bV5CSType; 1509 CIEXYZTRIPLE bV5Endpoints; 1510 DWORD bV5GammaRed; 1511 DWORD bV5GammaGreen; 1512 DWORD bV5GammaBlue; 1513 DWORD bV5Intent; 1514 DWORD bV5ProfileData; 1515 DWORD bV5ProfileSize; 1516 DWORD bV5Reserved; 1517 } BITMAPV5HEADER,*LPBITMAPV5HEADER,*PBITMAPV5HEADER; 1518 #endif 1519 typedef struct tagFONTSIGNATURE { 1520 DWORD fsUsb[4]; 1521 DWORD fsCsb[2]; 1522 } FONTSIGNATURE, *PFONTSIGNATURE,*LPFONTSIGNATURE; 1523 typedef struct tagCHARSETINFO { 1524 UINT ciCharset; 1525 UINT ciACP; 1526 FONTSIGNATURE fs; 1527 } CHARSETINFO, *PCHARSETINFO, *LPCHARSETINFO; 1528 typedef struct tagCOLORADJUSTMENT { 1529 WORD caSize; 1530 WORD caFlags; 1531 WORD caIlluminantIndex; 1532 WORD caRedGamma; 1533 WORD caGreenGamma; 1534 WORD caBlueGamma; 1535 WORD caReferenceBlack; 1536 WORD caReferenceWhite; 1537 SHORT caContrast; 1538 SHORT caBrightness; 1539 SHORT caColorfulness; 1540 SHORT caRedGreenTint; 1541 } COLORADJUSTMENT, *PCOLORADJUSTMENT, FAR *LPCOLORADJUSTMENT; 1542 typedef struct _devicemodeA { 1543 BYTE dmDeviceName[CCHDEVICENAME]; 1544 WORD dmSpecVersion; 1545 WORD dmDriverVersion; 1546 WORD dmSize; 1547 WORD dmDriverExtra; 1548 DWORD dmFields; 1549 _ANONYMOUS_UNION union { 1550 _ANONYMOUS_STRUCT struct { 1551 short dmOrientation; 1552 short dmPaperSize; 1553 short dmPaperLength; 1554 short dmPaperWidth; 1555 short dmScale; 1556 short dmCopies; 1557 short dmDefaultSource; 1558 short dmPrintQuality; 1559 } DUMMYSTRUCTNAME1; 1560 struct { 1561 POINTL dmPosition; 1562 DWORD dmDisplayOrientation; 1563 DWORD dmDisplayFixedOutput; 1564 } DUMMYSTRUCTNAME2; 1565 } DUMMYUNIONNAME1; 1566 short dmColor; 1567 short dmDuplex; 1568 short dmYResolution; 1569 short dmTTOption; 1570 short dmCollate; 1571 BYTE dmFormName[CCHFORMNAME]; 1572 WORD dmLogPixels; 1573 DWORD dmBitsPerPel; 1574 DWORD dmPelsWidth; 1575 DWORD dmPelsHeight; 1576 _ANONYMOUS_UNION union { 1577 DWORD dmDisplayFlags; 1578 DWORD dmNup; 1579 } DUMMYUNIONNAME2; 1580 DWORD dmDisplayFrequency; 1581 #if(WINVER >= 0x0400) 1582 DWORD dmICMMethod; 1583 DWORD dmICMIntent; 1584 DWORD dmMediaType; 1585 DWORD dmDitherType; 1586 DWORD dmReserved1; 1587 DWORD dmReserved2; 1588 #if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400) 1589 DWORD dmPanningWidth; 1590 DWORD dmPanningHeight; 1591 #endif 1592 #endif /* WINVER >= 0x0400 */ 1593 } DEVMODEA,*LPDEVMODEA,*PDEVMODEA; 1594 typedef struct _devicemodeW { 1595 WCHAR dmDeviceName[CCHDEVICENAME]; 1596 WORD dmSpecVersion; 1597 WORD dmDriverVersion; 1598 WORD dmSize; 1599 WORD dmDriverExtra; 1600 DWORD dmFields; 1601 _ANONYMOUS_UNION union { 1602 _ANONYMOUS_STRUCT struct { 1603 short dmOrientation; 1604 short dmPaperSize; 1605 short dmPaperLength; 1606 short dmPaperWidth; 1607 short dmScale; 1608 short dmCopies; 1609 short dmDefaultSource; 1610 short dmPrintQuality; 1611 } DUMMYSTRUCTNAME1; 1612 struct { 1613 POINTL dmPosition; 1614 DWORD dmDisplayOrientation; 1615 DWORD dmDisplayFixedOutput; 1616 } DUMMYSTRUCTNAME2; 1617 } DUMMYUNIONNAME1; 1618 short dmColor; 1619 short dmDuplex; 1620 short dmYResolution; 1621 short dmTTOption; 1622 short dmCollate; 1623 WCHAR dmFormName[CCHFORMNAME]; 1624 WORD dmLogPixels; 1625 DWORD dmBitsPerPel; 1626 DWORD dmPelsWidth; 1627 DWORD dmPelsHeight; 1628 _ANONYMOUS_UNION union { 1629 DWORD dmDisplayFlags; 1630 DWORD dmNup; 1631 } DUMMYUNIONNAME2; 1632 DWORD dmDisplayFrequency; 1633 #if(WINVER >= 0x0400) 1634 DWORD dmICMMethod; 1635 DWORD dmICMIntent; 1636 DWORD dmMediaType; 1637 DWORD dmDitherType; 1638 DWORD dmReserved1; 1639 DWORD dmReserved2; 1640 #if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400) 1641 DWORD dmPanningWidth; 1642 DWORD dmPanningHeight; 1643 #endif 1644 #endif /* WINVER >= 0x0400 */ 1645 } DEVMODEW,*LPDEVMODEW,*PDEVMODEW,*NPDEVMODEW; 1646 typedef struct tagDIBSECTION { 1647 BITMAP dsBm; 1648 BITMAPINFOHEADER dsBmih; 1649 DWORD dsBitfields[3]; 1650 HANDLE dshSection; 1651 DWORD dsOffset; 1652 } DIBSECTION,*PDIBSECTION,*LPDIBSECTION; 1653 typedef struct _DOCINFOA { 1654 int cbSize; 1655 LPCSTR lpszDocName; 1656 LPCSTR lpszOutput; 1657 LPCSTR lpszDatatype; 1658 DWORD fwType; 1659 } DOCINFOA,*LPDOCINFOA; 1660 typedef struct _DOCINFOW { 1661 int cbSize; 1662 LPCWSTR lpszDocName; 1663 LPCWSTR lpszOutput; 1664 LPCWSTR lpszDatatype; 1665 DWORD fwType; 1666 } DOCINFOW,*LPDOCINFOW; 1667 typedef struct tagEMR { 1668 DWORD iType; 1669 DWORD nSize; 1670 } EMR,*PEMR; 1671 1672 #if(WINVER >= 0x0400) 1673 typedef struct tagEMRGLSRECORD { 1674 EMR emr; 1675 DWORD cbData; 1676 BYTE Data[1]; 1677 } EMRGLSRECORD, *PEMRGLSRECORD; 1678 typedef struct tagEMRGLSBOUNDEDRECORD { 1679 EMR emr; 1680 RECTL rclBounds; 1681 DWORD cbData; 1682 BYTE Data[1]; 1683 } EMRGLSBOUNDEDRECORD, *PEMRGLSBOUNDEDRECORD; 1684 #endif 1685 typedef struct tagEMRANGLEARC { 1686 EMR emr; 1687 POINTL ptlCenter; 1688 DWORD nRadius; 1689 FLOAT eStartAngle; 1690 FLOAT eSweepAngle; 1691 } EMRANGLEARC,*PEMRANGLEARC; 1692 typedef struct tagEMRARC { 1693 EMR emr; 1694 RECTL rclBox; 1695 POINTL ptlStart; 1696 POINTL ptlEnd; 1697 } EMRARC,*PEMRARC,EMRARCTO,*PEMRARCTO,EMRCHORD,*PEMRCHORD,EMRPIE,*PEMRPIE; 1698 typedef struct _XFORM { 1699 FLOAT eM11; 1700 FLOAT eM12; 1701 FLOAT eM21; 1702 FLOAT eM22; 1703 FLOAT eDx; 1704 FLOAT eDy; 1705 } XFORM,*PXFORM,*LPXFORM; 1706 typedef struct tagEMRBITBLT { 1707 EMR emr; 1708 RECTL rclBounds; 1709 LONG xDest; 1710 LONG yDest; 1711 LONG cxDest; 1712 LONG cyDest; 1713 DWORD dwRop; 1714 LONG xSrc; 1715 LONG ySrc; 1716 XFORM xformSrc; 1717 COLORREF crBkColorSrc; 1718 DWORD iUsageSrc; 1719 DWORD offBmiSrc; 1720 DWORD cbBmiSrc; 1721 DWORD offBitsSrc; 1722 DWORD cbBitsSrc; 1723 } EMRBITBLT,*PEMRBITBLT; 1724 typedef struct tagLOGBRUSH { 1725 UINT lbStyle; 1726 COLORREF lbColor; 1727 ULONG_PTR lbHatch; 1728 } LOGBRUSH,*PLOGBRUSH,*LPLOGBRUSH; 1729 typedef LOGBRUSH PATTERN,*PPATTERN,*LPPATTERN; 1730 typedef struct tagLOGBRUSH32 { 1731 UINT lbStyle; 1732 COLORREF lbColor; 1733 ULONG lbHatch; 1734 } LOGBRUSH32, *PLOGBRUSH32; 1735 typedef struct tagEMRCREATEBRUSHINDIRECT { 1736 EMR emr; 1737 DWORD ihBrush; 1738 LOGBRUSH32 lb; 1739 } EMRCREATEBRUSHINDIRECT,*PEMRCREATEBRUSHINDIRECT; 1740 typedef LONG LCSCSTYPE; 1741 typedef LONG LCSGAMUTMATCH; 1742 typedef struct tagLOGCOLORSPACEA { 1743 DWORD lcsSignature; 1744 DWORD lcsVersion; 1745 DWORD lcsSize; 1746 LCSCSTYPE lcsCSType; 1747 LCSGAMUTMATCH lcsIntent; 1748 CIEXYZTRIPLE lcsEndpoints; 1749 DWORD lcsGammaRed; 1750 DWORD lcsGammaGreen; 1751 DWORD lcsGammaBlue; 1752 CHAR lcsFilename[MAX_PATH]; 1753 } LOGCOLORSPACEA,*LPLOGCOLORSPACEA; 1754 typedef struct tagLOGCOLORSPACEW { 1755 DWORD lcsSignature; 1756 DWORD lcsVersion; 1757 DWORD lcsSize; 1758 LCSCSTYPE lcsCSType; 1759 LCSGAMUTMATCH lcsIntent; 1760 CIEXYZTRIPLE lcsEndpoints; 1761 DWORD lcsGammaRed; 1762 DWORD lcsGammaGreen; 1763 DWORD lcsGammaBlue; 1764 WCHAR lcsFilename[MAX_PATH]; 1765 } LOGCOLORSPACEW,*LPLOGCOLORSPACEW; 1766 typedef struct tagEMRCREATECOLORSPACEW { 1767 EMR emr; 1768 DWORD ihCS; 1769 LOGCOLORSPACEW lcs; 1770 DWORD dwFlags; 1771 DWORD cbData; 1772 BYTE Data[1]; 1773 } EMRCREATECOLORSPACEW, *PEMRCREATECOLORSPACEW; 1774 typedef struct tagEMRCREATECOLORSPACE { 1775 EMR emr; 1776 DWORD ihCS; 1777 LOGCOLORSPACEA lcs; 1778 } EMRCREATECOLORSPACE,*PEMRCREATECOLORSPACE; 1779 typedef struct tagEMRCREATEDIBPATTERNBRUSHPT { 1780 EMR emr; 1781 DWORD ihBrush; 1782 DWORD iUsage; 1783 DWORD offBmi; 1784 DWORD cbBmi; 1785 DWORD offBits; 1786 DWORD cbBits; 1787 } EMRCREATEDIBPATTERNBRUSHPT,*PEMRCREATEDIBPATTERNBRUSHPT; 1788 typedef struct tagEMRCREATEMONOBRUSH { 1789 EMR emr; 1790 DWORD ihBrush; 1791 DWORD iUsage; 1792 DWORD offBmi; 1793 DWORD cbBmi; 1794 DWORD offBits; 1795 DWORD cbBits; 1796 } EMRCREATEMONOBRUSH,*PEMRCREATEMONOBRUSH; 1797 1798 #ifndef _PALETTEENTRY_DEFINED 1799 #define _PALETTEENTRY_DEFINED 1800 typedef struct tagPALETTEENTRY { 1801 BYTE peRed; 1802 BYTE peGreen; 1803 BYTE peBlue; 1804 BYTE peFlags; 1805 } PALETTEENTRY,*LPPALETTEENTRY,*PPALETTEENTRY; 1806 #endif 1807 1808 #ifndef _LOGPALETTE_DEFINED 1809 #define _LOGPALETTE_DEFINED 1810 typedef struct tagLOGPALETTE { 1811 WORD palVersion; 1812 WORD palNumEntries; 1813 _Field_size_opt_(palNumEntries) PALETTEENTRY palPalEntry[1]; 1814 } LOGPALETTE, *NPLOGPALETTE, *PLOGPALETTE, *LPLOGPALETTE; 1815 #endif 1816 1817 typedef struct tagEMRCREATEPALETTE { 1818 EMR emr; 1819 DWORD ihPal; 1820 LOGPALETTE lgpl; 1821 } EMRCREATEPALETTE,*PEMRCREATEPALETTE; 1822 typedef struct tagLOGPEN { 1823 UINT lopnStyle; 1824 POINT lopnWidth; 1825 COLORREF lopnColor; 1826 } LOGPEN,*PLOGPEN,*LPLOGPEN; 1827 typedef struct tagEMRCREATEPEN { 1828 EMR emr; 1829 DWORD ihPen; 1830 LOGPEN lopn; 1831 } EMRCREATEPEN,*PEMRCREATEPEN; 1832 typedef struct tagEMRELLIPSE { 1833 EMR emr; 1834 RECTL rclBox; 1835 } EMRELLIPSE,*PEMRELLIPSE,EMRRECTANGLE,*PEMRRECTANGLE; 1836 typedef struct tagEMREOF { 1837 EMR emr; 1838 DWORD nPalEntries; 1839 DWORD offPalEntries; 1840 DWORD nSizeLast; 1841 } EMREOF,*PEMREOF; 1842 typedef struct tagEMREXCLUDECLIPRECT { 1843 EMR emr; 1844 RECTL rclClip; 1845 } EMREXCLUDECLIPRECT,*PEMREXCLUDECLIPRECT,EMRINTERSECTCLIPRECT,*PEMRINTERSECTCLIPRECT; 1846 typedef struct tagPANOSE { 1847 BYTE bFamilyType; 1848 BYTE bSerifStyle; 1849 BYTE bWeight; 1850 BYTE bProportion; 1851 BYTE bContrast; 1852 BYTE bStrokeVariation; 1853 BYTE bArmStyle; 1854 BYTE bLetterform; 1855 BYTE bMidline; 1856 BYTE bXHeight; 1857 } PANOSE, *LPPANOSE; 1858 typedef struct tagLOGFONTA { 1859 LONG lfHeight; 1860 LONG lfWidth; 1861 LONG lfEscapement; 1862 LONG lfOrientation; 1863 LONG lfWeight; 1864 BYTE lfItalic; 1865 BYTE lfUnderline; 1866 BYTE lfStrikeOut; 1867 BYTE lfCharSet; 1868 BYTE lfOutPrecision; 1869 BYTE lfClipPrecision; 1870 BYTE lfQuality; 1871 BYTE lfPitchAndFamily; 1872 CHAR lfFaceName[LF_FACESIZE]; 1873 } LOGFONTA,*PLOGFONTA,*LPLOGFONTA; 1874 typedef struct tagLOGFONTW { 1875 LONG lfHeight; 1876 LONG lfWidth; 1877 LONG lfEscapement; 1878 LONG lfOrientation; 1879 LONG lfWeight; 1880 BYTE lfItalic; 1881 BYTE lfUnderline; 1882 BYTE lfStrikeOut; 1883 BYTE lfCharSet; 1884 BYTE lfOutPrecision; 1885 BYTE lfClipPrecision; 1886 BYTE lfQuality; 1887 BYTE lfPitchAndFamily; 1888 WCHAR lfFaceName[LF_FACESIZE]; 1889 } LOGFONTW,*PLOGFONTW,*LPLOGFONTW; 1890 typedef struct tagEXTLOGFONTA { 1891 LOGFONTA elfLogFont; 1892 BYTE elfFullName[LF_FULLFACESIZE]; 1893 BYTE elfStyle[LF_FACESIZE]; 1894 DWORD elfVersion; 1895 DWORD elfStyleSize; 1896 DWORD elfMatch; 1897 DWORD elfReserved; 1898 BYTE elfVendorId[ELF_VENDOR_SIZE]; 1899 DWORD elfCulture; 1900 PANOSE elfPanose; 1901 } EXTLOGFONTA,*PEXTLOGFONTA,*LPEXTLOGFONTA; 1902 typedef struct tagEXTLOGFONTW { 1903 LOGFONTW elfLogFont; 1904 WCHAR elfFullName[LF_FULLFACESIZE]; 1905 WCHAR elfStyle[LF_FACESIZE]; 1906 DWORD elfVersion; 1907 DWORD elfStyleSize; 1908 DWORD elfMatch; 1909 DWORD elfReserved; 1910 BYTE elfVendorId[ELF_VENDOR_SIZE]; 1911 DWORD elfCulture; 1912 PANOSE elfPanose; 1913 } EXTLOGFONTW,*PEXTLOGFONTW,*LPEXTLOGFONTW; 1914 typedef struct tagEMREXTCREATEFONTINDIRECTW { 1915 EMR emr; 1916 DWORD ihFont; 1917 EXTLOGFONTW elfw; 1918 } EMREXTCREATEFONTINDIRECTW,*PEMREXTCREATEFONTINDIRECTW; 1919 typedef struct tagEXTLOGPEN { 1920 DWORD elpPenStyle; 1921 DWORD elpWidth; 1922 UINT elpBrushStyle; 1923 COLORREF elpColor; 1924 ULONG_PTR elpHatch; 1925 DWORD elpNumEntries; 1926 DWORD elpStyleEntry[1]; 1927 } EXTLOGPEN,*PEXTLOGPEN,*LPEXTLOGPEN,*NPEXTLOGPEN; 1928 typedef struct tagEMREXTCREATEPEN { 1929 EMR emr; 1930 DWORD ihPen; 1931 DWORD offBmi; 1932 DWORD cbBmi; 1933 DWORD offBits; 1934 DWORD cbBits; 1935 EXTLOGPEN elp; 1936 } EMREXTCREATEPEN,*PEMREXTCREATEPEN; 1937 typedef struct tagEMREXTFLOODFILL { 1938 EMR emr; 1939 POINTL ptlStart; 1940 COLORREF crColor; 1941 DWORD iMode; 1942 } EMREXTFLOODFILL,*PEMREXTFLOODFILL; 1943 typedef struct tagEMREXTSELECTCLIPRGN { 1944 EMR emr; 1945 DWORD cbRgnData; 1946 DWORD iMode; 1947 BYTE RgnData[1]; 1948 } EMREXTSELECTCLIPRGN,*PEMREXTSELECTCLIPRGN; 1949 typedef struct tagEMRTEXT { 1950 POINTL ptlReference; 1951 DWORD nChars; 1952 DWORD offString; 1953 DWORD fOptions; 1954 RECTL rcl; 1955 DWORD offDx; 1956 } EMRTEXT,*PEMRTEXT; 1957 typedef struct tagEMREXTTEXTOUTA { 1958 EMR emr; 1959 RECTL rclBounds; 1960 DWORD iGraphicsMode; 1961 FLOAT exScale; 1962 FLOAT eyScale; 1963 EMRTEXT emrtext; 1964 } EMREXTTEXTOUTA,*PEMREXTTEXTOUTA,EMREXTTEXTOUTW,*PEMREXTTEXTOUTW; 1965 typedef struct tagEMRFILLPATH { 1966 EMR emr; 1967 RECTL rclBounds; 1968 } EMRFILLPATH,*PEMRFILLPATH,EMRSTROKEANDFILLPATH,*PEMRSTROKEANDFILLPATH,EMRSTROKEPATH,*PEMRSTROKEPATH; 1969 typedef struct tagEMRFILLRGN { 1970 EMR emr; 1971 RECTL rclBounds; 1972 DWORD cbRgnData; 1973 DWORD ihBrush; 1974 BYTE RgnData[1]; 1975 } EMRFILLRGN,*PEMRFILLRGN; 1976 typedef struct tagEMRFORMAT { 1977 DWORD dSignature; 1978 DWORD nVersion; 1979 DWORD cbData; 1980 DWORD offData; 1981 } EMRFORMAT, *PEMRFORMAT; 1982 1983 1984 typedef struct tagEMRSETCOLORSPACE 1985 { 1986 EMR emr; 1987 DWORD ihCS; 1988 } EMRSETCOLORSPACE, *PEMRSETCOLORSPACE, EMRSELECTCOLORSPACE, *PEMRSELECTCOLORSPACE, 1989 EMRDELETECOLORSPACE, *PEMRDELETECOLORSPACE; 1990 1991 typedef struct tagEMRFRAMERGN { 1992 EMR emr; 1993 RECTL rclBounds; 1994 DWORD cbRgnData; 1995 DWORD ihBrush; 1996 SIZEL szlStroke; 1997 BYTE RgnData[1]; 1998 } EMRFRAMERGN,*PEMRFRAMERGN; 1999 typedef struct tagEMRGDICOMMENT { 2000 EMR emr; 2001 DWORD cbData; 2002 BYTE Data[1]; 2003 } EMRGDICOMMENT,*PEMRGDICOMMENT; 2004 typedef struct tagEMRINVERTRGN { 2005 EMR emr; 2006 RECTL rclBounds; 2007 DWORD cbRgnData; 2008 BYTE RgnData[1]; 2009 } EMRINVERTRGN,*PEMRINVERTRGN,EMRPAINTRGN,*PEMRPAINTRGN; 2010 typedef struct tagEMRLINETO { 2011 EMR emr; 2012 POINTL ptl; 2013 } EMRLINETO,*PEMRLINETO,EMRMOVETOEX,*PEMRMOVETOEX; 2014 typedef struct tagEMRMASKBLT { 2015 EMR emr; 2016 RECTL rclBounds; 2017 LONG xDest; 2018 LONG yDest; 2019 LONG cxDest; 2020 LONG cyDest; 2021 DWORD dwRop; 2022 LONG xSrc; 2023 LONG ySrc; 2024 XFORM xformSrc; 2025 COLORREF crBkColorSrc; 2026 DWORD iUsageSrc; 2027 DWORD offBmiSrc; 2028 DWORD cbBmiSrc; 2029 DWORD offBitsSrc; 2030 DWORD cbBitsSrc; 2031 LONG xMask; 2032 LONG yMask; 2033 DWORD iUsageMask; 2034 DWORD offBmiMask; 2035 DWORD cbBmiMask; 2036 DWORD offBitsMask; 2037 DWORD cbBitsMask; 2038 } EMRMASKBLT,*PEMRMASKBLT; 2039 typedef struct tagEMRMODIFYWORLDTRANSFORM { 2040 EMR emr; 2041 XFORM xform; 2042 DWORD iMode; 2043 } EMRMODIFYWORLDTRANSFORM,*PEMRMODIFYWORLDTRANSFORM; 2044 typedef struct tagEMROFFSETCLIPRGN { 2045 EMR emr; 2046 POINTL ptlOffset; 2047 } EMROFFSETCLIPRGN,*PEMROFFSETCLIPRGN; 2048 typedef struct tagEMRPLGBLT { 2049 EMR emr; 2050 RECTL rclBounds; 2051 POINTL aptlDest[3]; 2052 LONG xSrc; 2053 LONG ySrc; 2054 LONG cxSrc; 2055 LONG cySrc; 2056 XFORM xformSrc; 2057 COLORREF crBkColorSrc; 2058 DWORD iUsageSrc; 2059 DWORD offBmiSrc; 2060 DWORD cbBmiSrc; 2061 DWORD offBitsSrc; 2062 DWORD cbBitsSrc; 2063 LONG xMask; 2064 LONG yMask; 2065 DWORD iUsageMask; 2066 DWORD offBmiMask; 2067 DWORD cbBmiMask; 2068 DWORD offBitsMask; 2069 DWORD cbBitsMask; 2070 } EMRPLGBLT,*PEMRPLGBLT; 2071 typedef struct tagEMRPOLYDRAW { 2072 EMR emr; 2073 RECTL rclBounds; 2074 DWORD cptl; 2075 POINTL aptl[1]; 2076 BYTE abTypes[1]; 2077 } EMRPOLYDRAW,*PEMRPOLYDRAW; 2078 typedef struct tagEMRPOLYDRAW16 { 2079 EMR emr; 2080 RECTL rclBounds; 2081 DWORD cpts; 2082 POINTS apts[1]; 2083 BYTE abTypes[1]; 2084 } EMRPOLYDRAW16,*PEMRPOLYDRAW16; 2085 typedef struct tagEMRPOLYLINE { 2086 EMR emr; 2087 RECTL rclBounds; 2088 DWORD cptl; 2089 POINTL aptl[1]; 2090 } EMRPOLYLINE,*PEMRPOLYLINE,EMRPOLYBEZIER,*PEMRPOLYBEZIER,EMRPOLYGON,*PEMRPOLYGON,EMRPOLYBEZIERTO,*PEMRPOLYBEZIERTO,EMRPOLYLINETO,*PEMRPOLYLINETO; 2091 typedef struct tagEMRPOLYLINE16 { 2092 EMR emr; 2093 RECTL rclBounds; 2094 DWORD cpts; 2095 POINTS apts[1]; 2096 } EMRPOLYLINE16,*PEMRPOLYLINE16,EMRPOLYBEZIER16,*PEMRPOLYBEZIER16,EMRPOLYGON16,*PEMRPOLYGON16,EMRPOLYBEZIERTO16,*PEMRPOLYBEZIERTO16,EMRPOLYLINETO16,*PEMRPOLYLINETO16; 2097 typedef struct tagEMRPOLYPOLYLINE { 2098 EMR emr; 2099 RECTL rclBounds; 2100 DWORD nPolys; 2101 DWORD cptl; 2102 DWORD aPolyCounts[1]; 2103 POINTL aptl[1]; 2104 } EMRPOLYPOLYLINE,*PEMRPOLYPOLYLINE,EMRPOLYPOLYGON,*PEMRPOLYPOLYGON; 2105 typedef struct tagEMRPOLYPOLYLINE16 { 2106 EMR emr; 2107 RECTL rclBounds; 2108 DWORD nPolys; 2109 DWORD cpts; 2110 DWORD aPolyCounts[1]; 2111 POINTS apts[1]; 2112 } EMRPOLYPOLYLINE16,*PEMRPOLYPOLYLINE16,EMRPOLYPOLYGON16,*PEMRPOLYPOLYGON16; 2113 typedef struct tagEMRPOLYTEXTOUTA { 2114 EMR emr; 2115 RECTL rclBounds; 2116 DWORD iGraphicsMode; 2117 FLOAT exScale; 2118 FLOAT eyScale; 2119 LONG cStrings; 2120 EMRTEXT aemrtext[1]; 2121 } EMRPOLYTEXTOUTA,*PEMRPOLYTEXTOUTA,EMRPOLYTEXTOUTW,*PEMRPOLYTEXTOUTW; 2122 typedef struct tagEMRRESIZEPALETTE { 2123 EMR emr; 2124 DWORD ihPal; 2125 DWORD cEntries; 2126 } EMRRESIZEPALETTE,*PEMRRESIZEPALETTE; 2127 typedef struct tagEMRRESTOREDC { 2128 EMR emr; 2129 LONG iRelative; 2130 } EMRRESTOREDC,*PEMRRESTOREDC; 2131 typedef struct tagEMRROUNDRECT { 2132 EMR emr; 2133 RECTL rclBox; 2134 SIZEL szlCorner; 2135 } EMRROUNDRECT,*PEMRROUNDRECT; 2136 typedef struct tagEMRSCALEVIEWPORTEXTEX { 2137 EMR emr; 2138 LONG xNum; 2139 LONG xDenom; 2140 LONG yNum; 2141 LONG yDenom; 2142 } EMRSCALEVIEWPORTEXTEX,*PEMRSCALEVIEWPORTEXTEX,EMRSCALEWINDOWEXTEX,*PEMRSCALEWINDOWEXTEX; 2143 2144 2145 typedef struct tagEMRSELECTOBJECT { 2146 EMR emr; 2147 DWORD ihObject; 2148 } EMRSELECTOBJECT,*PEMRSELECTOBJECT,EMRDELETEOBJECT,*PEMRDELETEOBJECT; 2149 typedef struct tagEMRSELECTPALETTE { 2150 EMR emr; 2151 DWORD ihPal; 2152 } EMRSELECTPALETTE,*PEMRSELECTPALETTE; 2153 typedef struct tagEMRSETARCDIRECTION { 2154 EMR emr; 2155 DWORD iArcDirection; 2156 } EMRSETARCDIRECTION,*PEMRSETARCDIRECTION; 2157 typedef struct tagEMRSETTEXTCOLOR { 2158 EMR emr; 2159 COLORREF crColor; 2160 } EMRSETBKCOLOR,*PEMRSETBKCOLOR,EMRSETTEXTCOLOR,*PEMRSETTEXTCOLOR; 2161 typedef struct tagEMRSETCOLORADJUSTMENT { 2162 EMR emr; 2163 COLORADJUSTMENT ColorAdjustment; 2164 } EMRSETCOLORADJUSTMENT,*PEMRSETCOLORADJUSTMENT; 2165 typedef struct tagEMRSETDIBITSTODEVICE { 2166 EMR emr; 2167 RECTL rclBounds; 2168 LONG xDest; 2169 LONG yDest; 2170 LONG xSrc; 2171 LONG ySrc; 2172 LONG cxSrc; 2173 LONG cySrc; 2174 DWORD offBmiSrc; 2175 DWORD cbBmiSrc; 2176 DWORD offBitsSrc; 2177 DWORD cbBitsSrc; 2178 DWORD iUsageSrc; 2179 DWORD iStartScan; 2180 DWORD cScans; 2181 } EMRSETDIBITSTODEVICE,*PEMRSETDIBITSTODEVICE; 2182 typedef struct tagEMRSETMAPPERFLAGS { 2183 EMR emr; 2184 DWORD dwFlags; 2185 } EMRSETMAPPERFLAGS,*PEMRSETMAPPERFLAGS; 2186 typedef struct tagEMRSETMITERLIMIT { 2187 EMR emr; 2188 FLOAT eMiterLimit; 2189 } EMRSETMITERLIMIT,*PEMRSETMITERLIMIT; 2190 typedef struct tagEMRSETPALETTEENTRIES { 2191 EMR emr; 2192 DWORD ihPal; 2193 DWORD iStart; 2194 DWORD cEntries; 2195 PALETTEENTRY aPalEntries[1]; 2196 } EMRSETPALETTEENTRIES,*PEMRSETPALETTEENTRIES; 2197 typedef struct tagEMRSETPIXELV { 2198 EMR emr; 2199 POINTL ptlPixel; 2200 COLORREF crColor; 2201 } EMRSETPIXELV,*PEMRSETPIXELV; 2202 typedef struct tagEMRSETVIEWPORTEXTEX { 2203 EMR emr; 2204 SIZEL szlExtent; 2205 } EMRSETVIEWPORTEXTEX,*PEMRSETVIEWPORTEXTEX,EMRSETWINDOWEXTEX,*PEMRSETWINDOWEXTEX; 2206 typedef struct tagEMRSETVIEWPORTORGEX { 2207 EMR emr; 2208 POINTL ptlOrigin; 2209 } EMRSETVIEWPORTORGEX,*PEMRSETVIEWPORTORGEX,EMRSETWINDOWORGEX,*PEMRSETWINDOWORGEX,EMRSETBRUSHORGEX,*PEMRSETBRUSHORGEX; 2210 typedef struct tagEMRSETWORLDTRANSFORM { 2211 EMR emr; 2212 XFORM xform; 2213 } EMRSETWORLDTRANSFORM,*PEMRSETWORLDTRANSFORM; 2214 typedef struct tagEMRSTRETCHBLT { 2215 EMR emr; 2216 RECTL rclBounds; 2217 LONG xDest; 2218 LONG yDest; 2219 LONG cxDest; 2220 LONG cyDest; 2221 DWORD dwRop; 2222 LONG xSrc; 2223 LONG ySrc; 2224 XFORM xformSrc; 2225 COLORREF crBkColorSrc; 2226 DWORD iUsageSrc; 2227 DWORD offBmiSrc; 2228 DWORD cbBmiSrc; 2229 DWORD offBitsSrc; 2230 DWORD cbBitsSrc; 2231 LONG cxSrc; 2232 LONG cySrc; 2233 } EMRSTRETCHBLT,*PEMRSTRETCHBLT; 2234 typedef struct tagEMRALPHABLEND { 2235 EMR emr; 2236 RECTL rclBounds; 2237 LONG xDest; 2238 LONG yDest; 2239 LONG cxDest; 2240 LONG cyDest; 2241 DWORD dwRop; 2242 LONG xSrc; 2243 LONG ySrc; 2244 XFORM xformSrc; 2245 COLORREF crBkColorSrc; 2246 DWORD iUsageSrc; 2247 DWORD offBmiSrc; 2248 DWORD cbBmiSrc; 2249 DWORD offBitsSrc; 2250 DWORD cbBitsSrc; 2251 LONG cxSrc; 2252 LONG cySrc; 2253 } EMRALPHABLEND, *PEMRALPHABLEND; 2254 typedef struct tagEMRSTRETCHDIBITS { 2255 EMR emr; 2256 RECTL rclBounds; 2257 LONG xDest; 2258 LONG yDest; 2259 LONG xSrc; 2260 LONG ySrc; 2261 LONG cxSrc; 2262 LONG cySrc; 2263 DWORD offBmiSrc; 2264 DWORD cbBmiSrc; 2265 DWORD offBitsSrc; 2266 DWORD cbBitsSrc; 2267 DWORD iUsageSrc; 2268 DWORD dwRop; 2269 LONG cxDest; 2270 LONG cyDest; 2271 } EMRSTRETCHDIBITS,*PEMRSTRETCHDIBITS; 2272 typedef struct tagABORTPATH { 2273 EMR emr; 2274 } EMRABORTPATH,*PEMRABORTPATH,EMRBEGINPATH,*PEMRBEGINPATH,EMRENDPATH,*PEMRENDPATH,EMRCLOSEFIGURE,*PEMRCLOSEFIGURE,EMRFLATTENPATH,*PEMRFLATTENPATH,EMRWIDENPATH,*PEMRWIDENPATH,EMRSETMETARGN,*PEMRSETMETARGN,EMRSAVEDC,*PEMRSAVEDC,EMRREALIZEPALETTE,*PEMRREALIZEPALETTE; 2275 typedef struct tagEMRSELECTCLIPPATH { 2276 EMR emr; 2277 DWORD iMode; 2278 } EMRSELECTCLIPPATH,*PEMRSELECTCLIPPATH, EMRSETBKMODE,*PEMRSETBKMODE, EMRSETMAPMODE, *PEMRSETMAPMODE, 2279 EMRSETPOLYFILLMODE, *PEMRSETPOLYFILLMODE, EMRSETROP2, *PEMRSETROP2, EMRSETSTRETCHBLTMODE, *PEMRSETSTRETCHBLTMODE, 2280 EMRSETICMMODE, *PEMRSETICMMODE, EMRSETTEXTALIGN, 2281 #if(WINVER >= 0x0500) 2282 EMRSETLAYOUT, *PEMRSETLAYOUT, 2283 #endif 2284 *PEMRSETTEXTALIGN; 2285 2286 #include "pshpack2.h" 2287 typedef struct tagMETAHEADER { 2288 WORD mtType; 2289 WORD mtHeaderSize; 2290 WORD mtVersion; 2291 DWORD mtSize; 2292 WORD mtNoObjects; 2293 DWORD mtMaxRecord; 2294 WORD mtNoParameters; 2295 } METAHEADER,*PMETAHEADER,*LPMETAHEADER; 2296 #include "poppack.h" 2297 typedef struct tagENHMETAHEADER { 2298 DWORD iType; 2299 DWORD nSize; 2300 RECTL rclBounds; 2301 RECTL rclFrame; 2302 DWORD dSignature; 2303 DWORD nVersion; 2304 DWORD nBytes; 2305 DWORD nRecords; 2306 WORD nHandles; 2307 WORD sReserved; 2308 DWORD nDescription; 2309 DWORD offDescription; 2310 DWORD nPalEntries; 2311 SIZEL szlDevice; 2312 SIZEL szlMillimeters; 2313 #if (WINVER >= 0x0400) 2314 DWORD cbPixelFormat; 2315 DWORD offPixelFormat; 2316 DWORD bOpenGL; 2317 #endif 2318 #if (WINVER >= 0x0500) 2319 SIZEL szlMicrometers; 2320 #endif 2321 } ENHMETAHEADER,*PENHMETAHEADER,*LPENHMETAHEADER; 2322 typedef struct tagMETARECORD { 2323 DWORD rdSize; 2324 WORD rdFunction; 2325 WORD rdParm[1]; 2326 } METARECORD,*PMETARECORD,*LPMETARECORD; 2327 typedef struct tagENHMETARECORD { 2328 DWORD iType; 2329 DWORD nSize; 2330 DWORD dParm[1]; 2331 } ENHMETARECORD,*LPENHMETARECORD; 2332 typedef struct tagHANDLETABLE { 2333 HGDIOBJ objectHandle[1]; 2334 } HANDLETABLE,*PHANDLETABLE, *LPHANDLETABLE; 2335 2336 #ifndef _TEXTMETRIC_DEFINED 2337 #define _TEXTMETRIC_DEFINED 2338 typedef struct tagTEXTMETRICA { 2339 LONG tmHeight; 2340 LONG tmAscent; 2341 LONG tmDescent; 2342 LONG tmInternalLeading; 2343 LONG tmExternalLeading; 2344 LONG tmAveCharWidth; 2345 LONG tmMaxCharWidth; 2346 LONG tmWeight; 2347 LONG tmOverhang; 2348 LONG tmDigitizedAspectX; 2349 LONG tmDigitizedAspectY; 2350 BYTE tmFirstChar; 2351 BYTE tmLastChar; 2352 BYTE tmDefaultChar; 2353 BYTE tmBreakChar; 2354 BYTE tmItalic; 2355 BYTE tmUnderlined; 2356 BYTE tmStruckOut; 2357 BYTE tmPitchAndFamily; 2358 BYTE tmCharSet; 2359 } TEXTMETRICA,*PTEXTMETRICA,*LPTEXTMETRICA; 2360 typedef struct tagTEXTMETRICW { 2361 LONG tmHeight; 2362 LONG tmAscent; 2363 LONG tmDescent; 2364 LONG tmInternalLeading; 2365 LONG tmExternalLeading; 2366 LONG tmAveCharWidth; 2367 LONG tmMaxCharWidth; 2368 LONG tmWeight; 2369 LONG tmOverhang; 2370 LONG tmDigitizedAspectX; 2371 LONG tmDigitizedAspectY; 2372 WCHAR tmFirstChar; 2373 WCHAR tmLastChar; 2374 WCHAR tmDefaultChar; 2375 WCHAR tmBreakChar; 2376 BYTE tmItalic; 2377 BYTE tmUnderlined; 2378 BYTE tmStruckOut; 2379 BYTE tmPitchAndFamily; 2380 BYTE tmCharSet; 2381 } TEXTMETRICW,*PTEXTMETRICW,*LPTEXTMETRICW; 2382 #endif 2383 2384 typedef struct _RGNDATAHEADER { 2385 DWORD dwSize; 2386 DWORD iType; 2387 DWORD nCount; 2388 DWORD nRgnSize; 2389 RECT rcBound; 2390 } RGNDATAHEADER, *PRGNDATAHEADER; 2391 typedef struct _RGNDATA { 2392 RGNDATAHEADER rdh; 2393 char Buffer[1]; 2394 } RGNDATA,*PRGNDATA, *LPRGNDATA; 2395 /* for GetRandomRgn */ 2396 #define SYSRGN 4 2397 typedef struct tagGCP_RESULTSA { 2398 DWORD lStructSize; 2399 LPSTR lpOutString; 2400 UINT *lpOrder; 2401 INT *lpDx; 2402 INT *lpCaretPos; 2403 LPSTR lpClass; 2404 LPWSTR lpGlyphs; 2405 UINT nGlyphs; 2406 UINT nMaxFit; 2407 } GCP_RESULTSA,*LPGCP_RESULTSA; 2408 typedef struct tagGCP_RESULTSW { 2409 DWORD lStructSize; 2410 LPWSTR lpOutString; 2411 UINT *lpOrder; 2412 INT *lpDx; 2413 INT *lpCaretPos; 2414 LPWSTR lpClass; 2415 LPWSTR lpGlyphs; 2416 UINT nGlyphs; 2417 UINT nMaxFit; 2418 } GCP_RESULTSW,*LPGCP_RESULTSW; 2419 typedef struct _GLYPHMETRICS { 2420 UINT gmBlackBoxX; 2421 UINT gmBlackBoxY; 2422 POINT gmptGlyphOrigin; 2423 short gmCellIncX; 2424 short gmCellIncY; 2425 } GLYPHMETRICS,*LPGLYPHMETRICS; 2426 #if (_WIN32_WINNT >= 0x0500) 2427 typedef struct tagWCRANGE 2428 { 2429 WCHAR wcLow; 2430 USHORT cGlyphs; 2431 } WCRANGE, *PWCRANGE, *LPWCRANGE; 2432 typedef struct tagGLYPHSET 2433 { 2434 DWORD cbThis; 2435 DWORD flAccel; 2436 DWORD cGlyphsSupported; 2437 DWORD cRanges; 2438 WCRANGE ranges[1]; 2439 } GLYPHSET, *PGLYPHSET, *LPGLYPHSET; 2440 #endif 2441 typedef struct tagKERNINGPAIR { 2442 WORD wFirst; 2443 WORD wSecond; 2444 int iKernAmount; 2445 } KERNINGPAIR,*LPKERNINGPAIR; 2446 typedef struct _FIXED { 2447 WORD fract; 2448 short value; 2449 } FIXED; 2450 typedef struct _MAT2 { 2451 FIXED eM11; 2452 FIXED eM12; 2453 FIXED eM21; 2454 FIXED eM22; 2455 } MAT2,*LPMAT2; 2456 typedef struct _OUTLINETEXTMETRICA { 2457 UINT otmSize; 2458 TEXTMETRICA otmTextMetrics; 2459 BYTE otmFiller; 2460 PANOSE otmPanoseNumber; 2461 UINT otmfsSelection; 2462 UINT otmfsType; 2463 int otmsCharSlopeRise; 2464 int otmsCharSlopeRun; 2465 int otmItalicAngle; 2466 UINT otmEMSquare; 2467 int otmAscent; 2468 int otmDescent; 2469 UINT otmLineGap; 2470 UINT otmsCapEmHeight; 2471 UINT otmsXHeight; 2472 RECT otmrcFontBox; 2473 int otmMacAscent; 2474 int otmMacDescent; 2475 UINT otmMacLineGap; 2476 UINT otmusMinimumPPEM; 2477 POINT otmptSubscriptSize; 2478 POINT otmptSubscriptOffset; 2479 POINT otmptSuperscriptSize; 2480 POINT otmptSuperscriptOffset; 2481 UINT otmsStrikeoutSize; 2482 int otmsStrikeoutPosition; 2483 int otmsUnderscoreSize; 2484 int otmsUnderscorePosition; 2485 PSTR otmpFamilyName; 2486 PSTR otmpFaceName; 2487 PSTR otmpStyleName; 2488 PSTR otmpFullName; 2489 } OUTLINETEXTMETRICA,*POUTLINETEXTMETRICA,*LPOUTLINETEXTMETRICA; 2490 typedef struct _OUTLINETEXTMETRICW { 2491 UINT otmSize; 2492 TEXTMETRICW otmTextMetrics; 2493 BYTE otmFiller; 2494 PANOSE otmPanoseNumber; 2495 UINT otmfsSelection; 2496 UINT otmfsType; 2497 int otmsCharSlopeRise; 2498 int otmsCharSlopeRun; 2499 int otmItalicAngle; 2500 UINT otmEMSquare; 2501 int otmAscent; 2502 int otmDescent; 2503 UINT otmLineGap; 2504 UINT otmsCapEmHeight; 2505 UINT otmsXHeight; 2506 RECT otmrcFontBox; 2507 int otmMacAscent; 2508 int otmMacDescent; 2509 UINT otmMacLineGap; 2510 UINT otmusMinimumPPEM; 2511 POINT otmptSubscriptSize; 2512 POINT otmptSubscriptOffset; 2513 POINT otmptSuperscriptSize; 2514 POINT otmptSuperscriptOffset; 2515 UINT otmsStrikeoutSize; 2516 int otmsStrikeoutPosition; 2517 int otmsUnderscoreSize; 2518 int otmsUnderscorePosition; 2519 PSTR otmpFamilyName; 2520 PSTR otmpFaceName; 2521 PSTR otmpStyleName; 2522 PSTR otmpFullName; 2523 } OUTLINETEXTMETRICW,*POUTLINETEXTMETRICW,*LPOUTLINETEXTMETRICW; 2524 typedef struct _RASTERIZER_STATUS { 2525 short nSize; 2526 short wFlags; 2527 short nLanguageID; 2528 } RASTERIZER_STATUS,*LPRASTERIZER_STATUS; 2529 typedef struct _POLYTEXTA { 2530 int x; 2531 int y; 2532 UINT n; 2533 LPCSTR lpstr; 2534 UINT uiFlags; 2535 RECT rcl; 2536 int *pdx; 2537 } POLYTEXTA, *PPOLYTEXTA, *LPPOLYTEXTA; 2538 typedef struct _POLYTEXTW { 2539 int x; 2540 int y; 2541 UINT n; 2542 LPCWSTR lpstr; 2543 UINT uiFlags; 2544 RECT rcl; 2545 int *pdx; 2546 } POLYTEXTW, *PPOLYTEXTW, *LPPOLYTEXTW; 2547 typedef struct tagPIXELFORMATDESCRIPTOR { 2548 WORD nSize; 2549 WORD nVersion; 2550 DWORD dwFlags; 2551 BYTE iPixelType; 2552 BYTE cColorBits; 2553 BYTE cRedBits; 2554 BYTE cRedShift; 2555 BYTE cGreenBits; 2556 BYTE cGreenShift; 2557 BYTE cBlueBits; 2558 BYTE cBlueShift; 2559 BYTE cAlphaBits; 2560 BYTE cAlphaShift; 2561 BYTE cAccumBits; 2562 BYTE cAccumRedBits; 2563 BYTE cAccumGreenBits; 2564 BYTE cAccumBlueBits; 2565 BYTE cAccumAlphaBits; 2566 BYTE cDepthBits; 2567 BYTE cStencilBits; 2568 BYTE cAuxBuffers; 2569 BYTE iLayerType; 2570 BYTE bReserved; 2571 DWORD dwLayerMask; 2572 DWORD dwVisibleMask; 2573 DWORD dwDamageMask; 2574 } PIXELFORMATDESCRIPTOR,*PPIXELFORMATDESCRIPTOR,*LPPIXELFORMATDESCRIPTOR; 2575 2576 typedef struct tagEMRPIXELFORMAT 2577 { 2578 EMR emr; 2579 PIXELFORMATDESCRIPTOR pfd; 2580 } EMRPIXELFORMAT, *PEMRPIXELFORMAT; 2581 2582 typedef struct tagMETAFILEPICT { 2583 LONG mm; 2584 LONG xExt; 2585 LONG yExt; 2586 HMETAFILE hMF; 2587 } METAFILEPICT,*LPMETAFILEPICT; 2588 typedef struct tagLOCALESIGNATURE { 2589 DWORD lsUsb[4]; 2590 DWORD lsCsbDefault[2]; 2591 DWORD lsCsbSupported[2]; 2592 } LOCALESIGNATURE,*PLOCALESIGNATURE,*LPLOCALESIGNATURE; 2593 typedef LONG LCSTYPE; 2594 #include "pshpack4.h" 2595 typedef struct tagNEWTEXTMETRICA { 2596 LONG tmHeight; 2597 LONG tmAscent; 2598 LONG tmDescent; 2599 LONG tmInternalLeading; 2600 LONG tmExternalLeading; 2601 LONG tmAveCharWidth; 2602 LONG tmMaxCharWidth; 2603 LONG tmWeight; 2604 LONG tmOverhang; 2605 LONG tmDigitizedAspectX; 2606 LONG tmDigitizedAspectY; 2607 BYTE tmFirstChar; 2608 BYTE tmLastChar; 2609 BYTE tmDefaultChar; 2610 BYTE tmBreakChar; 2611 BYTE tmItalic; 2612 BYTE tmUnderlined; 2613 BYTE tmStruckOut; 2614 BYTE tmPitchAndFamily; 2615 BYTE tmCharSet; 2616 DWORD ntmFlags; 2617 UINT ntmSizeEM; 2618 UINT ntmCellHeight; 2619 UINT ntmAvgWidth; 2620 } NEWTEXTMETRICA,*PNEWTEXTMETRICA,*LPNEWTEXTMETRICA; 2621 typedef struct tagNEWTEXTMETRICW { 2622 LONG tmHeight; 2623 LONG tmAscent; 2624 LONG tmDescent; 2625 LONG tmInternalLeading; 2626 LONG tmExternalLeading; 2627 LONG tmAveCharWidth; 2628 LONG tmMaxCharWidth; 2629 LONG tmWeight; 2630 LONG tmOverhang; 2631 LONG tmDigitizedAspectX; 2632 LONG tmDigitizedAspectY; 2633 WCHAR tmFirstChar; 2634 WCHAR tmLastChar; 2635 WCHAR tmDefaultChar; 2636 WCHAR tmBreakChar; 2637 BYTE tmItalic; 2638 BYTE tmUnderlined; 2639 BYTE tmStruckOut; 2640 BYTE tmPitchAndFamily; 2641 BYTE tmCharSet; 2642 DWORD ntmFlags; 2643 UINT ntmSizeEM; 2644 UINT ntmCellHeight; 2645 UINT ntmAvgWidth; 2646 } NEWTEXTMETRICW,*PNEWTEXTMETRICW,*LPNEWTEXTMETRICW; 2647 #include "poppack.h" 2648 typedef struct tagNEWTEXTMETRICEXA { 2649 NEWTEXTMETRICA ntmTm; 2650 FONTSIGNATURE ntmFontSig; 2651 } NEWTEXTMETRICEXA; 2652 typedef struct tagNEWTEXTMETRICEXW { 2653 NEWTEXTMETRICW ntmTm; 2654 FONTSIGNATURE ntmFontSig; 2655 } NEWTEXTMETRICEXW; 2656 typedef struct tagPELARRAY { 2657 LONG paXCount; 2658 LONG paYCount; 2659 LONG paXExt; 2660 LONG paYExt; 2661 BYTE paRGBs; 2662 } PELARRAY,*PPELARRAY,*LPPELARRAY; 2663 typedef struct tagENUMLOGFONTA { 2664 LOGFONTA elfLogFont; 2665 BYTE elfFullName[LF_FULLFACESIZE]; 2666 BYTE elfStyle[LF_FACESIZE]; 2667 } ENUMLOGFONTA,*LPENUMLOGFONTA; 2668 typedef struct tagENUMLOGFONTW { 2669 LOGFONTW elfLogFont; 2670 WCHAR elfFullName[LF_FULLFACESIZE]; 2671 WCHAR elfStyle[LF_FACESIZE]; 2672 } ENUMLOGFONTW,*LPENUMLOGFONTW; 2673 typedef struct tagENUMLOGFONTEXA { 2674 LOGFONTA elfLogFont; 2675 BYTE elfFullName[LF_FULLFACESIZE]; 2676 BYTE elfStyle[LF_FACESIZE]; 2677 BYTE elfScript[LF_FACESIZE]; 2678 } ENUMLOGFONTEXA,*LPENUMLOGFONTEXA; 2679 typedef struct tagENUMLOGFONTEXW { 2680 LOGFONTW elfLogFont; 2681 WCHAR elfFullName[LF_FULLFACESIZE]; 2682 WCHAR elfStyle[LF_FACESIZE]; 2683 WCHAR elfScript[LF_FACESIZE]; 2684 } ENUMLOGFONTEXW,*LPENUMLOGFONTEXW; 2685 typedef struct tagPOINTFX { 2686 FIXED x; 2687 FIXED y; 2688 } POINTFX,*LPPOINTFX; 2689 typedef struct tagTTPOLYCURVE { 2690 WORD wType; 2691 WORD cpfx; 2692 POINTFX apfx[1]; 2693 } TTPOLYCURVE,*LPTTPOLYCURVE; 2694 typedef struct tagTTPOLYGONHEADER { 2695 DWORD cb; 2696 DWORD dwType; 2697 POINTFX pfxStart; 2698 } TTPOLYGONHEADER,*LPTTPOLYGONHEADER; 2699 typedef struct _POINTFLOAT { 2700 FLOAT x; 2701 FLOAT y; 2702 } POINTFLOAT,*PPOINTFLOAT; 2703 typedef struct _GLYPHMETRICSFLOAT { 2704 FLOAT gmfBlackBoxX; 2705 FLOAT gmfBlackBoxY; 2706 POINTFLOAT gmfptGlyphOrigin; 2707 FLOAT gmfCellIncX; 2708 FLOAT gmfCellIncY; 2709 } GLYPHMETRICSFLOAT,*PGLYPHMETRICSFLOAT,*LPGLYPHMETRICSFLOAT; 2710 typedef struct tagLAYERPLANEDESCRIPTOR { 2711 WORD nSize; 2712 WORD nVersion; 2713 DWORD dwFlags; 2714 BYTE iPixelType; 2715 BYTE cColorBits; 2716 BYTE cRedBits; 2717 BYTE cRedShift; 2718 BYTE cGreenBits; 2719 BYTE cGreenShift; 2720 BYTE cBlueBits; 2721 BYTE cBlueShift; 2722 BYTE cAlphaBits; 2723 BYTE cAlphaShift; 2724 BYTE cAccumBits; 2725 BYTE cAccumRedBits; 2726 BYTE cAccumGreenBits; 2727 BYTE cAccumBlueBits; 2728 BYTE cAccumAlphaBits; 2729 BYTE cDepthBits; 2730 BYTE cStencilBits; 2731 BYTE cAuxBuffers; 2732 BYTE iLayerPlane; 2733 BYTE bReserved; 2734 COLORREF crTransparent; 2735 } LAYERPLANEDESCRIPTOR,*PLAYERPLANEDESCRIPTOR,*LPLAYERPLANEDESCRIPTOR; 2736 typedef struct _BLENDFUNCTION { 2737 BYTE BlendOp; 2738 BYTE BlendFlags; 2739 BYTE SourceConstantAlpha; 2740 BYTE AlphaFormat; 2741 } BLENDFUNCTION,*PBLENDFUNCTION,*LPBLENDFUNCTION; 2742 #define STAMP_DESIGNVECTOR (0x8000000 + 'd' + ('v' << 8)) 2743 #define STAMP_AXESLIST (0x8000000 + 'a' + ('l' << 8)) 2744 #define MM_MAX_NUMAXES 16 2745 typedef struct _DESIGNVECTOR { 2746 DWORD dvReserved; 2747 DWORD dvNumAxes; 2748 LONG dvValues[MM_MAX_NUMAXES]; 2749 } DESIGNVECTOR, *PDESIGNVECTOR, *LPDESIGNVECTOR; 2750 typedef struct tagENUMLOGFONTEXDVA 2751 { 2752 ENUMLOGFONTEXA elfEnumLogfontEx; 2753 DESIGNVECTOR elfDesignVector; 2754 } ENUMLOGFONTEXDVA, *PENUMLOGFONTEXDVA, *LPENUMLOGFONTEXDVA; 2755 typedef struct tagENUMLOGFONTEXDVW 2756 { 2757 ENUMLOGFONTEXW elfEnumLogfontEx; 2758 DESIGNVECTOR elfDesignVector; 2759 } ENUMLOGFONTEXDVW, *PENUMLOGFONTEXDVW, *LPENUMLOGFONTEXDVW; 2760 typedef USHORT COLOR16; 2761 typedef struct _TRIVERTEX { 2762 LONG x; 2763 LONG y; 2764 COLOR16 Red; 2765 COLOR16 Green; 2766 COLOR16 Blue; 2767 COLOR16 Alpha; 2768 } TRIVERTEX, *PTRIVERTEX, *LPTRIVERTEX; 2769 typedef struct tagEMRGRADIENTFILL { 2770 EMR emr; 2771 RECTL rclBounds; 2772 DWORD nVer; 2773 DWORD nTri; 2774 ULONG ulMode; 2775 TRIVERTEX Ver[1]; 2776 } EMRGRADIENTFILL, *PEMRGRADIENTFILL; 2777 typedef struct _GRADIENT_TRIANGLE { 2778 ULONG Vertex1; 2779 ULONG Vertex2; 2780 ULONG Vertex3; 2781 } GRADIENT_TRIANGLE,*PGRADIENT_TRIANGLE,*LPGRADIENT_TRIANGLE; 2782 typedef struct _GRADIENT_RECT { 2783 ULONG UpperLeft; 2784 ULONG LowerRight; 2785 }GRADIENT_RECT,*PGRADIENT_RECT,*LPGRADIENT_RECT; 2786 typedef struct _DISPLAY_DEVICEA { 2787 DWORD cb; 2788 CHAR DeviceName[32]; 2789 CHAR DeviceString[128]; 2790 DWORD StateFlags; 2791 CHAR DeviceID[128]; 2792 CHAR DeviceKey[128]; 2793 } DISPLAY_DEVICEA, *PDISPLAY_DEVICEA, *LPDISPLAY_DEVICEA; 2794 typedef struct _DISPLAY_DEVICEW { 2795 DWORD cb; 2796 WCHAR DeviceName[32]; 2797 WCHAR DeviceString[128]; 2798 DWORD StateFlags; 2799 WCHAR DeviceID[128]; 2800 WCHAR DeviceKey[128]; 2801 } DISPLAY_DEVICEW, *PDISPLAY_DEVICEW, *LPDISPLAY_DEVICEW; 2802 #define MM_MAX_AXES_NAMELEN 16 2803 typedef struct _AXISINFOA 2804 { 2805 LONG axMinValue; 2806 LONG axMaxValue; 2807 BYTE axAxisName[MM_MAX_AXES_NAMELEN]; 2808 } AXISINFOA, *PAXISINFOA, *LPAXISINFOA; 2809 typedef struct _AXISINFOW 2810 { 2811 LONG axMinValue; 2812 LONG axMaxValue; 2813 WCHAR axAxisName[MM_MAX_AXES_NAMELEN]; 2814 } AXISINFOW, *PAXISINFOW, *LPAXISINFOW; 2815 typedef struct _AXESLISTA 2816 { 2817 DWORD axlReserved; 2818 DWORD axlNumAxes; 2819 AXISINFOA axlAxisInfo[MM_MAX_NUMAXES]; 2820 } AXESLISTA, *PAXESLISTA, *LPAXESLISTA; 2821 typedef struct _AXESLISTW 2822 { 2823 DWORD axlReserved; 2824 DWORD axlNumAxes; 2825 AXISINFOW axlAxisInfo[MM_MAX_NUMAXES]; 2826 } AXESLISTW, *PAXESLISTW, *LPAXESLISTW; 2827 typedef struct _ENUMTEXTMETRICA 2828 { 2829 NEWTEXTMETRICEXA etmNewTextMetricEx; 2830 AXESLISTA etmAxesList; 2831 } ENUMTEXTMETRICA, *PENUMTEXTMETRICA, *LPENUMTEXTMETRICA; 2832 typedef struct _ENUMTEXTMETRICW 2833 { 2834 NEWTEXTMETRICEXW etmNewTextMetricEx; 2835 AXESLISTW etmAxesList; 2836 } ENUMTEXTMETRICW, *PENUMTEXTMETRICW, *LPENUMTEXTMETRICW; 2837 2838 2839 #if defined(STRICT) 2840 2841 #if !defined(NOTEXTMETRIC) 2842 2843 typedef int (CALLBACK *OLDFONTENUMPROCA)(CONST LOGFONTA *, CONST TEXTMETRICA *, DWORD, LPARAM); 2844 typedef int (CALLBACK *OLDFONTENUMPROCW)(CONST LOGFONTW *, CONST TEXTMETRICW *, DWORD, LPARAM); 2845 2846 #else 2847 2848 typedef int (CALLBACK* OLDFONTENUMPROCA)(CONST LOGFONTA *, CONST VOID *, DWORD, LPARAM); 2849 typedef int (CALLBACK* OLDFONTENUMPROCW)(CONST LOGFONTW *, CONST VOID *, DWORD, LPARAM); 2850 2851 #endif 2852 2853 #ifdef UNICODE 2854 #define OLDFONTENUMPROC OLDFONTENUMPROCW 2855 #else 2856 #define OLDFONTENUMPROC OLDFONTENUMPROCA 2857 #endif 2858 2859 typedef OLDFONTENUMPROCA FONTENUMPROCA; 2860 typedef OLDFONTENUMPROCW FONTENUMPROCW; 2861 2862 #ifdef UNICODE 2863 typedef FONTENUMPROCW FONTENUMPROC; 2864 #else 2865 typedef FONTENUMPROCA FONTENUMPROC; 2866 #endif 2867 2868 typedef INT (CALLBACK *GOBJENUMPROC)(LPVOID, LPARAM); 2869 typedef VOID (CALLBACK *LINEDDAPROC)(INT, INT, LPARAM); 2870 2871 #else // defined(STRICT) 2872 2873 typedef FARPROC OLDFONTENUMPROC; 2874 typedef FARPROC FONTENUMPROCA; 2875 typedef FARPROC FONTENUMPROCW; 2876 2877 #ifdef UNICODE 2878 typedef FONTENUMPROCW FONTENUMPROC; 2879 #else 2880 typedef FONTENUMPROCA FONTENUMPROC; 2881 #endif 2882 2883 typedef FARPROC GOBJENUMPROC; 2884 typedef FARPROC LINEDDAPROC; 2885 2886 #endif 2887 2888 2889 typedef BOOL (CALLBACK *ABORTPROC)(HDC,int); 2890 2891 typedef int 2892 (CALLBACK *MFENUMPROC)( 2893 _In_ HDC hdc, 2894 _In_reads_(nObj) HANDLETABLE FAR* lpht, 2895 _In_ METARECORD FAR* lpMR, 2896 _In_ int nObj, 2897 _In_opt_ LPARAM param); 2898 2899 typedef int 2900 (CALLBACK *ENHMFENUMPROC)( 2901 _In_ HDC hdc, 2902 _In_reads_(nHandles) HANDLETABLE FAR* lpht, 2903 _In_ CONST ENHMETARECORD * lpmr, 2904 _In_ int nHandles, 2905 _In_opt_ LPARAM data); 2906 2907 typedef int (CALLBACK *ICMENUMPROCA)(LPSTR,LPARAM); 2908 typedef int (CALLBACK *ICMENUMPROCW)(LPWSTR,LPARAM); 2909 typedef UINT (CALLBACK *LPFNDEVMODE)(HWND,HMODULE,LPDEVMODEA,LPSTR,LPSTR,LPDEVMODEA,LPSTR,UINT); 2910 typedef DWORD (CALLBACK *LPFNDEVCAPS)(LPSTR,LPSTR,UINT,LPSTR,LPDEVMODEA); 2911 2912 2913 #define GetRValue(rgb) ((BYTE)(rgb)) 2914 #define GetGValue(rgb) ((BYTE)(((WORD)(rgb)) >> 8)) 2915 #define GetBValue(rgb) ((BYTE)((rgb)>>16)) 2916 #define GetAValue(rgb) ((BYTE)((rgb)>>24)) 2917 2918 #define RGB(r,g,b) ((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g))<<8))|(((DWORD)(BYTE)(b))<<16))) 2919 #define RGBA(r,g,b,a) ((COLORREF)((((DWORD)(BYTE)(a))<<24) | RGB(r,g,b))) 2920 #define PALETTERGB(r,g,b) (0x02000000 | RGB(r,g,b)) 2921 #define PALETTEINDEX(i) ((COLORREF)(0x01000000 | (DWORD)(WORD)(i))) 2922 2923 #define MAKEPOINTS(l) (*((POINTS*)&(l))) 2924 #define MAKEROP4(f,b) (DWORD)((((b)<<8)&0xFF000000)|(f)) 2925 2926 INT 2927 WINAPI 2928 AbortDoc( 2929 _In_ HDC hdc); 2930 2931 BOOL 2932 WINAPI 2933 AbortPath( 2934 _In_ HDC hdc); 2935 2936 int 2937 WINAPI 2938 AddFontResourceA( 2939 _In_ LPCSTR pszFilename); 2940 2941 int 2942 WINAPI 2943 AddFontResourceW( 2944 _In_ LPCWSTR pszFilename); 2945 2946 HANDLE 2947 WINAPI 2948 AddFontMemResourceEx( 2949 _In_reads_bytes_(cjSize) PVOID pvFileView, 2950 _In_ DWORD cjSize, 2951 _Reserved_ PVOID pvResrved, 2952 _In_ DWORD* pNumFonts); 2953 2954 INT 2955 WINAPI 2956 AddFontResourceExA( 2957 _In_ LPCSTR pszFilename, 2958 _In_ DWORD fl, 2959 _Reserved_ PVOID pvReserved); 2960 2961 INT 2962 WINAPI 2963 AddFontResourceExW( 2964 _In_ LPCWSTR pszFilename, 2965 _In_ DWORD fl, 2966 _Reserved_ PVOID pvReserved); 2967 2968 BOOL 2969 WINAPI 2970 AngleArc( 2971 _In_ HDC hdc, 2972 _In_ INT x, 2973 _In_ INT y, 2974 _In_ DWORD dwRadius, 2975 _In_ FLOAT eStartAngle, 2976 _In_ FLOAT eSweepAngle); 2977 2978 BOOL 2979 WINAPI 2980 AnimatePalette( 2981 _In_ HPALETTE hPal, 2982 _In_ UINT iStartIndex, 2983 _In_ UINT cEntries, 2984 _In_reads_(cEntries) CONST PALETTEENTRY *ppe); 2985 2986 BOOL 2987 WINAPI 2988 Arc( 2989 _In_ HDC hdc, 2990 _In_ INT xLeft, 2991 _In_ INT yTop, 2992 _In_ INT xRight, 2993 _In_ INT yBottom, 2994 _In_ INT xStartArc, 2995 _In_ INT yStartArc, 2996 _In_ INT xEndArc, 2997 _In_ INT yEndArc); 2998 2999 BOOL 3000 WINAPI 3001 ArcTo( 3002 _In_ HDC hdc, 3003 _In_ INT xLeft, 3004 _In_ INT yTop, 3005 _In_ INT xRight, 3006 _In_ INT yBottom, 3007 _In_ INT xRadial1, 3008 _In_ INT yRadial1, 3009 _In_ INT xRadial2, 3010 _In_ INT yRadial2); 3011 3012 BOOL 3013 WINAPI 3014 BeginPath( 3015 _In_ HDC hdc); 3016 3017 BOOL 3018 WINAPI 3019 BitBlt( 3020 _In_ HDC hdcDest, 3021 _In_ INT xDest, 3022 _In_ INT yDest, 3023 _In_ INT cxDest, 3024 _In_ INT cyDest, 3025 _In_opt_ HDC hdcSrc, 3026 _In_ INT xSrc, 3027 _In_ INT ySrc, 3028 _In_ DWORD dwRop); 3029 3030 BOOL 3031 WINAPI 3032 CancelDC( 3033 _In_ HDC hdc); 3034 3035 BOOL 3036 WINAPI 3037 CheckColorsInGamut( 3038 _In_ HDC hdc, 3039 _In_reads_(nCount) LPVOID pRGBTriple, 3040 _Out_writes_bytes_(nCount) LPVOID pvBuffer, 3041 _In_ DWORD nCount); 3042 3043 BOOL 3044 WINAPI 3045 Chord( 3046 _In_ HDC hdc, 3047 _In_ INT xLeft, 3048 _In_ INT yTop, 3049 _In_ INT xRight, 3050 _In_ INT yBottom, 3051 _In_ INT xRadial1, 3052 _In_ INT yRadial1, 3053 _In_ INT xRadial2, 3054 _In_ INT yRadial2); 3055 3056 int 3057 WINAPI 3058 ChoosePixelFormat( 3059 _In_ HDC hdc, 3060 _In_ const PIXELFORMATDESCRIPTOR* ppfd); 3061 3062 HENHMETAFILE 3063 WINAPI 3064 CloseEnhMetaFile( 3065 _In_ HDC hdc); 3066 3067 BOOL 3068 WINAPI 3069 CloseFigure( 3070 _In_ HDC hdc); 3071 3072 HMETAFILE 3073 WINAPI 3074 CloseMetaFile( 3075 _In_ HDC hdc); 3076 3077 BOOL 3078 WINAPI 3079 ColorMatchToTarget( 3080 _In_ HDC hdc, 3081 _In_ HDC hdcTarget, 3082 _In_ DWORD uAction); 3083 3084 int 3085 WINAPI 3086 CombineRgn( 3087 _In_opt_ HRGN hrgnDest, 3088 _In_opt_ HRGN hrgnSrc1, 3089 _In_opt_ HRGN hrgnSrc2, 3090 _In_ int fnCombineMode); 3091 3092 BOOL 3093 WINAPI 3094 CombineTransform( 3095 _Out_ LPXFORM pxformResult, 3096 _In_ const XFORM* pxform1, 3097 _In_ const XFORM* pxform2); 3098 3099 HENHMETAFILE 3100 WINAPI 3101 CopyEnhMetaFileA( 3102 _In_ HENHMETAFILE hemfSrc, 3103 _In_opt_ LPCSTR pszFile); 3104 3105 HENHMETAFILE 3106 WINAPI 3107 CopyEnhMetaFileW( 3108 _In_ HENHMETAFILE hemfSrc, 3109 _In_opt_ LPCWSTR pszFile); 3110 3111 HMETAFILE 3112 WINAPI 3113 CopyMetaFileA( 3114 _In_ HMETAFILE hmfSrc, 3115 _In_opt_ LPCSTR pszFile); 3116 3117 HMETAFILE 3118 WINAPI 3119 CopyMetaFileW( 3120 _In_ HMETAFILE hmfSrc, 3121 _In_opt_ LPCWSTR pszFile); 3122 3123 HBITMAP 3124 WINAPI 3125 CreateBitmap( 3126 _In_ INT cx, 3127 _In_ INT cy, 3128 _In_ UINT cPlanes, 3129 _In_ UINT cBitsPerPel, 3130 _In_opt_ const VOID* pvBits); 3131 3132 HBITMAP 3133 WINAPI 3134 CreateBitmapIndirect( 3135 _In_ const BITMAP* pbm); 3136 3137 HBRUSH 3138 WINAPI 3139 CreateBrushIndirect( 3140 _In_ const LOGBRUSH* plb); 3141 3142 HCOLORSPACE 3143 WINAPI 3144 CreateColorSpaceA( 3145 _In_ LPLOGCOLORSPACEA pLogColorSpace); 3146 3147 HCOLORSPACE 3148 WINAPI 3149 CreateColorSpaceW( 3150 _In_ LPLOGCOLORSPACEW pLogColorSpace); 3151 3152 HBITMAP 3153 WINAPI 3154 CreateCompatibleBitmap( 3155 _In_ HDC hdc, 3156 _In_ INT cx, 3157 _In_ INT cy); 3158 3159 HDC 3160 WINAPI 3161 CreateCompatibleDC( 3162 _In_opt_ HDC hdc); 3163 3164 HDC 3165 WINAPI 3166 CreateDCA( 3167 _In_opt_ LPCSTR pszDriver, 3168 _In_opt_ LPCSTR pszDevice, 3169 _In_opt_ LPCSTR pszOutput, 3170 _In_opt_ const DEVMODEA* pdmInit); 3171 3172 HDC 3173 WINAPI 3174 CreateDCW( 3175 _In_opt_ LPCWSTR pszDriver, 3176 _In_opt_ LPCWSTR pszDevice, 3177 _In_opt_ LPCWSTR psz, 3178 _In_opt_ const DEVMODEW* pdmInit); 3179 3180 HBITMAP 3181 WINAPI 3182 CreateDIBitmap( 3183 _In_ HDC hdc, 3184 _In_opt_ const BITMAPINFOHEADER* pbmih, 3185 _In_ DWORD fdwInit, 3186 _In_opt_ const VOID* pvInit, 3187 _In_opt_ const BITMAPINFO* pbmi, 3188 _In_ UINT uUsage); 3189 3190 HBRUSH 3191 WINAPI 3192 CreateDIBPatternBrush( 3193 _In_ HGLOBAL hglbDIBPacked, 3194 _In_ UINT uUsage); 3195 3196 HBRUSH 3197 WINAPI 3198 CreateDIBPatternBrushPt( 3199 _In_ const VOID* pvPackedDIB, 3200 _In_ UINT uUsage); 3201 3202 #define GDI_WIDTHBYTES(bits) ((DWORD)(((bits) + 31) & (~31)) / 8) 3203 #define GDI_DIBWIDTHBYTES(bi) (DWORD)GDI_WIDTHBYTES((DWORD)(bi).biWidth * (DWORD)(bi).biBitCount) 3204 #define GDI__DIBSIZE(bi) (GDI_DIBWIDTHBYTES(bi) * (DWORD)(bi).biHeight) 3205 #define GDI_DIBSIZE(bi) ((bi).biHeight < 0 ? (-1) * (GDI__DIBSIZE(bi)) : GDI__DIBSIZE(bi)) 3206 3207 _Success_(return != NULL) 3208 HBITMAP 3209 WINAPI 3210 CreateDIBSection( 3211 _In_opt_ HDC hdc, 3212 _In_ const BITMAPINFO *pbmi, 3213 _In_ UINT usage, 3214 _When_((pbmi->bmiHeader.biBitCount != 0), _Outptr_result_bytebuffer_(GDI_DIBSIZE((pbmi->bmiHeader)))) 3215 _When_((pbmi->bmiHeader.biBitCount == 0), _Outptr_result_bytebuffer_((pbmi->bmiHeader).biSizeImage)) 3216 VOID **ppvBits, 3217 _In_opt_ HANDLE hSection, 3218 _In_ DWORD offset); 3219 3220 HBITMAP WINAPI CreateDiscardableBitmap(_In_ HDC, _In_ int, _In_ int); 3221 HRGN WINAPI CreateEllipticRgn(_In_ int, _In_ int, _In_ int, _In_ int); 3222 HRGN WINAPI CreateEllipticRgnIndirect(_In_ LPCRECT); 3223 HDC WINAPI CreateEnhMetaFileA(_In_opt_ HDC, _In_opt_ LPCSTR, _In_opt_ LPCRECT, _In_opt_ LPCSTR); 3224 HDC WINAPI CreateEnhMetaFileW(_In_opt_ HDC, _In_opt_ LPCWSTR, _In_opt_ LPCRECT, _In_opt_ LPCWSTR); 3225 HFONT WINAPI CreateFontA(_In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_opt_ LPCSTR); 3226 HFONT WINAPI CreateFontW(_In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_opt_ LPCWSTR); 3227 HFONT WINAPI CreateFontIndirectA(_In_ const LOGFONTA*); 3228 HFONT WINAPI CreateFontIndirectW(_In_ const LOGFONTW*); 3229 HFONT WINAPI CreateFontIndirectExA(const ENUMLOGFONTEXDVA *); 3230 HFONT WINAPI CreateFontIndirectExW(const ENUMLOGFONTEXDVW *); 3231 HPALETTE WINAPI CreateHalftonePalette(_In_opt_ HDC); 3232 HBRUSH WINAPI CreateHatchBrush(_In_ int, _In_ COLORREF); 3233 HDC WINAPI CreateICA(_In_opt_ LPCSTR, _In_opt_ LPCSTR, _In_opt_ LPCSTR, _In_opt_ const DEVMODEA*); 3234 HDC WINAPI CreateICW(_In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_opt_ const DEVMODEW*); 3235 HDC WINAPI CreateMetaFileA(_In_opt_ LPCSTR); 3236 HDC WINAPI CreateMetaFileW(_In_opt_ LPCWSTR); 3237 3238 HPALETTE 3239 WINAPI 3240 CreatePalette( 3241 _In_reads_(_Inexpressible_(2*sizeof(WORD) + plpal->palNumEntries * sizeof(PALETTEENTRY))) const LOGPALETTE*); 3242 3243 HBRUSH WINAPI CreatePatternBrush(_In_ HBITMAP); 3244 HPEN WINAPI CreatePen(_In_ int, _In_ int, _In_ COLORREF); 3245 HPEN WINAPI CreatePenIndirect(_In_ const LOGPEN*); 3246 3247 HRGN 3248 WINAPI 3249 CreatePolygonRgn( 3250 _In_reads_(cPoint) const POINT *pptl, 3251 _In_ int cPoint, 3252 _In_ int iMode); 3253 3254 HRGN 3255 WINAPI 3256 CreatePolyPolygonRgn( 3257 _In_ const POINT *pptl, 3258 _In_reads_(cPoly) const INT *pc, 3259 _In_ int cPoly, 3260 _In_ int iMode); 3261 3262 HRGN WINAPI CreateRectRgn(_In_ int, _In_ int, _In_ int, _In_ int); 3263 HRGN WINAPI CreateRectRgnIndirect(_In_ LPCRECT); 3264 HRGN WINAPI CreateRoundRectRgn(_In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int); 3265 BOOL WINAPI CreateScalableFontResourceA(_In_ DWORD, _In_ LPCSTR, _In_ LPCSTR, _In_opt_ LPCSTR); 3266 BOOL WINAPI CreateScalableFontResourceW(_In_ DWORD, _In_ LPCWSTR, _In_ LPCWSTR, _In_opt_ LPCWSTR); 3267 HBRUSH WINAPI CreateSolidBrush(_In_ COLORREF); 3268 BOOL WINAPI DeleteColorSpace(_In_ HCOLORSPACE); 3269 BOOL WINAPI DeleteDC(_In_ HDC); 3270 BOOL WINAPI DeleteEnhMetaFile(_In_opt_ HENHMETAFILE); 3271 BOOL WINAPI DeleteMetaFile(_In_ HMETAFILE); 3272 BOOL WINAPI DeleteObject(_In_ HGDIOBJ); 3273 3274 int 3275 WINAPI 3276 DescribePixelFormat( 3277 _In_ HDC hdc, 3278 _In_ int iPixelFormat, 3279 _In_ UINT nBytes, 3280 _Out_writes_bytes_opt_(nBytes) LPPIXELFORMATDESCRIPTOR ppfd); 3281 3282 DWORD 3283 WINAPI 3284 DeviceCapabilitiesA( 3285 _In_ LPCSTR pDevice, 3286 _In_opt_ LPCSTR pPort, 3287 _In_ WORD fwCapability, 3288 _Out_writes_opt_(_Inexpressible_(1)) LPSTR pOutput, 3289 _In_opt_ const DEVMODEA *pDevMode); 3290 3291 DWORD 3292 WINAPI 3293 DeviceCapabilitiesW( 3294 _In_ LPCWSTR pDevice, 3295 _In_opt_ LPCWSTR pPort, 3296 _In_ WORD fwCapability, 3297 _Out_writes_opt_(_Inexpressible_(1)) LPWSTR pOutput, 3298 _In_opt_ const DEVMODEW *pDevMode); 3299 3300 BOOL 3301 WINAPI 3302 DPtoLP( 3303 _In_ HDC hdc, 3304 _Inout_updates_(c) LPPOINT lppt, 3305 _In_ int c); 3306 3307 int 3308 WINAPI 3309 DrawEscape( 3310 _In_ HDC hdc, 3311 _In_ int iEscape, 3312 _In_ int cjIn, 3313 _In_reads_bytes_opt_(cjIn) LPCSTR lpIn); 3314 3315 BOOL WINAPI Ellipse(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int); 3316 int WINAPI EndDoc(_In_ HDC); 3317 int WINAPI EndPage(_In_ HDC); 3318 BOOL WINAPI EndPath(_In_ HDC); 3319 BOOL WINAPI EnumEnhMetaFile(_In_opt_ HDC, _In_ HENHMETAFILE, _In_ ENHMFENUMPROC, _In_opt_ PVOID, _In_opt_ LPCRECT); 3320 int WINAPI EnumFontFamiliesA(_In_ HDC, _In_opt_ LPCSTR, _In_ FONTENUMPROCA, _In_ LPARAM); 3321 int WINAPI EnumFontFamiliesW(_In_ HDC, _In_opt_ LPCWSTR, _In_ FONTENUMPROCW, _In_ LPARAM); 3322 int WINAPI EnumFontFamiliesExA(_In_ HDC, _In_ PLOGFONTA, _In_ FONTENUMPROCA, _In_ LPARAM, _In_ DWORD); 3323 int WINAPI EnumFontFamiliesExW(_In_ HDC, _In_ PLOGFONTW, _In_ FONTENUMPROCW, _In_ LPARAM, _In_ DWORD); 3324 int WINAPI EnumFontsA(_In_ HDC, _In_opt_ LPCSTR, _In_ FONTENUMPROCA, _In_ LPARAM); 3325 int WINAPI EnumFontsW(_In_ HDC, _In_opt_ LPCWSTR, _In_ FONTENUMPROCW, _In_ LPARAM); 3326 int WINAPI EnumICMProfilesA(_In_ HDC, _In_ ICMENUMPROCA, _In_opt_ LPARAM); 3327 int WINAPI EnumICMProfilesW(_In_ HDC, _In_ ICMENUMPROCW, _In_opt_ LPARAM); 3328 BOOL WINAPI EnumMetaFile(_In_ HDC, _In_ HMETAFILE, _In_ MFENUMPROC, _In_opt_ LPARAM); 3329 int WINAPI EnumObjects(_In_ HDC, _In_ int, _In_ GOBJENUMPROC, _In_ LPARAM); 3330 BOOL WINAPI EqualRgn(_In_ HRGN, _In_ HRGN); 3331 3332 int 3333 WINAPI 3334 Escape( 3335 _In_ HDC hdc, 3336 _In_ int iEscape, 3337 _In_ int cjIn, 3338 _In_reads_bytes_opt_(cjIn) LPCSTR pvIn, 3339 _Out_opt_ LPVOID pvOut); 3340 3341 int WINAPI ExcludeClipRect(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int); 3342 int WINAPI ExcludeUpdateRgn(HDC,HWND); 3343 3344 HPEN 3345 WINAPI 3346 ExtCreatePen( 3347 _In_ DWORD iPenStyle, 3348 _In_ DWORD cWidth, 3349 _In_ const LOGBRUSH *plbrush, 3350 _In_ DWORD cStyle, 3351 _In_reads_opt_(cStyle) const DWORD *pstyle); 3352 3353 HRGN 3354 WINAPI 3355 ExtCreateRegion( 3356 _In_opt_ const XFORM *lpx, 3357 _In_ DWORD nCount, 3358 _In_reads_bytes_(nCount) const RGNDATA *lpData); 3359 3360 int 3361 WINAPI 3362 ExtEscape( 3363 _In_ HDC hdc, 3364 _In_ int iEscape, 3365 _In_ int cjInput, 3366 _In_reads_bytes_opt_(cjInput) LPCSTR lpInData, 3367 _In_ int cjOutput, 3368 _Out_writes_bytes_opt_(cjOutput) LPSTR lpOutData); 3369 3370 BOOL WINAPI ExtFloodFill(_In_ HDC, _In_ int, _In_ int, _In_ COLORREF, _In_ UINT); 3371 int WINAPI ExtSelectClipRgn(_In_ HDC, _In_opt_ HRGN, _In_ int); 3372 3373 BOOL 3374 WINAPI 3375 ExtTextOutA( 3376 _In_ HDC hdc, 3377 _In_ int x, 3378 _In_ int y, 3379 _In_ UINT options, 3380 _In_opt_ const RECT *lprect, 3381 _In_reads_opt_(c) LPCSTR lpString, 3382 _In_ UINT c, 3383 _In_reads_opt_(c) const INT *lpDx); 3384 3385 BOOL 3386 WINAPI 3387 ExtTextOutW( 3388 _In_ HDC hdc, 3389 _In_ int x, 3390 _In_ int y, 3391 _In_ UINT options, 3392 _In_opt_ const RECT *lprect, 3393 _In_reads_opt_(c) LPCWSTR lpString, 3394 _In_ UINT c, 3395 _In_reads_opt_(c) const INT *lpDx); 3396 3397 BOOL WINAPI FillPath(_In_ HDC); 3398 int WINAPI FillRect(HDC,LPCRECT,HBRUSH); 3399 int WINAPI FillRgn(_In_ HDC, _In_ HRGN, _In_ HBRUSH); 3400 BOOL WINAPI FixBrushOrgEx(_In_ HDC, _In_ int, _In_ int, _In_opt_ LPPOINT); 3401 BOOL WINAPI FlattenPath(_In_ HDC); 3402 BOOL WINAPI FloodFill(_In_ HDC, _In_ int, _In_ int, _In_ COLORREF); 3403 BOOL WINAPI FrameRgn(_In_ HDC, _In_ HRGN, _In_ HBRUSH, _In_ int, _In_ int); 3404 BOOL WINAPI GdiAlphaBlend(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ BLENDFUNCTION); 3405 3406 BOOL 3407 WINAPI 3408 GdiComment( 3409 _In_ HDC hdc, 3410 _In_ UINT nSize, 3411 _In_reads_bytes_(nSize) const BYTE *lpData); 3412 3413 DEVMODEW * WINAPI GdiConvertToDevmodeW(const DEVMODEA *); 3414 BOOL WINAPI GdiFlush(void); 3415 LONG WINAPI GdiGetCharDimensions(HDC, LPTEXTMETRICW, LONG *); 3416 DWORD WINAPI GdiGetCodePage(HDC); 3417 DWORD WINAPI GdiGetBatchLimit(void); 3418 DWORD WINAPI GdiSetBatchLimit(_In_ DWORD); 3419 3420 BOOL 3421 WINAPI 3422 GdiGradientFill( 3423 _In_ HDC hdc, 3424 _In_reads_(nVertex) PTRIVERTEX pVertex, 3425 _In_ ULONG nVertex, 3426 _In_ PVOID pMesh, 3427 _In_ ULONG nCount, 3428 _In_ ULONG ulMode); 3429 3430 BOOL WINAPI GdiTransparentBlt(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT); 3431 BOOL WINAPI GdiIsMetaFileDC(HDC); 3432 3433 #define GetKValue(cmyk) ((BYTE)(cmyk)) 3434 #define GetYValue(cmyk) ((BYTE)((cmyk)>> 8)) 3435 #define GetMValue(cmyk) ((BYTE)((cmyk)>>16)) 3436 #define GetCValue(cmyk) ((BYTE)((cmyk)>>24)) 3437 #define CMYK(c,m,y,k) ((COLORREF)((((BYTE)(k)|((WORD)((BYTE)(y))<<8))|(((DWORD)(BYTE)(m))<<16))|(((DWORD)(BYTE)(c))<<24))) 3438 3439 int WINAPI GetArcDirection(_In_ HDC); 3440 BOOL WINAPI GetAspectRatioFilterEx(_In_ HDC, _Out_ LPSIZE); 3441 3442 LONG 3443 WINAPI 3444 GetBitmapBits( 3445 _In_ HBITMAP hbit, 3446 _In_ LONG cb, 3447 _Out_writes_bytes_(cb) LPVOID lpvBits); 3448 3449 BOOL WINAPI GetBitmapDimensionEx(_In_ HBITMAP, _Out_ LPSIZE); 3450 COLORREF WINAPI GetBkColor(_In_ HDC); 3451 int WINAPI GetBkMode(_In_ HDC); 3452 UINT WINAPI GetBoundsRect(_In_ HDC, _Out_ LPRECT, _In_ UINT); 3453 BOOL WINAPI GetBrushOrgEx(_In_ HDC, _Out_ LPPOINT); 3454 3455 BOOL 3456 WINAPI 3457 GetCharABCWidthsA( 3458 _In_ HDC hdc, 3459 _In_ UINT wFirst, 3460 _In_ UINT wLast, 3461 _Out_writes_(wLast - wFirst + 1) LPABC lpABC); 3462 3463 BOOL 3464 WINAPI 3465 GetCharABCWidthsW( 3466 _In_ HDC hdc, 3467 _In_ UINT wFirst, 3468 _In_ UINT wLast, 3469 _Out_writes_(wLast - wFirst + 1) LPABC lpABC); 3470 3471 BOOL 3472 WINAPI 3473 GetCharABCWidthsFloatA( 3474 _In_ HDC hdc, 3475 _In_ UINT iFirst, 3476 _In_ UINT iLast, 3477 _Out_writes_(iLast + 1 - iFirst) LPABCFLOAT lpABC); 3478 3479 BOOL 3480 WINAPI 3481 GetCharABCWidthsFloatW( 3482 _In_ HDC hdc, 3483 _In_ UINT iFirst, 3484 _In_ UINT iLast, 3485 _Out_writes_(iLast + 1 - iFirst) LPABCFLOAT lpABC); 3486 3487 BOOL 3488 WINAPI 3489 GetCharABCWidthsI( 3490 _In_ HDC hdc, 3491 _In_ UINT giFirst, 3492 _In_ UINT cgi, 3493 _In_reads_opt_(cgi) LPWORD pgi, 3494 _Out_writes_(cgi) LPABC pabc); 3495 3496 DWORD 3497 WINAPI 3498 GetCharacterPlacementA( 3499 _In_ HDC hdc, 3500 _In_reads_(nCount) LPCSTR lpString, 3501 _In_ int nCount, 3502 _In_ int nMexExtent, 3503 _Inout_ LPGCP_RESULTSA lpResults, 3504 _In_ DWORD dwFlags); 3505 3506 DWORD 3507 WINAPI 3508 GetCharacterPlacementW( 3509 _In_ HDC hdc, 3510 _In_reads_(nCount) LPCWSTR lpString, 3511 _In_ int nCount, 3512 _In_ int nMexExtent, 3513 _Inout_ LPGCP_RESULTSW lpResults, 3514 _In_ DWORD dwFlags); 3515 3516 BOOL 3517 WINAPI 3518 GetCharWidth32A( 3519 _In_ HDC hdc, 3520 _In_ UINT iFirst, 3521 _In_ UINT iLast, 3522 _Out_writes_(iLast + 1 - iFirst) LPINT lpBuffer); 3523 3524 BOOL 3525 WINAPI 3526 GetCharWidth32W( 3527 _In_ HDC hdc, 3528 _In_ UINT iFirst, 3529 _In_ UINT iLast, 3530 _Out_writes_(iLast + 1 - iFirst) LPINT lpBuffer); 3531 3532 BOOL 3533 WINAPI 3534 GetCharWidthA( 3535 _In_ HDC hdc, 3536 _In_ UINT iFirst, 3537 _In_ UINT iLast, 3538 _Out_writes_(iLast + 1 - iFirst) LPINT lpBuffer); 3539 3540 BOOL 3541 WINAPI 3542 GetCharWidthW( 3543 _In_ HDC hdc, 3544 _In_ UINT iFirst, 3545 _In_ UINT iLast, 3546 _Out_writes_(iLast + 1 - iFirst) LPINT lpBuffer); 3547 3548 BOOL 3549 WINAPI 3550 GetCharWidthI( 3551 _In_ HDC hdc, 3552 _In_ UINT giFirst, 3553 _In_ UINT cgi, 3554 _In_reads_opt_(cgi) LPWORD pgi, 3555 _Out_writes_(cgi) LPINT piWidths); 3556 3557 BOOL 3558 WINAPI 3559 GetCharWidthFloatA( 3560 _In_ HDC hdc, 3561 _In_ UINT iFirst, 3562 _In_ UINT iLast, 3563 _Out_writes_(iLast + 1 - iFirst) PFLOAT lpBuffer); 3564 3565 BOOL 3566 WINAPI 3567 GetCharWidthFloatW( 3568 _In_ HDC hdc, 3569 _In_ UINT iFirst, 3570 _In_ UINT iLast, 3571 _Out_writes_(iLast + 1 - iFirst) PFLOAT lpBuffer); 3572 3573 int WINAPI GetClipBox(_In_ HDC, _Out_ LPRECT); 3574 int WINAPI GetClipRgn(_In_ HDC, _In_ HRGN); 3575 BOOL WINAPI GetColorAdjustment(_In_ HDC, _Out_ LPCOLORADJUSTMENT); 3576 HCOLORSPACE WINAPI GetColorSpace(_In_ HDC); 3577 HGDIOBJ WINAPI GetCurrentObject(_In_ HDC, _In_ UINT); 3578 BOOL WINAPI GetCurrentPositionEx(_In_ HDC, _Out_ LPPOINT); 3579 HCURSOR WINAPI GetCursor(void); 3580 BOOL WINAPI GetDCOrgEx(_In_ HDC, _Out_ LPPOINT); 3581 #if (_WIN32_WINNT >= 0x0500) 3582 COLORREF WINAPI GetDCBrushColor(_In_ HDC); 3583 COLORREF WINAPI GetDCPenColor(_In_ HDC); 3584 #endif 3585 int WINAPI GetDeviceCaps(_In_opt_ HDC, _In_ int); 3586 3587 BOOL 3588 WINAPI 3589 GetDeviceGammaRamp( 3590 _In_ HDC hdc, 3591 _Out_writes_bytes_(3*256*2) LPVOID lpRamp); 3592 3593 _Ret_range_(0,cEntries) 3594 UINT 3595 WINAPI 3596 GetDIBColorTable( 3597 _In_ HDC hdc, 3598 _In_ UINT iStart, 3599 _In_ UINT cEntries, 3600 _Out_writes_to_(cEntries,return) RGBQUAD *prgbq); 3601 3602 int 3603 WINAPI 3604 GetDIBits( 3605 _In_ HDC hdc, 3606 _In_ HBITMAP hbm, 3607 _In_ UINT start, 3608 _In_ UINT cLines, 3609 _Out_opt_ LPVOID lpvBits, 3610 _At_((LPBITMAPINFOHEADER)lpbmi, _Inout_) LPBITMAPINFO lpbmi, 3611 _In_ UINT usage); 3612 3613 HENHMETAFILE WINAPI GetEnhMetaFileA(_In_ LPCSTR); 3614 HENHMETAFILE WINAPI GetEnhMetaFileW(_In_ LPCWSTR); 3615 3616 UINT 3617 WINAPI 3618 GetEnhMetaFileBits( 3619 _In_ HENHMETAFILE hEMF, 3620 _In_ UINT nSize, 3621 _Out_writes_bytes_opt_(nSize) LPBYTE lpData); 3622 3623 UINT 3624 WINAPI 3625 GetEnhMetaFileDescriptionA( 3626 _In_ HENHMETAFILE hemf, 3627 _In_ UINT cchBuffer, 3628 _Out_writes_opt_(cchBuffer) LPSTR lpDescription); 3629 3630 UINT 3631 WINAPI 3632 GetEnhMetaFileDescriptionW( 3633 _In_ HENHMETAFILE hemf, 3634 _In_ UINT cchBuffer, 3635 _Out_writes_opt_(cchBuffer) LPWSTR lpDescription); 3636 3637 UINT 3638 WINAPI 3639 GetEnhMetaFileHeader( 3640 _In_ HENHMETAFILE hemf, 3641 _In_ UINT nSize, 3642 _Out_writes_bytes_opt_(nSize) LPENHMETAHEADER lpEnhMetaHeader); 3643 3644 UINT 3645 WINAPI 3646 GetEnhMetaFilePaletteEntries( 3647 _In_ HENHMETAFILE hemf, 3648 _In_ UINT nNumEntries, 3649 _Out_writes_opt_(nNumEntries) LPPALETTEENTRY lpPaletteEntries); 3650 3651 UINT 3652 WINAPI 3653 GetEnhMetaFilePixelFormat( 3654 _In_ HENHMETAFILE hemf, 3655 _In_ UINT cbBuffer, 3656 _Out_writes_bytes_opt_(cbBuffer) PIXELFORMATDESCRIPTOR *ppfd); 3657 3658 _Success_(return != GDI_ERROR) 3659 DWORD 3660 WINAPI 3661 GetFontData( 3662 _In_ HDC hdc, 3663 _In_ DWORD dwTable, 3664 _In_ DWORD dwOffset, 3665 _Out_writes_bytes_to_opt_(cjBuffer, return) PVOID pvBuffer, 3666 _In_ DWORD cjBuffer); 3667 3668 DWORD WINAPI GetFontLanguageInfo(_In_ HDC); 3669 #if (_WIN32_WINNT >= 0x0500) 3670 DWORD WINAPI GetFontUnicodeRanges(_In_ HDC, _Out_opt_ LPGLYPHSET); 3671 #endif 3672 3673 DWORD 3674 WINAPI 3675 GetGlyphIndicesA( 3676 _In_ HDC hdc, 3677 _In_reads_(c) LPCSTR lpstr, 3678 _In_ int c, 3679 _Out_writes_(c) LPWORD pgi, 3680 _In_ DWORD fl); 3681 3682 DWORD 3683 WINAPI 3684 GetGlyphIndicesW( 3685 _In_ HDC hdc, 3686 _In_reads_(c) LPCWSTR lpstr, 3687 _In_ int c, 3688 _Out_writes_(c) LPWORD pgi, 3689 _In_ DWORD fl); 3690 3691 DWORD 3692 WINAPI 3693 GetGlyphOutlineA( 3694 _In_ HDC hdc, 3695 _In_ UINT uChar, 3696 _In_ UINT fuFormat, 3697 _Out_ LPGLYPHMETRICS lpgm, 3698 _In_ DWORD cjBuffer, 3699 _Out_writes_bytes_opt_(cjBuffer) LPVOID pvBuffer, 3700 _In_ CONST MAT2 *lpmat2); 3701 3702 DWORD 3703 WINAPI 3704 GetGlyphOutlineW( 3705 _In_ HDC hdc, 3706 _In_ UINT uChar, 3707 _In_ UINT fuFormat, 3708 _Out_ LPGLYPHMETRICS lpgm, 3709 _In_ DWORD cjBuffer, 3710 _Out_writes_bytes_opt_(cjBuffer) LPVOID pvBuffer, 3711 _In_ CONST MAT2 *lpmat2); 3712 3713 int WINAPI GetGraphicsMode(_In_ HDC); 3714 3715 BOOL 3716 WINAPI 3717 GetICMProfileA( 3718 _In_ HDC hdc, 3719 _Inout_ LPDWORD pBufSize, 3720 _Out_writes_opt_(*pBufSize) LPSTR pszFilename); 3721 3722 BOOL 3723 WINAPI 3724 GetICMProfileW( 3725 _In_ HDC hdc, 3726 _Inout_ LPDWORD pBufSize, 3727 _Out_writes_opt_(*pBufSize) LPWSTR pszFilename); 3728 3729 DWORD 3730 WINAPI 3731 GetKerningPairsA( 3732 _In_ HDC hdc, 3733 _In_ DWORD nPairs, 3734 _Out_writes_to_opt_(nPairs, return) LPKERNINGPAIR lpKernPair); 3735 3736 DWORD 3737 WINAPI 3738 GetKerningPairsW( 3739 _In_ HDC hdc, 3740 _In_ DWORD nPairs, 3741 _Out_writes_to_opt_(nPairs, return) LPKERNINGPAIR lpKernPair); 3742 3743 BOOL 3744 WINAPI 3745 GetLogColorSpaceA( 3746 _In_ HCOLORSPACE hColorSpace, 3747 _Out_writes_bytes_(nSize) LPLOGCOLORSPACEA lpBuffer, 3748 _In_ DWORD nSize); 3749 3750 BOOL 3751 WINAPI 3752 GetLogColorSpaceW( 3753 _In_ HCOLORSPACE hColorSpace, 3754 _Out_writes_bytes_(nSize) LPLOGCOLORSPACEW lpBuffer, 3755 _In_ DWORD nSize); 3756 3757 int WINAPI GetMapMode(_In_ HDC); 3758 HMETAFILE WINAPI GetMetaFileA(_In_ LPCSTR); 3759 HMETAFILE WINAPI GetMetaFileW(_In_ LPCWSTR); 3760 3761 UINT 3762 WINAPI 3763 GetMetaFileBitsEx( 3764 _In_ HMETAFILE hMF, 3765 _In_ UINT cbBuffer, 3766 _Out_writes_bytes_opt_(cbBuffer) LPVOID lpData); 3767 3768 int WINAPI GetMetaRgn(_In_ HDC, _In_ HRGN); 3769 BOOL WINAPI GetMiterLimit(_In_ HDC, _Out_ PFLOAT); 3770 COLORREF WINAPI GetNearestColor(_In_ HDC, _In_ COLORREF); 3771 UINT WINAPI GetNearestPaletteIndex(_In_ HPALETTE, _In_ COLORREF); 3772 3773 int 3774 WINAPI 3775 GetObjectA( 3776 _In_ HANDLE h, 3777 _In_ int c, 3778 _Out_writes_bytes_opt_(c) LPVOID pv); 3779 3780 int 3781 WINAPI 3782 GetObjectW( 3783 _In_ HANDLE h, 3784 _In_ int c, 3785 _Out_writes_bytes_opt_(c) LPVOID pv); 3786 3787 DWORD WINAPI GetObjectType(_In_ HGDIOBJ); 3788 3789 UINT 3790 WINAPI 3791 GetOutlineTextMetricsA( 3792 _In_ HDC hdc, 3793 _In_ UINT cjCopy, 3794 _Out_writes_bytes_opt_(cjCopy) LPOUTLINETEXTMETRICA potm); 3795 3796 UINT 3797 WINAPI 3798 GetOutlineTextMetricsW( 3799 _In_ HDC hdc, 3800 _In_ UINT cjCopy, 3801 _Out_writes_bytes_opt_(cjCopy) LPOUTLINETEXTMETRICW potm); 3802 3803 _Ret_range_(0,cEntries) 3804 UINT 3805 WINAPI 3806 GetPaletteEntries( 3807 _In_ HPALETTE hpal, 3808 _In_ UINT iStart, 3809 _In_ UINT cEntries, 3810 _Out_writes_to_opt_(cEntries,return) LPPALETTEENTRY pPalEntries); 3811 3812 int 3813 WINAPI 3814 GetPath( 3815 _In_ HDC hdc, 3816 _Out_writes_opt_(cpt) LPPOINT apt, 3817 _Out_writes_opt_(cpt) LPBYTE aj, 3818 int cpt); 3819 3820 COLORREF WINAPI GetPixel(_In_ HDC, _In_ int, _In_ int); 3821 int WINAPI GetPixelFormat(_In_ HDC); 3822 int WINAPI GetPolyFillMode(_In_ HDC); 3823 3824 BOOL 3825 WINAPI 3826 GetRasterizerCaps( 3827 _Out_writes_bytes_(cjBytes) LPRASTERIZER_STATUS lpraststat, 3828 _In_ UINT cjBytes); 3829 3830 int WINAPI GetRandomRgn(_In_ HDC, _In_ HRGN, _In_ INT); 3831 3832 DWORD 3833 WINAPI 3834 GetRegionData( 3835 _In_ HRGN hrgn, 3836 _In_ DWORD nCount, 3837 _Out_writes_bytes_to_opt_(nCount, return) LPRGNDATA lpRgnData); 3838 3839 int WINAPI GetRgnBox(_In_ HRGN, _Out_ LPRECT); 3840 int WINAPI GetROP2(_In_ HDC); 3841 HGDIOBJ WINAPI GetStockObject(_In_ int); 3842 int WINAPI GetStretchBltMode(_In_ HDC); 3843 3844 UINT 3845 WINAPI 3846 GetSystemPaletteEntries( 3847 _In_ HDC hdc, 3848 _In_ UINT iStart, 3849 _In_ UINT cEntries, 3850 _Out_writes_opt_(cEntries) LPPALETTEENTRY pPalEntries); 3851 3852 UINT WINAPI GetSystemPaletteUse(_In_ HDC); 3853 UINT WINAPI GetTextAlign(_In_ HDC); 3854 int WINAPI GetTextCharacterExtra(_In_ HDC); 3855 int WINAPI GetTextCharset(_In_ HDC); 3856 int WINAPI GetTextCharsetInfo(_In_ HDC, _Out_opt_ LPFONTSIGNATURE, _In_ DWORD); 3857 COLORREF WINAPI GetTextColor(_In_ HDC); 3858 3859 BOOL 3860 WINAPI 3861 GetTextExtentExPointA( 3862 _In_ HDC hdc, 3863 _In_reads_(cchString) LPCSTR lpszString, 3864 _In_ int cchString, 3865 _In_ int nMaxExtent, 3866 _Out_opt_ LPINT lpnFit, 3867 _Out_writes_to_opt_ (cchString, *lpnFit) LPINT lpnDx, 3868 _Out_ LPSIZE lpSize); 3869 3870 BOOL 3871 WINAPI 3872 GetTextExtentExPointW( 3873 _In_ HDC hdc, 3874 _In_reads_(cchString) LPCWSTR lpszString, 3875 _In_ int cchString, 3876 _In_ int nMaxExtent, 3877 _Out_opt_ LPINT lpnFit, 3878 _Out_writes_to_opt_ (cchString, *lpnFit) LPINT lpnDx, 3879 _Out_ LPSIZE lpSize); 3880 3881 BOOL 3882 WINAPI 3883 GetTextExtentExPointI( 3884 _In_ HDC hdc, 3885 _In_reads_(cwchString) LPWORD lpwszString, 3886 _In_ int cwchString, 3887 _In_ int nMaxExtent, 3888 _Out_opt_ LPINT lpnFit, 3889 _Out_writes_to_opt_(cwchString, *lpnFit) LPINT lpnDx, 3890 _Out_ LPSIZE lpSize); 3891 3892 BOOL 3893 WINAPI 3894 GetTextExtentPointA( 3895 _In_ HDC hdc, 3896 _In_reads_(c) LPCSTR lpString, 3897 _In_ int c, 3898 _Out_ LPSIZE lpsz); 3899 3900 BOOL 3901 WINAPI 3902 GetTextExtentPointW( 3903 _In_ HDC hdc, 3904 _In_reads_(c) LPCWSTR lpString, 3905 _In_ int c, 3906 _Out_ LPSIZE lpsz); 3907 3908 BOOL 3909 WINAPI 3910 GetTextExtentPointI( 3911 _In_ HDC hdc, 3912 _In_reads_(cgi) LPWORD pgiIn, 3913 _In_ int cgi, 3914 _Out_ LPSIZE psize); 3915 3916 BOOL 3917 WINAPI 3918 GetTextExtentPoint32A( 3919 _In_ HDC hdc, 3920 _In_reads_(c) LPCSTR lpString, 3921 _In_ int c, 3922 _Out_ LPSIZE psizl); 3923 3924 BOOL 3925 WINAPI 3926 GetTextExtentPoint32W( 3927 _In_ HDC hdc, 3928 _In_reads_(c) LPCWSTR lpString, 3929 _In_ int c, 3930 _Out_ LPSIZE psizl); 3931 3932 int 3933 WINAPI 3934 GetTextFaceA( 3935 _In_ HDC hdc, 3936 _In_ int c, 3937 _Out_writes_to_opt_(c, return) LPSTR lpName); 3938 3939 int 3940 WINAPI 3941 GetTextFaceW( 3942 _In_ HDC hdc, 3943 _In_ int c, 3944 _Out_writes_to_opt_(c, return) LPWSTR lpName); 3945 3946 BOOL WINAPI GetTextMetricsA(_In_ HDC, _Out_ LPTEXTMETRICA); 3947 BOOL WINAPI GetTextMetricsW(_In_ HDC, _Out_ LPTEXTMETRICW); 3948 BOOL WINAPI GetTransform(HDC,DWORD,XFORM*); 3949 BOOL WINAPI GetViewportExtEx(_In_ HDC, _Out_ LPSIZE); 3950 BOOL WINAPI GetViewportOrgEx(_In_ HDC, _Out_ LPPOINT); 3951 BOOL WINAPI GetWindowExtEx(_In_ HDC, _Out_ LPSIZE); 3952 BOOL WINAPI GetWindowOrgEx(_In_ HDC, _Out_ LPPOINT); 3953 3954 UINT 3955 WINAPI 3956 GetWinMetaFileBits( 3957 _In_ HENHMETAFILE hemf, 3958 _In_ UINT cbData16, 3959 _Out_writes_bytes_opt_(cbData16) LPBYTE pData16, 3960 _In_ INT iMapMode, 3961 _In_ HDC hdcRef); 3962 3963 BOOL WINAPI GetWorldTransform(_In_ HDC, _Out_ LPXFORM); 3964 int WINAPI IntersectClipRect(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int); 3965 BOOL WINAPI InvertRgn(_In_ HDC, _In_ HRGN); 3966 BOOL WINAPI LineDDA(_In_ int, _In_ int, _In_ int, _In_ int, _In_ LINEDDAPROC, _In_opt_ LPARAM); 3967 BOOL WINAPI LineTo(_In_ HDC, _In_ int, _In_ int); 3968 3969 BOOL 3970 WINAPI 3971 LPtoDP( 3972 _In_ HDC hdc, 3973 _Inout_updates_(c) LPPOINT lppt, 3974 _In_ int c); 3975 3976 BOOL WINAPI MaskBlt(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ HDC, _In_ int, _In_ int, _In_ HBITMAP, _In_ int, _In_ int, _In_ DWORD); 3977 BOOL WINAPI ModifyWorldTransform(_In_ HDC, _In_opt_ const XFORM*, _In_ DWORD); 3978 BOOL WINAPI MoveToEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT); 3979 int WINAPI OffsetClipRgn(_In_ HDC, _In_ int, _In_ int); 3980 int WINAPI OffsetRgn(_In_ HRGN, _In_ int, _In_ int); 3981 BOOL WINAPI OffsetViewportOrgEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT); 3982 BOOL WINAPI OffsetWindowOrgEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT); 3983 BOOL WINAPI PaintRgn(_In_ HDC, _In_ HRGN); 3984 BOOL WINAPI PatBlt(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ DWORD); 3985 HRGN WINAPI PathToRegion(_In_ HDC); 3986 BOOL WINAPI Pie(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int); 3987 BOOL WINAPI PlayEnhMetaFile(_In_ HDC, _In_ HENHMETAFILE, _In_ LPCRECT); 3988 3989 BOOL 3990 WINAPI 3991 PlayEnhMetaFileRecord( 3992 _In_ HDC hdc, 3993 _In_reads_(cht) LPHANDLETABLE pht, 3994 _In_ CONST ENHMETARECORD *pmr, 3995 _In_ UINT cht); 3996 3997 BOOL WINAPI PlayMetaFile(_In_ HDC, _In_ HMETAFILE); 3998 3999 BOOL 4000 WINAPI 4001 PlayMetaFileRecord( 4002 _In_ HDC hdc, 4003 _In_reads_(noObjs) LPHANDLETABLE lpHandleTable, 4004 _In_ LPMETARECORD lpMR, 4005 _In_ UINT noObjs); 4006 4007 BOOL 4008 WINAPI 4009 PlgBlt( 4010 _In_ HDC hdcDest, 4011 _In_reads_(3) const POINT *lpPoint, 4012 _In_ HDC hdcSrc, 4013 _In_ int xSrc, 4014 _In_ int ySrc, 4015 _In_ int width, 4016 _In_ int height, 4017 _In_opt_ HBITMAP hbmMask, 4018 _In_ int xMask, 4019 _In_ int yMask); 4020 4021 BOOL 4022 WINAPI 4023 PolyBezier( 4024 _In_ HDC hdc, 4025 _In_reads_(cpt) const POINT *apt, 4026 _In_ DWORD cpt); 4027 4028 BOOL 4029 WINAPI 4030 PolyBezierTo( 4031 _In_ HDC hdc, 4032 _In_reads_(cpt) const POINT *apt, 4033 _In_ DWORD cpt); 4034 4035 BOOL 4036 WINAPI 4037 PolyDraw( 4038 _In_ HDC hdc, 4039 _In_reads_(cpt) const POINT * apt, 4040 _In_reads_(cpt) const BYTE * aj, 4041 _In_ int cpt); 4042 4043 BOOL 4044 WINAPI 4045 Polygon( 4046 _In_ HDC hdc, 4047 _In_reads_(cpt) const POINT *apt, 4048 _In_ int cpt); 4049 4050 BOOL 4051 WINAPI 4052 Polyline( 4053 _In_ HDC hdc, 4054 _In_reads_(cpt) const POINT *apt, 4055 _In_ int cpt); 4056 4057 BOOL 4058 WINAPI 4059 PolylineTo( 4060 _In_ HDC hdc, 4061 _In_reads_(cpt) const POINT *apt, 4062 _In_ DWORD cpt); 4063 4064 BOOL 4065 WINAPI 4066 PolyPolygon( 4067 _In_ HDC hdc, 4068 _In_ const POINT *apt, 4069 _In_reads_(csz) const INT *asz, 4070 _In_ int csz); 4071 4072 BOOL 4073 WINAPI 4074 PolyPolyline( 4075 _In_ HDC hdc, 4076 _In_ const POINT *apt, 4077 _In_reads_(csz) const DWORD *asz, 4078 _In_ DWORD csz); 4079 4080 BOOL 4081 WINAPI 4082 PolyTextOutA( 4083 _In_ HDC hdc, 4084 _In_reads_(nstrings) const POLYTEXTA *ppt, 4085 _In_ int nstrings); 4086 4087 BOOL 4088 WINAPI 4089 PolyTextOutW( 4090 _In_ HDC hdc, 4091 _In_reads_(nstrings) const POLYTEXTW *ppt, 4092 _In_ int nstrings); 4093 4094 BOOL WINAPI PtInRegion(_In_ HRGN, _In_ int, _In_ int); 4095 BOOL WINAPI PtVisible(_In_ HDC, _In_ int, _In_ int); 4096 UINT WINAPI RealizePalette(_In_ HDC); 4097 BOOL WINAPI Rectangle(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int); 4098 BOOL WINAPI RectInRegion(_In_ HRGN, _In_ LPCRECT); 4099 BOOL WINAPI RectVisible(_In_ HDC, _In_ LPCRECT); 4100 BOOL WINAPI RemoveFontResourceA(_In_ LPCSTR); 4101 BOOL WINAPI RemoveFontResourceW(_In_ LPCWSTR); 4102 #if (_WIN32_WINNT >= 0x0500) 4103 BOOL WINAPI RemoveFontMemResourceEx(_In_ HANDLE); 4104 BOOL WINAPI RemoveFontResourceExA(_In_ LPCSTR, _In_ DWORD, _Reserved_ PVOID); 4105 BOOL WINAPI RemoveFontResourceExW(_In_ LPCWSTR, _In_ DWORD, _Reserved_ PVOID); 4106 #endif 4107 HDC WINAPI ResetDCA(_In_ HDC, _In_ const DEVMODEA*); 4108 HDC WINAPI ResetDCW(_In_ HDC, _In_ const DEVMODEW*); 4109 BOOL WINAPI ResizePalette(_In_ HPALETTE, _In_ UINT); 4110 BOOL WINAPI RestoreDC(_In_ HDC, _In_ int); 4111 BOOL WINAPI RoundRect(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int); 4112 int WINAPI SaveDC(_In_ HDC); 4113 BOOL WINAPI ScaleViewportExtEx(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _Out_opt_ LPSIZE); 4114 BOOL WINAPI ScaleWindowExtEx(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _Out_opt_ LPSIZE); 4115 BOOL WINAPI SelectClipPath(_In_ HDC, _In_ int); 4116 int WINAPI SelectClipRgn(_In_ HDC, _In_opt_ HRGN); 4117 HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ); 4118 HPALETTE WINAPI SelectPalette(_In_ HDC, _In_ HPALETTE, _In_ BOOL); 4119 int WINAPI SetAbortProc(_In_ HDC, _In_ ABORTPROC); 4120 int WINAPI SetArcDirection(_In_ HDC, _In_ int); 4121 4122 LONG 4123 WINAPI 4124 SetBitmapBits( 4125 _In_ HBITMAP hbm, 4126 _In_ DWORD cb, 4127 _In_reads_bytes_(cb) CONST VOID *pvBits); 4128 4129 BOOL WINAPI SetBitmapDimensionEx(_In_ HBITMAP, _In_ int, _In_ int, _Out_opt_ LPSIZE); 4130 COLORREF WINAPI SetBkColor(_In_ HDC, _In_ COLORREF); 4131 int WINAPI SetBkMode(_In_ HDC, _In_ int); 4132 UINT WINAPI SetBoundsRect(_In_ HDC, _In_opt_ LPCRECT, _In_ UINT); 4133 BOOL WINAPI SetBrushOrgEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT); 4134 BOOL WINAPI SetColorAdjustment(_In_ HDC, _In_ const COLORADJUSTMENT*); 4135 HCOLORSPACE WINAPI SetColorSpace(_In_ HDC, _In_ HCOLORSPACE); 4136 #if (_WIN32_WINNT >= 0x0500) 4137 COLORREF WINAPI SetDCBrushColor(_In_ HDC, _In_ COLORREF); 4138 COLORREF WINAPI SetDCPenColor(_In_ HDC, _In_ COLORREF); 4139 #endif 4140 4141 BOOL 4142 WINAPI 4143 SetDeviceGammaRamp( 4144 _In_ HDC hdc, 4145 _In_reads_bytes_(3*256*2) LPVOID lpRamp); 4146 4147 UINT 4148 WINAPI 4149 SetDIBColorTable( 4150 _In_ HDC hdc, 4151 _In_ UINT iStart, 4152 _In_ UINT cEntries, 4153 _In_reads_(cEntries) const RGBQUAD *prgbq); 4154 4155 int WINAPI SetDIBits(_In_opt_ HDC, _In_ HBITMAP, _In_ UINT, _In_ UINT, _In_ CONST VOID*, _In_ CONST BITMAPINFO*, _In_ UINT); 4156 int WINAPI SetDIBitsToDevice(_In_ HDC, _In_ int, _In_ int, _In_ DWORD, _In_ DWORD, _In_ int, _In_ int, _In_ UINT, _In_ UINT, _In_ CONST VOID*, _In_ CONST BITMAPINFO*, _In_ UINT); 4157 4158 HENHMETAFILE 4159 WINAPI 4160 SetEnhMetaFileBits( 4161 _In_ UINT nSize, 4162 _In_reads_bytes_(nSize) const BYTE * pb); 4163 4164 int WINAPI SetGraphicsMode(_In_ HDC, _In_ int); 4165 int WINAPI SetICMMode(_In_ HDC, _In_ int); 4166 BOOL WINAPI SetICMProfileA(_In_ HDC, _In_ LPSTR); 4167 BOOL WINAPI SetICMProfileW(_In_ HDC, _In_ LPWSTR); 4168 int WINAPI SetMapMode(_In_ HDC, _In_ int); 4169 DWORD WINAPI SetMapperFlags(_In_ HDC, _In_ DWORD); 4170 #if (_WIN32_WINNT >= 0x0500) 4171 DWORD WINAPI SetLayout(_In_ HDC, _In_ DWORD); 4172 DWORD WINAPI GetLayout(_In_ HDC); 4173 #endif 4174 4175 HMETAFILE 4176 WINAPI 4177 SetMetaFileBitsEx( 4178 _In_ UINT cbBuffer, 4179 _In_reads_bytes_(cbBuffer) CONST BYTE *lpData); 4180 4181 int WINAPI SetMetaRgn(_In_ HDC); 4182 BOOL WINAPI SetMiterLimit(_In_ HDC, _In_ FLOAT, _Out_opt_ PFLOAT); 4183 4184 UINT 4185 WINAPI 4186 SetPaletteEntries( 4187 _In_ HPALETTE hpal, 4188 _In_ UINT iStart, 4189 _In_ UINT cEntries, 4190 _In_reads_(cEntries) CONST PALETTEENTRY *pPalEntries); 4191 4192 COLORREF WINAPI SetPixel(_In_ HDC, _In_ int, _In_ int, _In_ COLORREF); 4193 BOOL WINAPI SetPixelFormat(_In_ HDC, _In_ int, _In_ const PIXELFORMATDESCRIPTOR*); 4194 BOOL WINAPI SetPixelV(_In_ HDC, _In_ int, _In_ int, _In_ COLORREF); 4195 int WINAPI SetPolyFillMode(_In_ HDC, _In_ int); 4196 BOOL WINAPI SetRectRgn(_In_ HRGN, _In_ int, _In_ int, _In_ int, _In_ int); 4197 INT WINAPI SetRelAbs(HDC,INT); 4198 int WINAPI SetROP2(_In_ HDC, _In_ int); 4199 int WINAPI SetStretchBltMode(_In_ HDC, _In_ int); 4200 UINT WINAPI SetSystemPaletteUse(_In_ HDC, _In_ UINT); 4201 UINT WINAPI SetTextAlign(_In_ HDC, _In_ UINT); 4202 int WINAPI SetTextCharacterExtra(_In_ HDC, _In_ int); 4203 COLORREF WINAPI SetTextColor(_In_ HDC, _In_ COLORREF); 4204 BOOL WINAPI SetTextJustification(_In_ HDC, _In_ int, _In_ int); 4205 BOOL WINAPI SetViewportExtEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPSIZE); 4206 BOOL WINAPI SetViewportOrgEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT); 4207 BOOL WINAPI SetWindowExtEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPSIZE); 4208 BOOL WINAPI SetWindowOrgEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT); 4209 4210 HENHMETAFILE 4211 WINAPI 4212 SetWinMetaFileBits( 4213 _In_ UINT nSize, 4214 _In_reads_bytes_(nSize) const BYTE *lpMeta16Data, 4215 _In_opt_ HDC hdcRef, 4216 _In_opt_ const METAFILEPICT *lpMFP); 4217 4218 BOOL WINAPI SetWorldTransform(_In_ HDC, _In_ const XFORM *); 4219 int WINAPI StartDocA(_In_ HDC, _In_ const DOCINFOA*); 4220 int WINAPI StartDocW(_In_ HDC, _In_ const DOCINFOW*); 4221 int WINAPI StartPage(_In_ HDC); 4222 BOOL WINAPI StretchBlt(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_opt_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ DWORD); 4223 int WINAPI StretchDIBits(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_opt_ const VOID *, _In_ const BITMAPINFO *, _In_ UINT, _In_ DWORD); 4224 BOOL WINAPI StrokeAndFillPath(_In_ HDC); 4225 BOOL WINAPI StrokePath(_In_ HDC); 4226 BOOL WINAPI SwapBuffers(HDC); 4227 4228 BOOL 4229 WINAPI 4230 TextOutA( 4231 _In_ HDC hdc, 4232 _In_ int x, 4233 _In_ int y, 4234 _In_reads_(c) LPCSTR lpString, 4235 _In_ int c); 4236 4237 BOOL 4238 WINAPI 4239 TextOutW( 4240 _In_ HDC hdc, 4241 _In_ int x, 4242 _In_ int y, 4243 _In_reads_(c) LPCWSTR lpString, 4244 _In_ int c); 4245 4246 BOOL WINAPI TranslateCharsetInfo(_Inout_ PDWORD, _Out_ LPCHARSETINFO, _In_ DWORD); 4247 BOOL WINAPI UnrealizeObject(_In_ HGDIOBJ); 4248 BOOL WINAPI UpdateColors(_In_ HDC); 4249 BOOL WINAPI UpdateICMRegKeyA(_Reserved_ DWORD, _In_ LPSTR, _In_ LPSTR, _In_ UINT); 4250 BOOL WINAPI UpdateICMRegKeyW(_Reserved_ DWORD, _In_ LPWSTR, _In_ LPWSTR, _In_ UINT); 4251 BOOL WINAPI WidenPath(_In_ HDC); 4252 BOOL WINAPI wglCopyContext(HGLRC,HGLRC,UINT); 4253 HGLRC WINAPI wglCreateContext(HDC); 4254 HGLRC WINAPI wglCreateLayerContext(HDC,int); 4255 BOOL WINAPI wglDeleteContext(HGLRC); 4256 BOOL WINAPI wglDescribeLayerPlane(HDC,int,int,UINT,LPLAYERPLANEDESCRIPTOR); 4257 HGLRC WINAPI wglGetCurrentContext(void); 4258 HDC WINAPI wglGetCurrentDC(void); 4259 int WINAPI wglGetLayerPaletteEntries(HDC,int,int,int,COLORREF*); 4260 PROC WINAPI wglGetProcAddress(LPCSTR); 4261 BOOL WINAPI wglMakeCurrent(HDC,HGLRC); 4262 BOOL WINAPI wglRealizeLayerPalette(HDC,int,BOOL); 4263 int WINAPI wglSetLayerPaletteEntries(HDC,int,int,int,const COLORREF*); 4264 BOOL WINAPI wglShareLists(HGLRC,HGLRC); 4265 BOOL WINAPI wglSwapLayerBuffers(HDC,UINT); 4266 BOOL WINAPI wglUseFontBitmapsA(HDC,DWORD,DWORD,DWORD); 4267 BOOL WINAPI wglUseFontBitmapsW(HDC,DWORD,DWORD,DWORD); 4268 BOOL WINAPI wglUseFontOutlinesA(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT); 4269 BOOL WINAPI wglUseFontOutlinesW(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT); 4270 4271 #if (WINVER >= 0x0500) 4272 4273 typedef struct _WGLSWAP 4274 { 4275 HDC hdc; 4276 UINT uiFlags; 4277 } WGLSWAP, *PWGLSWAP, FAR *LPWGLSWAP; 4278 4279 #define WGL_SWAPMULTIPLE_MAX 16 4280 4281 DWORD WINAPI wglSwapMultipleBuffers(UINT, CONST WGLSWAP *); 4282 4283 #endif // (WINVER >= 0x0500) 4284 4285 #if (WINVER>= 0x0500) 4286 4287 BOOL WINAPI AlphaBlend(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ BLENDFUNCTION); 4288 4289 BOOL 4290 WINAPI 4291 GradientFill( 4292 _In_ HDC hdc, 4293 _In_reads_(nVertex) PTRIVERTEX pVertex, 4294 _In_ ULONG nVertex, 4295 _In_ PVOID pMesh, 4296 _In_ ULONG nMesh, 4297 _In_ ULONG ulMode); 4298 4299 BOOL WINAPI TransparentBlt(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT); 4300 4301 #endif 4302 4303 #ifdef UNICODE 4304 typedef AXESLISTW AXESLIST; 4305 typedef PAXESLISTW PAXESLIST; 4306 typedef LPAXESLISTW LPAXESLIST; 4307 typedef AXISINFOA AXISINFO; 4308 typedef PAXISINFOA PAXISINFO; 4309 typedef LPAXISINFOA LPAXISINFO; 4310 typedef WCHAR BCHAR; 4311 typedef DOCINFOW DOCINFO, *LPDOCINFO; 4312 typedef LOGFONTW LOGFONT,*PLOGFONT,*LPLOGFONT; 4313 typedef TEXTMETRICW TEXTMETRIC,*PTEXTMETRIC,*LPTEXTMETRIC; 4314 #define ICMENUMPROC ICMENUMPROCW 4315 typedef DEVMODEW DEVMODE,*PDEVMODE,*LPDEVMODE; 4316 typedef ENUMLOGFONTEXDVW ENUMLOGFONTEXDV; 4317 typedef PENUMLOGFONTEXDVW PENUMLOGFONTEXDV; 4318 typedef LPENUMLOGFONTEXDVW LPENUMLOGFONTEXDV; 4319 typedef ENUMTEXTMETRICW ENUMTEXTMETRIC; 4320 typedef PENUMTEXTMETRICW PENUMTEXTMETRIC; 4321 typedef LPENUMTEXTMETRICW LPENUMTEXTMETRIC; 4322 typedef EXTLOGFONTW EXTLOGFONT,*PEXTLOGFONT,*LPEXTLOGFONT; 4323 typedef GCP_RESULTSW GCP_RESULTS,*LPGCP_RESULTS; 4324 typedef OUTLINETEXTMETRICW OUTLINETEXTMETRIC,*POUTLINETEXTMETRIC,*LPOUTLINETEXTMETRIC; 4325 typedef POLYTEXTW POLYTEXT,*PPOLYTEXT,*LPPOLYTEXT; 4326 typedef LOGCOLORSPACEW LOGCOLORSPACE,*LPLOGCOLORSPACE; 4327 typedef NEWTEXTMETRICW NEWTEXTMETRIC,*PNEWTEXTMETRIC,*LPNEWTEXTMETRIC; 4328 typedef NEWTEXTMETRICEXW NEWTEXTMETRICEX; 4329 typedef ENUMLOGFONTW ENUMLOGFONT,*LPENUMLOGFONT; 4330 typedef ENUMLOGFONTEXW ENUMLOGFONTEX,*LPENUMLOGFONTEX; 4331 typedef DISPLAY_DEVICEW DISPLAY_DEVICE, *PDISPLAY_DEVICE, *LPDISPLAY_DEVICE; 4332 #define AddFontResource AddFontResourceW 4333 #if (_WIN32_WINNT >= 0x0500) 4334 #define AddFontResourceEx AddFontResourceExW 4335 #endif 4336 #define CopyEnhMetaFile CopyEnhMetaFileW 4337 #define CopyMetaFile CopyMetaFileW 4338 #define CreateDC CreateDCW 4339 #define CreateEnhMetaFile CreateEnhMetaFileW 4340 #define CreateFont CreateFontW 4341 #define CreateFontIndirect CreateFontIndirectW 4342 #define CreateFontIndirectEx CreateFontIndirectExW 4343 #define CreateIC CreateICW 4344 #define CreateMetaFile CreateMetaFileW 4345 #define CreateScalableFontResource CreateScalableFontResourceW 4346 #define DeviceCapabilities DeviceCapabilitiesW 4347 #define EnumFontFamilies EnumFontFamiliesW 4348 #define EnumFontFamiliesEx EnumFontFamiliesExW 4349 #define EnumFonts EnumFontsW 4350 #define EnumICMProfiles EnumICMProfilesW 4351 #define ExtTextOut ExtTextOutW 4352 #define GetCharABCWidthsFloat GetCharABCWidthsFloatW 4353 #define GetCharABCWidths GetCharABCWidthsW 4354 #define GetCharacterPlacement GetCharacterPlacementW 4355 #define GetCharWidth32 GetCharWidth32W 4356 #define GetCharWidthFloat GetCharWidthFloatW 4357 #define GetCharWidth GetCharWidthW 4358 #define GetEnhMetaFile GetEnhMetaFileW 4359 #define GetEnhMetaFileDescription GetEnhMetaFileDescriptionW 4360 #define GetGlyphOutline GetGlyphOutlineW 4361 #define GetICMProfile GetICMProfileW 4362 #define GetKerningPairs GetKerningPairsW 4363 #define GetLogColorSpace GetLogColorSpaceW 4364 #define GetMetaFile GetMetaFileW 4365 #define GetObject GetObjectW 4366 #define GetOutlineTextMetrics GetOutlineTextMetricsW 4367 #define GetTextExtentPoint GetTextExtentPointW 4368 #define GetTextExtentExPoint GetTextExtentExPointW 4369 #define GetTextExtentPoint32 GetTextExtentPoint32W 4370 #define GetTextFace GetTextFaceW 4371 #define GetTextMetrics GetTextMetricsW 4372 #define PolyTextOut PolyTextOutW 4373 #define RemoveFontResource RemoveFontResourceW 4374 #if (_WIN32_WINNT >= 0x0500) 4375 #define RemoveFontResourceEx RemoveFontResourceExW 4376 #endif 4377 #define ResetDC ResetDCW 4378 #define SetICMProfile SetICMProfileW 4379 #define StartDoc StartDocW 4380 #define TextOut TextOutW 4381 #define UpdateICMRegKey UpdateICMRegKeyW 4382 #define wglUseFontBitmaps wglUseFontBitmapsW 4383 #define wglUseFontOutlines wglUseFontOutlinesW 4384 #else 4385 typedef AXESLISTA AXESLIST; 4386 typedef PAXESLISTA PAXESLIST; 4387 typedef LPAXESLISTA LPAXESLIST; 4388 typedef AXISINFOA AXISINFO; 4389 typedef PAXISINFOA PAXISINFO; 4390 typedef LPAXISINFOA LPAXISINFO; 4391 typedef BYTE BCHAR; 4392 typedef DOCINFOA DOCINFO, *LPDOCINFO; 4393 typedef LOGFONTA LOGFONT,*PLOGFONT,*LPLOGFONT; 4394 typedef TEXTMETRICA TEXTMETRIC,*PTEXTMETRIC,*LPTEXTMETRIC; 4395 #define ICMENUMPROC ICMENUMPROCA 4396 typedef DEVMODEA DEVMODE,*PDEVMODE,*LPDEVMODE; 4397 typedef ENUMLOGFONTEXDVA ENUMLOGFONTEXDV; 4398 typedef PENUMLOGFONTEXDVA PENUMLOGFONTEXDV; 4399 typedef LPENUMLOGFONTEXDVA LPENUMLOGFONTEXDV; 4400 typedef ENUMTEXTMETRICA ENUMTEXTMETRIC; 4401 typedef PENUMTEXTMETRICA PENUMTEXTMETRIC; 4402 typedef LPENUMTEXTMETRICA LPENUMTEXTMETRIC; 4403 typedef EXTLOGFONTA EXTLOGFONT,*PEXTLOGFONT,*LPEXTLOGFONT; 4404 typedef GCP_RESULTSA GCP_RESULTS,*LPGCP_RESULTS; 4405 typedef OUTLINETEXTMETRICA OUTLINETEXTMETRIC,*POUTLINETEXTMETRIC,*LPOUTLINETEXTMETRIC; 4406 typedef POLYTEXTA POLYTEXT,*PPOLYTEXT,*LPPOLYTEXT; 4407 typedef LOGCOLORSPACEA LOGCOLORSPACE,*LPLOGCOLORSPACE; 4408 typedef NEWTEXTMETRICA NEWTEXTMETRIC,*PNEWTEXTMETRIC,*LPNEWTEXTMETRIC; 4409 typedef NEWTEXTMETRICEXA NEWTEXTMETRICEX; 4410 typedef ENUMLOGFONTA ENUMLOGFONT,*LPENUMLOGFONT; 4411 typedef ENUMLOGFONTEXA ENUMLOGFONTEX,*LPENUMLOGFONTEX; 4412 typedef DISPLAY_DEVICEA DISPLAY_DEVICE, *PDISPLAY_DEVICE, *LPDISPLAY_DEVICE; 4413 #define AddFontResource AddFontResourceA 4414 #if (_WIN32_WINNT >= 0x0500) 4415 #define AddFontResourceEx AddFontResourceExA 4416 #endif 4417 #define CopyEnhMetaFile CopyEnhMetaFileA 4418 #define CopyMetaFile CopyMetaFileA 4419 #define CreateDC CreateDCA 4420 #define CreateEnhMetaFile CreateEnhMetaFileA 4421 #define CreateFont CreateFontA 4422 #define CreateFontIndirect CreateFontIndirectA 4423 #define CreateFontIndirectEx CreateFontIndirectExA 4424 #define CreateIC CreateICA 4425 #define CreateMetaFile CreateMetaFileA 4426 #define CreateScalableFontResource CreateScalableFontResourceA 4427 #define DeviceCapabilities DeviceCapabilitiesA 4428 #define EnumFontFamilies EnumFontFamiliesA 4429 #define EnumFontFamiliesEx EnumFontFamiliesExA 4430 #define EnumFonts EnumFontsA 4431 #define EnumICMProfiles EnumICMProfilesA 4432 #define ExtTextOut ExtTextOutA 4433 #define GetCharWidthFloat GetCharWidthFloatA 4434 #define GetCharWidth GetCharWidthA 4435 #define GetCharacterPlacement GetCharacterPlacementA 4436 #define GetCharABCWidths GetCharABCWidthsA 4437 #define GetCharABCWidthsFloat GetCharABCWidthsFloatA 4438 #define GetCharWidth32 GetCharWidth32A 4439 #define GetEnhMetaFile GetEnhMetaFileA 4440 #define GetEnhMetaFileDescription GetEnhMetaFileDescriptionA 4441 #define GetGlyphOutline GetGlyphOutlineA 4442 #define GetICMProfile GetICMProfileA 4443 #define GetKerningPairs GetKerningPairsA 4444 #define GetLogColorSpace GetLogColorSpaceA 4445 #define GetMetaFile GetMetaFileA 4446 #define GetObject GetObjectA 4447 #define GetOutlineTextMetrics GetOutlineTextMetricsA 4448 #define GetTextExtentPoint GetTextExtentPointA 4449 #define GetTextExtentExPoint GetTextExtentExPointA 4450 #define GetTextExtentPoint32 GetTextExtentPoint32A 4451 #define GetTextFace GetTextFaceA 4452 #define GetTextMetrics GetTextMetricsA 4453 #define PolyTextOut PolyTextOutA 4454 #define RemoveFontResource RemoveFontResourceA 4455 #if (_WIN32_WINNT >= 0x0500) 4456 #define RemoveFontResourceEx RemoveFontResourceExA 4457 #endif 4458 #define ResetDC ResetDCA 4459 #define SetICMProfile SetICMProfileA 4460 #define StartDoc StartDocA 4461 #define TextOut TextOutA 4462 #define UpdateICMRegKey UpdateICMRegKeyA 4463 #define wglUseFontBitmaps wglUseFontBitmapsA 4464 #define wglUseFontOutlines wglUseFontOutlinesA 4465 #endif 4466 #endif 4467 4468 #ifdef __WINESRC__ 4469 /* the DC hook support is only exported on Win16, the 32-bit version is a Wine extension */ 4470 4471 #define DCHC_INVALIDVISRGN 0x0001 4472 #define DCHC_DELETEDC 0x0002 4473 #define DCHF_INVALIDATEVISRGN 0x0001 4474 #define DCHF_VALIDATEVISRGN 0x0002 4475 4476 typedef BOOL (CALLBACK *DCHOOKPROC)(HDC,WORD,DWORD_PTR,LPARAM); 4477 4478 WINGDIAPI DWORD_PTR WINAPI GetDCHook(HDC,DCHOOKPROC*); 4479 WINGDIAPI BOOL WINAPI SetDCHook(HDC,DCHOOKPROC,DWORD_PTR); 4480 WINGDIAPI WORD WINAPI SetHookFlags(HDC,WORD); 4481 WINGDIAPI INT WINAPI SelectVisRgn(HDC,HRGN); 4482 #endif /* __WINESRC__ */ 4483 4484 #ifdef _MSC_VER 4485 #pragma warning(pop) 4486 #endif 4487 4488 #ifdef __cplusplus 4489 } 4490 #endif 4491 4492 #endif //!NOGDI 4493 #endif // _WINGDI_H 4494