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 984 #if (WINVER >= 0x0400) 985 typedef struct _DRAWPATRECT { 986 POINT ptPosition; 987 POINT ptSize; 988 WORD wStyle; 989 WORD wPattern; 990 } DRAWPATRECT, *PDRAWPATRECT; 991 #endif 992 993 #define NEWFRAME 1 994 #define ABORTDOC 2 995 #define NEXTBAND 3 996 #define SETCOLORTABLE 4 997 #define GETCOLORTABLE 5 998 #define FLUSHOUTPUT 6 999 #define DRAFTMODE 7 1000 #define QUERYESCSUPPORT 8 1001 #define SETABORTPROC 9 1002 #define STARTDOC 10 1003 #define ENDDOC 11 1004 #define GETPHYSPAGESIZE 12 1005 #define GETPRINTINGOFFSET 13 1006 #define GETSCALINGFACTOR 14 1007 #define MFCOMMENT 15 1008 #define GETPENWIDTH 16 1009 #define SETCOPYCOUNT 17 1010 #define SELECTPAPERSOURCE 18 1011 #define DEVICEDATA 19 1012 #define PASSTHROUGH 19 1013 #define GETTECHNOLGY 20 1014 #define GETTECHNOLOGY 20 1015 #define SETLINECAP 21 1016 #define SETLINEJOIN 22 1017 #define SETMITERLIMIT 23 1018 #define BANDINFO 24 1019 #define DRAWPATTERNRECT 25 1020 #define GETVECTORPENSIZE 26 1021 #define GETVECTORBRUSHSIZE 27 1022 #define ENABLEDUPLEX 28 1023 #define GETSETPAPERBINS 29 1024 #define GETSETPRINTORIENT 30 1025 #define ENUMPAPERBINS 31 1026 #define SETDIBSCALING 32 1027 #define EPSPRINTING 33 1028 #define ENUMPAPERMETRICS 34 1029 #define GETSETPAPERMETRICS 35 1030 #define POSTSCRIPT_DATA 37 1031 #define POSTSCRIPT_IGNORE 38 1032 #define MOUSETRAILS 39 1033 #define GETDEVICEUNITS 42 1034 #define GETEXTENDEDTEXTMETRICS 256 1035 #define GETEXTENTTABLE 257 1036 #define GETPAIRKERNTABLE 258 1037 #define GETTRACKKERNTABLE 259 1038 #define EXTTEXTOUT 512 1039 #define GETFACENAME 513 1040 #define DOWNLOADFACE 514 1041 #define ENABLERELATIVEWIDTHS 768 1042 #define ENABLEPAIRKERNING 769 1043 #define SETKERNTRACK 770 1044 #define SETALLJUSTVALUES 771 1045 #define SETCHARSET 772 1046 #define STRETCHBLT 2048 1047 #define METAFILE_DRIVER 2049 1048 #define GETSETSCREENPARAMS 3072 1049 #define QUERYDIBSUPPORT 3073 1050 #define BEGIN_PATH 4096 1051 #define CLIP_TO_PATH 4097 1052 #define END_PATH 4098 1053 #define EXT_DEVICE_CAPS 4099 1054 #define RESTORE_CTM 4100 1055 #define SAVE_CTM 4101 1056 #define SET_ARC_DIRECTION 4102 1057 #define SET_BACKGROUND_COLOR 4103 1058 #define SET_POLY_MODE 4104 1059 #define SET_SCREEN_ANGLE 4105 1060 #define SET_SPREAD 4106 1061 #define TRANSFORM_CTM 4107 1062 #define SET_CLIP_BOX 4108 1063 #define SET_BOUNDS 4109 1064 #define SET_MIRROR_MODE 4110 1065 #define OPENCHANNEL 4110 1066 #define DOWNLOADHEADER 4111 1067 #define CLOSECHANNEL 4112 1068 #define POSTSCRIPT_PASSTHROUGH 4115 1069 #define ENCAPSULATED_POSTSCRIPT 4116 1070 #define POSTSCRIPT_IDENTIFY 4117 1071 #define POSTSCRIPT_INJECTION 4118 1072 #define CHECKJPEGFORMAT 4119 1073 #define CHECKPNGFORMAT 4120 1074 #define GET_PS_FEATURESETTING 4121 1075 #define SPCLPASSTHROUGH2 4568 1076 #define QDI_SETDIBITS 1 1077 #define QDI_GETDIBITS 2 1078 #define QDI_DIBTOSCREEN 4 1079 #define QDI_STRETCHDIB 8 1080 #define SP_NOTREPORTED 0x4000 1081 #define PR_JOBSTATUS 0 1082 #define ASPECT_FILTERING 1 1083 #define GS_8BIT_INDICES 0x00000001 1084 #define GGI_MARK_NONEXISTING_GLYPHS 0X0001 1085 #define BS_SOLID 0 1086 #define BS_NULL 1 1087 #define BS_HOLLOW 1 1088 #define BS_HATCHED 2 1089 #define BS_PATTERN 3 1090 #define BS_INDEXED 4 1091 #define BS_DIBPATTERN 5 1092 #define BS_DIBPATTERNPT 6 1093 #define BS_PATTERN8X8 7 1094 #define BS_DIBPATTERN8X8 8 1095 #define BS_MONOPATTERN 9 1096 #define LCS_CALIBRATED_RGB 0 1097 #define LCS_DEVICE_RGB 1 1098 #define LCS_DEVICE_CMYK 2 1099 #define LCS_GM_BUSINESS 1 1100 #define LCS_GM_GRAPHICS 2 1101 #define LCS_GM_IMAGES 4 1102 #define LCS_GM_ABS_COLORIMETRIC 8 1103 #define LCS_SIGNATURE 0x50534F43 // 'PSOC' 1104 #define LCS_sRGB 'sRGB' 1105 #define LCS_WINDOWS_COLOR_SPACE 'Win ' 1106 #define RASTER_FONTTYPE 1 1107 #define DEVICE_FONTTYPE 2 1108 #define TRUETYPE_FONTTYPE 4 1109 #define DMORIENT_PORTRAIT 1 1110 #define DMORIENT_LANDSCAPE 2 1111 #define DMPAPER_FIRST 1 1112 #define DMPAPER_LETTER 1 1113 #define DMPAPER_LETTERSMALL 2 1114 #define DMPAPER_TABLOID 3 1115 #define DMPAPER_LEDGER 4 1116 #define DMPAPER_LEGAL 5 1117 #define DMPAPER_STATEMENT 6 1118 #define DMPAPER_EXECUTIVE 7 1119 #define DMPAPER_A3 8 1120 #define DMPAPER_A4 9 1121 #define DMPAPER_A4SMALL 10 1122 #define DMPAPER_A5 11 1123 #define DMPAPER_B4 12 1124 #define DMPAPER_B5 13 1125 #define DMPAPER_FOLIO 14 1126 #define DMPAPER_QUARTO 15 1127 #define DMPAPER_10X14 16 1128 #define DMPAPER_11X17 17 1129 #define DMPAPER_NOTE 18 1130 #define DMPAPER_ENV_9 19 1131 #define DMPAPER_ENV_10 20 1132 #define DMPAPER_ENV_11 21 1133 #define DMPAPER_ENV_12 22 1134 #define DMPAPER_ENV_14 23 1135 #define DMPAPER_CSHEET 24 1136 #define DMPAPER_DSHEET 25 1137 #define DMPAPER_ESHEET 26 1138 #define DMPAPER_ENV_DL 27 1139 #define DMPAPER_ENV_C5 28 1140 #define DMPAPER_ENV_C3 29 1141 #define DMPAPER_ENV_C4 30 1142 #define DMPAPER_ENV_C6 31 1143 #define DMPAPER_ENV_C65 32 1144 #define DMPAPER_ENV_B4 33 1145 #define DMPAPER_ENV_B5 34 1146 #define DMPAPER_ENV_B6 35 1147 #define DMPAPER_ENV_ITALY 36 1148 #define DMPAPER_ENV_MONARCH 37 1149 #define DMPAPER_ENV_PERSONAL 38 1150 #define DMPAPER_FANFOLD_US 39 1151 #define DMPAPER_FANFOLD_STD_GERMAN 40 1152 #define DMPAPER_FANFOLD_LGL_GERMAN 41 1153 #define DMPAPER_ISO_B4 42 1154 #define DMPAPER_JAPANESE_POSTCARD 43 1155 #define DMPAPER_9X11 44 1156 #define DMPAPER_10X11 45 1157 #define DMPAPER_15X11 46 1158 #define DMPAPER_ENV_INVITE 47 1159 #define DMPAPER_RESERVED_48 48 1160 #define DMPAPER_RESERVED_49 49 1161 #define DMPAPER_LETTER_EXTRA 50 1162 #define DMPAPER_LEGAL_EXTRA 51 1163 #define DMPAPER_TABLOID_EXTRA 52 1164 #define DMPAPER_A4_EXTRA 53 1165 #define DMPAPER_LETTER_TRANSVERSE 54 1166 #define DMPAPER_A4_TRANSVERSE 55 1167 #define DMPAPER_LETTER_EXTRA_TRANSVERSE 56 1168 #define DMPAPER_A_PLUS 57 1169 #define DMPAPER_B_PLUS 58 1170 #define DMPAPER_LETTER_PLUS 59 1171 #define DMPAPER_A4_PLUS 60 1172 #define DMPAPER_A5_TRANSVERSE 61 1173 #define DMPAPER_B5_TRANSVERSE 62 1174 #define DMPAPER_A3_EXTRA 63 1175 #define DMPAPER_A5_EXTRA 64 1176 #define DMPAPER_B5_EXTRA 65 1177 #define DMPAPER_A2 66 1178 #define DMPAPER_A3_TRANSVERSE 67 1179 #define DMPAPER_A3_EXTRA_TRANSVERSE 68 1180 #define DMPAPER_LAST 68 1181 #define DMPAPER_USER 256 1182 #define DMBIN_FIRST 1 1183 #define DMBIN_UPPER 1 1184 #define DMBIN_ONLYONE 1 1185 #define DMBIN_LOWER 2 1186 #define DMBIN_MIDDLE 3 1187 #define DMBIN_MANUAL 4 1188 #define DMBIN_ENVELOPE 5 1189 #define DMBIN_ENVMANUAL 6 1190 #define DMBIN_AUTO 7 1191 #define DMBIN_TRACTOR 8 1192 #define DMBIN_SMALLFMT 9 1193 #define DMBIN_LARGEFMT 10 1194 #define DMBIN_LARGECAPACITY 11 1195 #define DMBIN_CASSETTE 14 1196 #define DMBIN_FORMSOURCE 15 1197 #define DMBIN_LAST 15 1198 #define DMBIN_USER 256 1199 #define DMRES_DRAFT (-1) 1200 #define DMRES_LOW (-2) 1201 #define DMRES_MEDIUM (-3) 1202 #define DMRES_HIGH (-4) 1203 #define DMCOLOR_MONOCHROME 1 1204 #define DMCOLOR_COLOR 2 1205 #define DMDUP_SIMPLEX 1 1206 #define DMDUP_VERTICAL 2 1207 #define DMDUP_HORIZONTAL 3 1208 #define DMTT_BITMAP 1 1209 #define DMTT_DOWNLOAD 2 1210 #define DMTT_SUBDEV 3 1211 #define DMTT_DOWNLOAD_OUTLINE 4 1212 #define DMCOLLATE_FALSE 0 1213 #define DMCOLLATE_TRUE 1 1214 1215 1216 #define DMDO_DEFAULT 0 1217 #define DMDO_90 1 1218 #define DMDO_180 2 1219 #define DMDO_270 3 1220 1221 #define DMDFO_DEFAULT 0 1222 #define DMDFO_STRETCH 1 1223 #define DMDFO_CENTER 2 1224 1225 1226 #define DM_GRAYSCALE 0x00000001 1227 #define DM_INTERLACED 0x00000002 1228 #define DMDISPLAYFLAGS_TEXTMODE 0x00000004 1229 1230 1231 #define DM_UPDATE 1 1232 #define DM_COPY 2 1233 #define DM_PROMPT 4 1234 #define DM_MODIFY 8 1235 #define DM_IN_BUFFER DM_MODIFY 1236 #define DM_IN_PROMPT DM_PROMPT 1237 #define DM_OUT_BUFFER DM_COPY 1238 #define DM_OUT_DEFAULT DM_UPDATE 1239 1240 1241 #if (WINVER >= 0x0500) || (_WIN32_WINNT >= _WIN32_WINNT_NT4) 1242 #define DM_SPECVERSION 0x0401 1243 #elif (WINVER >= 0x0400) 1244 #define DM_SPECVERSION 0x0400 1245 #else 1246 #define DM_SPECVERSION 0x0320 1247 #endif 1248 1249 #define DM_ORIENTATION 0x00000001 1250 #define DM_PAPERSIZE 0x00000002 1251 #define DM_PAPERLENGTH 0x00000004 1252 #define DM_PAPERWIDTH 0x00000008 1253 #define DM_SCALE 0x00000010 1254 #define DM_POSITION 0x00000020 1255 #define DM_NUP 0x00000040 1256 #define DM_DISPLAYORIENTATION 0x00000080 1257 #define DM_COPIES 0x00000100 1258 #define DM_DEFAULTSOURCE 0x00000200 1259 #define DM_PRINTQUALITY 0x00000400 1260 #define DM_COLOR 0x00000800 1261 #define DM_DUPLEX 0x00001000 1262 #define DM_YRESOLUTION 0x00002000 1263 #define DM_TTOPTION 0x00004000 1264 #define DM_COLLATE 0x00008000 1265 #define DM_FORMNAME 0x00010000 1266 #define DM_LOGPIXELS 0x00020000 1267 #define DM_BITSPERPEL 0x00040000 1268 #define DM_PELSWIDTH 0x00080000 1269 #define DM_PELSHEIGHT 0x00100000 1270 #define DM_DISPLAYFLAGS 0x00200000 1271 #define DM_DISPLAYFREQUENCY 0x00400000 1272 #define DM_ICMMETHOD 0x00800000 1273 #define DM_ICMINTENT 0x01000000 1274 #define DM_MEDIATYPE 0x02000000 1275 #define DM_DITHERTYPE 0x04000000 1276 #define DM_PANNINGWIDTH 0x08000000 1277 #define DM_PANNINGHEIGHT 0x10000000 1278 #if (WINVER >= 0x0501) 1279 #define DM_DISPLAYFIXEDOUTPUT 0x20000000 1280 #endif 1281 1282 #define QDC_ALL_PATHS 0x00000001 1283 1284 #define DMICMMETHOD_NONE 1 1285 #define DMICMMETHOD_SYSTEM 2 1286 #define DMICMMETHOD_DRIVER 3 1287 #define DMICMMETHOD_DEVICE 4 1288 #define DMICMMETHOD_USER 256 1289 #define DMICM_SATURATE 1 1290 #define DMICM_CONTRAST 2 1291 #define DMICM_COLORMETRIC 3 1292 #define DMICM_USER 256 1293 #define DMMEDIA_STANDARD 1 1294 #define DMMEDIA_TRANSPARENCY 2 1295 #define DMMEDIA_GLOSSY 3 1296 #define DMMEDIA_USER 256 1297 #define DMDITHER_NONE 1 1298 #define DMDITHER_COARSE 2 1299 #define DMDITHER_FINE 3 1300 #define DMDITHER_LINEART 4 1301 #define DMDITHER_ERRORDIFFUSION 5 1302 #define DMDITHER_RESERVED6 6 1303 #define DMDITHER_RESERVED7 7 1304 #define DMDITHER_RESERVED8 8 1305 #define DMDITHER_RESERVED9 9 1306 #define DMDITHER_GRAYSCALE 10 1307 #define DMDITHER_USER 256 1308 #define GDI_ERROR 0xFFFFFFFF 1309 #define HGDI_ERROR ((HANDLE)GDI_ERROR) 1310 #define TMPF_FIXED_PITCH 1 1311 #define TMPF_VECTOR 2 1312 #define TMPF_TRUETYPE 4 1313 #define TMPF_DEVICE 8 1314 #define NTM_ITALIC 1 1315 #define NTM_BOLD 32 1316 #define NTM_REGULAR 64 1317 #define TT_POLYGON_TYPE 24 1318 #define TT_PRIM_LINE 1 1319 #define TT_PRIM_QSPLINE 2 1320 #define TT_PRIM_CSPLINE 3 1321 #define FONTMAPPER_MAX 10 1322 #define ENHMETA_STOCK_OBJECT 0x80000000 1323 #define WGL_FONT_LINES 0 1324 #define WGL_FONT_POLYGONS 1 1325 #define LPD_DOUBLEBUFFER 1 1326 #define LPD_STEREO 2 1327 #define LPD_SUPPORT_GDI 16 1328 #define LPD_SUPPORT_OPENGL 32 1329 #define LPD_SHARE_DEPTH 64 1330 #define LPD_SHARE_STENCIL 128 1331 #define LPD_SHARE_ACCUM 256 1332 #define LPD_SWAP_EXCHANGE 512 1333 #define LPD_SWAP_COPY 1024 1334 #define LPD_TRANSPARENT 4096 1335 #define LPD_TYPE_RGBA 0 1336 #define LPD_TYPE_COLORINDEX 1 1337 #define WGL_SWAP_MAIN_PLANE 1 1338 #define WGL_SWAP_OVERLAY1 2 1339 #define WGL_SWAP_OVERLAY2 4 1340 #define WGL_SWAP_OVERLAY3 8 1341 #define WGL_SWAP_OVERLAY4 16 1342 #define WGL_SWAP_OVERLAY5 32 1343 #define WGL_SWAP_OVERLAY6 64 1344 #define WGL_SWAP_OVERLAY7 128 1345 #define WGL_SWAP_OVERLAY8 256 1346 #define WGL_SWAP_OVERLAY9 512 1347 #define WGL_SWAP_OVERLAY10 1024 1348 #define WGL_SWAP_OVERLAY11 2048 1349 #define WGL_SWAP_OVERLAY12 4096 1350 #define WGL_SWAP_OVERLAY13 8192 1351 #define WGL_SWAP_OVERLAY14 16384 1352 #define WGL_SWAP_OVERLAY15 32768 1353 #define WGL_SWAP_UNDERLAY1 65536 1354 #define WGL_SWAP_UNDERLAY2 0x20000 1355 #define WGL_SWAP_UNDERLAY3 0x40000 1356 #define WGL_SWAP_UNDERLAY4 0x80000 1357 #define WGL_SWAP_UNDERLAY5 0x100000 1358 #define WGL_SWAP_UNDERLAY6 0x200000 1359 #define WGL_SWAP_UNDERLAY7 0x400000 1360 #define WGL_SWAP_UNDERLAY8 0x800000 1361 #define WGL_SWAP_UNDERLAY9 0x1000000 1362 #define WGL_SWAP_UNDERLAY10 0x2000000 1363 #define WGL_SWAP_UNDERLAY11 0x4000000 1364 #define WGL_SWAP_UNDERLAY12 0x8000000 1365 #define WGL_SWAP_UNDERLAY13 0x10000000 1366 #define WGL_SWAP_UNDERLAY14 0x20000000 1367 #define WGL_SWAP_UNDERLAY15 0x40000000 1368 #define AC_SRC_OVER 0 1369 #define LAYOUT_LTR 0 1370 #define LAYOUT_RTL 1 // Right to left 1371 #define LAYOUT_BTT 2 // Bottom to top 1372 #define LAYOUT_VBH 4 // Vertical before horizontal 1373 #define LAYOUT_ORIENTATIONMASK (LAYOUT_RTL | LAYOUT_BTT | LAYOUT_VBH) 1374 #define LAYOUT_BITMAPORIENTATIONPRESERVED 8 1375 #define CAPTUREBLT 0x40000000 1376 #define NOMIRRORBITMAP 0x80000000 1377 #if (WINVER > 0x400) 1378 #define CS_ENABLE 0x00000001 1379 #define CS_DISABLE 0x00000002 1380 #define CS_DELETE_TRANSFORM 0x00000003 1381 #endif 1382 1383 1384 1385 #if (WINVER > 0x500) 1386 #define GRADIENT_FILL_RECT_H 0x00 1387 #define GRADIENT_FILL_RECT_V 0x01 1388 #define GRADIENT_FILL_TRIANGLE 0x02 1389 #define GRADIENT_FILL_OP_FLAG 0xff 1390 #define COLORMATCHTOTARGET_EMBEDED 0x00000001 1391 #define CREATECOLORSPACE_EMBEDED 0x00000001 1392 #define SETICMPROFILE_EMBEDED 0x00000001 1393 #endif 1394 1395 #define DISPLAY_DEVICE_ATTACHED_TO_DESKTOP 0x00000001 1396 #define DISPLAY_DEVICE_MULTI_DRIVER 0x00000002 1397 #define DISPLAY_DEVICE_PRIMARY_DEVICE 0x00000004 1398 #define DISPLAY_DEVICE_MIRRORING_DRIVER 0x00000008 1399 #define DISPLAY_DEVICE_VGA_COMPATIBLE 0x00000010 1400 #define DISPLAY_DEVICE_REMOVABLE 0x00000020 1401 #define DISPLAY_DEVICE_DISCONNECT 0x02000000 1402 #define DISPLAY_DEVICE_REMOTE 0x04000000 1403 #define DISPLAY_DEVICE_MODESPRUNED 0x08000000 1404 #ifndef RC_INVOKED 1405 typedef struct _ABC { 1406 int abcA; 1407 UINT abcB; 1408 int abcC; 1409 } ABC, *PABC, *LPABC; 1410 typedef struct _ABCFLOAT { 1411 FLOAT abcfA; 1412 FLOAT abcfB; 1413 FLOAT abcfC; 1414 } ABCFLOAT, *PABCFLOAT, *LPABCFLOAT; 1415 typedef struct tagBITMAP { 1416 LONG bmType; 1417 LONG bmWidth; 1418 LONG bmHeight; 1419 LONG bmWidthBytes; 1420 WORD bmPlanes; 1421 WORD bmBitsPixel; 1422 LPVOID bmBits; 1423 } BITMAP,*PBITMAP,*LPBITMAP; 1424 typedef struct tagBITMAPCOREHEADER { 1425 DWORD bcSize; 1426 WORD bcWidth; 1427 WORD bcHeight; 1428 WORD bcPlanes; 1429 WORD bcBitCount; 1430 } BITMAPCOREHEADER,*LPBITMAPCOREHEADER,*PBITMAPCOREHEADER; 1431 #include "pshpack1.h" 1432 typedef struct tagRGBTRIPLE { 1433 BYTE rgbtBlue; 1434 BYTE rgbtGreen; 1435 BYTE rgbtRed; 1436 } RGBTRIPLE,*LPRGBTRIPLE; 1437 #include "poppack.h" 1438 #include "pshpack2.h" 1439 typedef struct tagBITMAPFILEHEADER { 1440 WORD bfType; 1441 DWORD bfSize; 1442 WORD bfReserved1; 1443 WORD bfReserved2; 1444 DWORD bfOffBits; 1445 } BITMAPFILEHEADER,*LPBITMAPFILEHEADER,*PBITMAPFILEHEADER; 1446 #include "poppack.h" 1447 typedef struct _BITMAPCOREINFO { 1448 BITMAPCOREHEADER bmciHeader; 1449 RGBTRIPLE bmciColors[1]; 1450 } BITMAPCOREINFO,*LPBITMAPCOREINFO,*PBITMAPCOREINFO; 1451 typedef struct tagBITMAPINFOHEADER{ 1452 DWORD biSize; 1453 LONG biWidth; 1454 LONG biHeight; 1455 WORD biPlanes; 1456 WORD biBitCount; 1457 DWORD biCompression; 1458 DWORD biSizeImage; 1459 LONG biXPelsPerMeter; 1460 LONG biYPelsPerMeter; 1461 DWORD biClrUsed; 1462 DWORD biClrImportant; 1463 } BITMAPINFOHEADER,*LPBITMAPINFOHEADER,*PBITMAPINFOHEADER; 1464 typedef struct tagRGBQUAD { 1465 BYTE rgbBlue; 1466 BYTE rgbGreen; 1467 BYTE rgbRed; 1468 BYTE rgbReserved; 1469 } RGBQUAD,*LPRGBQUAD; 1470 typedef struct tagBITMAPINFO { 1471 BITMAPINFOHEADER bmiHeader; 1472 RGBQUAD bmiColors[1]; 1473 } BITMAPINFO,*LPBITMAPINFO,*PBITMAPINFO; 1474 typedef long FXPT16DOT16,*LPFXPT16DOT16; 1475 typedef long FXPT2DOT30,*LPFXPT2DOT30; 1476 typedef struct tagCIEXYZ { 1477 FXPT2DOT30 ciexyzX; 1478 FXPT2DOT30 ciexyzY; 1479 FXPT2DOT30 ciexyzZ; 1480 } CIEXYZ,*LPCIEXYZ; 1481 typedef struct tagCIEXYZTRIPLE { 1482 CIEXYZ ciexyzRed; 1483 CIEXYZ ciexyzGreen; 1484 CIEXYZ ciexyzBlue; 1485 } CIEXYZTRIPLE,*LPCIEXYZTRIPLE; 1486 typedef struct { 1487 DWORD bV4Size; 1488 LONG bV4Width; 1489 LONG bV4Height; 1490 WORD bV4Planes; 1491 WORD bV4BitCount; 1492 DWORD bV4V4Compression; 1493 DWORD bV4SizeImage; 1494 LONG bV4XPelsPerMeter; 1495 LONG bV4YPelsPerMeter; 1496 DWORD bV4ClrUsed; 1497 DWORD bV4ClrImportant; 1498 DWORD bV4RedMask; 1499 DWORD bV4GreenMask; 1500 DWORD bV4BlueMask; 1501 DWORD bV4AlphaMask; 1502 DWORD bV4CSType; 1503 CIEXYZTRIPLE bV4Endpoints; 1504 DWORD bV4GammaRed; 1505 DWORD bV4GammaGreen; 1506 DWORD bV4GammaBlue; 1507 } BITMAPV4HEADER,*LPBITMAPV4HEADER,*PBITMAPV4HEADER; 1508 #if (WINVER >= 0x500) 1509 typedef struct { 1510 DWORD bV5Size; 1511 LONG bV5Width; 1512 LONG bV5Height; 1513 WORD bV5Planes; 1514 WORD bV5BitCount; 1515 DWORD bV5Compression; 1516 DWORD bV5SizeImage; 1517 LONG bV5XPelsPerMeter; 1518 LONG bV5YPelsPerMeter; 1519 DWORD bV5ClrUsed; 1520 DWORD bV5ClrImportant; 1521 DWORD bV5RedMask; 1522 DWORD bV5GreenMask; 1523 DWORD bV5BlueMask; 1524 DWORD bV5AlphaMask; 1525 DWORD bV5CSType; 1526 CIEXYZTRIPLE bV5Endpoints; 1527 DWORD bV5GammaRed; 1528 DWORD bV5GammaGreen; 1529 DWORD bV5GammaBlue; 1530 DWORD bV5Intent; 1531 DWORD bV5ProfileData; 1532 DWORD bV5ProfileSize; 1533 DWORD bV5Reserved; 1534 } BITMAPV5HEADER,*LPBITMAPV5HEADER,*PBITMAPV5HEADER; 1535 #endif 1536 typedef struct tagFONTSIGNATURE { 1537 DWORD fsUsb[4]; 1538 DWORD fsCsb[2]; 1539 } FONTSIGNATURE, *PFONTSIGNATURE,*LPFONTSIGNATURE; 1540 typedef struct tagCHARSETINFO { 1541 UINT ciCharset; 1542 UINT ciACP; 1543 FONTSIGNATURE fs; 1544 } CHARSETINFO, *PCHARSETINFO, *LPCHARSETINFO; 1545 typedef struct tagCOLORADJUSTMENT { 1546 WORD caSize; 1547 WORD caFlags; 1548 WORD caIlluminantIndex; 1549 WORD caRedGamma; 1550 WORD caGreenGamma; 1551 WORD caBlueGamma; 1552 WORD caReferenceBlack; 1553 WORD caReferenceWhite; 1554 SHORT caContrast; 1555 SHORT caBrightness; 1556 SHORT caColorfulness; 1557 SHORT caRedGreenTint; 1558 } COLORADJUSTMENT, *PCOLORADJUSTMENT, FAR *LPCOLORADJUSTMENT; 1559 typedef struct _devicemodeA { 1560 BYTE dmDeviceName[CCHDEVICENAME]; 1561 WORD dmSpecVersion; 1562 WORD dmDriverVersion; 1563 WORD dmSize; 1564 WORD dmDriverExtra; 1565 DWORD dmFields; 1566 _ANONYMOUS_UNION union { 1567 _ANONYMOUS_STRUCT struct { 1568 short dmOrientation; 1569 short dmPaperSize; 1570 short dmPaperLength; 1571 short dmPaperWidth; 1572 short dmScale; 1573 short dmCopies; 1574 short dmDefaultSource; 1575 short dmPrintQuality; 1576 } DUMMYSTRUCTNAME1; 1577 struct { 1578 POINTL dmPosition; 1579 DWORD dmDisplayOrientation; 1580 DWORD dmDisplayFixedOutput; 1581 } DUMMYSTRUCTNAME2; 1582 } DUMMYUNIONNAME1; 1583 short dmColor; 1584 short dmDuplex; 1585 short dmYResolution; 1586 short dmTTOption; 1587 short dmCollate; 1588 BYTE dmFormName[CCHFORMNAME]; 1589 WORD dmLogPixels; 1590 DWORD dmBitsPerPel; 1591 DWORD dmPelsWidth; 1592 DWORD dmPelsHeight; 1593 _ANONYMOUS_UNION union { 1594 DWORD dmDisplayFlags; 1595 DWORD dmNup; 1596 } DUMMYUNIONNAME2; 1597 DWORD dmDisplayFrequency; 1598 #if(WINVER >= 0x0400) 1599 DWORD dmICMMethod; 1600 DWORD dmICMIntent; 1601 DWORD dmMediaType; 1602 DWORD dmDitherType; 1603 DWORD dmReserved1; 1604 DWORD dmReserved2; 1605 #if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400) 1606 DWORD dmPanningWidth; 1607 DWORD dmPanningHeight; 1608 #endif 1609 #endif /* WINVER >= 0x0400 */ 1610 } DEVMODEA,*LPDEVMODEA,*PDEVMODEA; 1611 typedef struct _devicemodeW { 1612 WCHAR dmDeviceName[CCHDEVICENAME]; 1613 WORD dmSpecVersion; 1614 WORD dmDriverVersion; 1615 WORD dmSize; 1616 WORD dmDriverExtra; 1617 DWORD dmFields; 1618 _ANONYMOUS_UNION union { 1619 _ANONYMOUS_STRUCT struct { 1620 short dmOrientation; 1621 short dmPaperSize; 1622 short dmPaperLength; 1623 short dmPaperWidth; 1624 short dmScale; 1625 short dmCopies; 1626 short dmDefaultSource; 1627 short dmPrintQuality; 1628 } DUMMYSTRUCTNAME1; 1629 struct { 1630 POINTL dmPosition; 1631 DWORD dmDisplayOrientation; 1632 DWORD dmDisplayFixedOutput; 1633 } DUMMYSTRUCTNAME2; 1634 } DUMMYUNIONNAME1; 1635 short dmColor; 1636 short dmDuplex; 1637 short dmYResolution; 1638 short dmTTOption; 1639 short dmCollate; 1640 WCHAR dmFormName[CCHFORMNAME]; 1641 WORD dmLogPixels; 1642 DWORD dmBitsPerPel; 1643 DWORD dmPelsWidth; 1644 DWORD dmPelsHeight; 1645 _ANONYMOUS_UNION union { 1646 DWORD dmDisplayFlags; 1647 DWORD dmNup; 1648 } DUMMYUNIONNAME2; 1649 DWORD dmDisplayFrequency; 1650 #if(WINVER >= 0x0400) 1651 DWORD dmICMMethod; 1652 DWORD dmICMIntent; 1653 DWORD dmMediaType; 1654 DWORD dmDitherType; 1655 DWORD dmReserved1; 1656 DWORD dmReserved2; 1657 #if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400) 1658 DWORD dmPanningWidth; 1659 DWORD dmPanningHeight; 1660 #endif 1661 #endif /* WINVER >= 0x0400 */ 1662 } DEVMODEW,*LPDEVMODEW,*PDEVMODEW,*NPDEVMODEW; 1663 typedef struct tagDIBSECTION { 1664 BITMAP dsBm; 1665 BITMAPINFOHEADER dsBmih; 1666 DWORD dsBitfields[3]; 1667 HANDLE dshSection; 1668 DWORD dsOffset; 1669 } DIBSECTION,*PDIBSECTION,*LPDIBSECTION; 1670 typedef struct _DOCINFOA { 1671 int cbSize; 1672 LPCSTR lpszDocName; 1673 LPCSTR lpszOutput; 1674 LPCSTR lpszDatatype; 1675 DWORD fwType; 1676 } DOCINFOA,*LPDOCINFOA; 1677 typedef struct _DOCINFOW { 1678 int cbSize; 1679 LPCWSTR lpszDocName; 1680 LPCWSTR lpszOutput; 1681 LPCWSTR lpszDatatype; 1682 DWORD fwType; 1683 } DOCINFOW,*LPDOCINFOW; 1684 typedef struct tagEMR { 1685 DWORD iType; 1686 DWORD nSize; 1687 } EMR,*PEMR; 1688 1689 #if(WINVER >= 0x0400) 1690 typedef struct tagEMRGLSRECORD { 1691 EMR emr; 1692 DWORD cbData; 1693 BYTE Data[1]; 1694 } EMRGLSRECORD, *PEMRGLSRECORD; 1695 typedef struct tagEMRGLSBOUNDEDRECORD { 1696 EMR emr; 1697 RECTL rclBounds; 1698 DWORD cbData; 1699 BYTE Data[1]; 1700 } EMRGLSBOUNDEDRECORD, *PEMRGLSBOUNDEDRECORD; 1701 #endif 1702 typedef struct tagEMRANGLEARC { 1703 EMR emr; 1704 POINTL ptlCenter; 1705 DWORD nRadius; 1706 FLOAT eStartAngle; 1707 FLOAT eSweepAngle; 1708 } EMRANGLEARC,*PEMRANGLEARC; 1709 typedef struct tagEMRARC { 1710 EMR emr; 1711 RECTL rclBox; 1712 POINTL ptlStart; 1713 POINTL ptlEnd; 1714 } EMRARC,*PEMRARC,EMRARCTO,*PEMRARCTO,EMRCHORD,*PEMRCHORD,EMRPIE,*PEMRPIE; 1715 typedef struct _XFORM { 1716 FLOAT eM11; 1717 FLOAT eM12; 1718 FLOAT eM21; 1719 FLOAT eM22; 1720 FLOAT eDx; 1721 FLOAT eDy; 1722 } XFORM,*PXFORM,*LPXFORM; 1723 typedef struct tagEMRBITBLT { 1724 EMR emr; 1725 RECTL rclBounds; 1726 LONG xDest; 1727 LONG yDest; 1728 LONG cxDest; 1729 LONG cyDest; 1730 DWORD dwRop; 1731 LONG xSrc; 1732 LONG ySrc; 1733 XFORM xformSrc; 1734 COLORREF crBkColorSrc; 1735 DWORD iUsageSrc; 1736 DWORD offBmiSrc; 1737 DWORD cbBmiSrc; 1738 DWORD offBitsSrc; 1739 DWORD cbBitsSrc; 1740 } EMRBITBLT,*PEMRBITBLT; 1741 typedef struct tagLOGBRUSH { 1742 UINT lbStyle; 1743 COLORREF lbColor; 1744 ULONG_PTR lbHatch; 1745 } LOGBRUSH,*PLOGBRUSH,*LPLOGBRUSH; 1746 typedef LOGBRUSH PATTERN,*PPATTERN,*LPPATTERN; 1747 typedef struct tagLOGBRUSH32 { 1748 UINT lbStyle; 1749 COLORREF lbColor; 1750 ULONG lbHatch; 1751 } LOGBRUSH32, *PLOGBRUSH32; 1752 typedef struct tagEMRCREATEBRUSHINDIRECT { 1753 EMR emr; 1754 DWORD ihBrush; 1755 LOGBRUSH32 lb; 1756 } EMRCREATEBRUSHINDIRECT,*PEMRCREATEBRUSHINDIRECT; 1757 typedef LONG LCSCSTYPE; 1758 typedef LONG LCSGAMUTMATCH; 1759 typedef struct tagLOGCOLORSPACEA { 1760 DWORD lcsSignature; 1761 DWORD lcsVersion; 1762 DWORD lcsSize; 1763 LCSCSTYPE lcsCSType; 1764 LCSGAMUTMATCH lcsIntent; 1765 CIEXYZTRIPLE lcsEndpoints; 1766 DWORD lcsGammaRed; 1767 DWORD lcsGammaGreen; 1768 DWORD lcsGammaBlue; 1769 CHAR lcsFilename[MAX_PATH]; 1770 } LOGCOLORSPACEA,*LPLOGCOLORSPACEA; 1771 typedef struct tagLOGCOLORSPACEW { 1772 DWORD lcsSignature; 1773 DWORD lcsVersion; 1774 DWORD lcsSize; 1775 LCSCSTYPE lcsCSType; 1776 LCSGAMUTMATCH lcsIntent; 1777 CIEXYZTRIPLE lcsEndpoints; 1778 DWORD lcsGammaRed; 1779 DWORD lcsGammaGreen; 1780 DWORD lcsGammaBlue; 1781 WCHAR lcsFilename[MAX_PATH]; 1782 } LOGCOLORSPACEW,*LPLOGCOLORSPACEW; 1783 typedef struct tagEMRCREATECOLORSPACEW { 1784 EMR emr; 1785 DWORD ihCS; 1786 LOGCOLORSPACEW lcs; 1787 DWORD dwFlags; 1788 DWORD cbData; 1789 BYTE Data[1]; 1790 } EMRCREATECOLORSPACEW, *PEMRCREATECOLORSPACEW; 1791 typedef struct tagEMRCREATECOLORSPACE { 1792 EMR emr; 1793 DWORD ihCS; 1794 LOGCOLORSPACEA lcs; 1795 } EMRCREATECOLORSPACE,*PEMRCREATECOLORSPACE; 1796 typedef struct tagEMRCREATEDIBPATTERNBRUSHPT { 1797 EMR emr; 1798 DWORD ihBrush; 1799 DWORD iUsage; 1800 DWORD offBmi; 1801 DWORD cbBmi; 1802 DWORD offBits; 1803 DWORD cbBits; 1804 } EMRCREATEDIBPATTERNBRUSHPT,*PEMRCREATEDIBPATTERNBRUSHPT; 1805 typedef struct tagEMRCREATEMONOBRUSH { 1806 EMR emr; 1807 DWORD ihBrush; 1808 DWORD iUsage; 1809 DWORD offBmi; 1810 DWORD cbBmi; 1811 DWORD offBits; 1812 DWORD cbBits; 1813 } EMRCREATEMONOBRUSH,*PEMRCREATEMONOBRUSH; 1814 1815 #ifndef _PALETTEENTRY_DEFINED 1816 #define _PALETTEENTRY_DEFINED 1817 typedef struct tagPALETTEENTRY { 1818 BYTE peRed; 1819 BYTE peGreen; 1820 BYTE peBlue; 1821 BYTE peFlags; 1822 } PALETTEENTRY,*LPPALETTEENTRY,*PPALETTEENTRY; 1823 #endif 1824 1825 #ifndef _LOGPALETTE_DEFINED 1826 #define _LOGPALETTE_DEFINED 1827 typedef struct tagLOGPALETTE { 1828 WORD palVersion; 1829 WORD palNumEntries; 1830 _Field_size_opt_(palNumEntries) PALETTEENTRY palPalEntry[1]; 1831 } LOGPALETTE, *NPLOGPALETTE, *PLOGPALETTE, *LPLOGPALETTE; 1832 #endif 1833 1834 typedef struct tagEMRCREATEPALETTE { 1835 EMR emr; 1836 DWORD ihPal; 1837 LOGPALETTE lgpl; 1838 } EMRCREATEPALETTE,*PEMRCREATEPALETTE; 1839 typedef struct tagLOGPEN { 1840 UINT lopnStyle; 1841 POINT lopnWidth; 1842 COLORREF lopnColor; 1843 } LOGPEN,*PLOGPEN,*LPLOGPEN; 1844 typedef struct tagEMRCREATEPEN { 1845 EMR emr; 1846 DWORD ihPen; 1847 LOGPEN lopn; 1848 } EMRCREATEPEN,*PEMRCREATEPEN; 1849 typedef struct tagEMRELLIPSE { 1850 EMR emr; 1851 RECTL rclBox; 1852 } EMRELLIPSE,*PEMRELLIPSE,EMRRECTANGLE,*PEMRRECTANGLE; 1853 typedef struct tagEMREOF { 1854 EMR emr; 1855 DWORD nPalEntries; 1856 DWORD offPalEntries; 1857 DWORD nSizeLast; 1858 } EMREOF,*PEMREOF; 1859 typedef struct tagEMREXCLUDECLIPRECT { 1860 EMR emr; 1861 RECTL rclClip; 1862 } EMREXCLUDECLIPRECT,*PEMREXCLUDECLIPRECT,EMRINTERSECTCLIPRECT,*PEMRINTERSECTCLIPRECT; 1863 typedef struct tagPANOSE { 1864 BYTE bFamilyType; 1865 BYTE bSerifStyle; 1866 BYTE bWeight; 1867 BYTE bProportion; 1868 BYTE bContrast; 1869 BYTE bStrokeVariation; 1870 BYTE bArmStyle; 1871 BYTE bLetterform; 1872 BYTE bMidline; 1873 BYTE bXHeight; 1874 } PANOSE, *LPPANOSE; 1875 typedef struct tagLOGFONTA { 1876 LONG lfHeight; 1877 LONG lfWidth; 1878 LONG lfEscapement; 1879 LONG lfOrientation; 1880 LONG lfWeight; 1881 BYTE lfItalic; 1882 BYTE lfUnderline; 1883 BYTE lfStrikeOut; 1884 BYTE lfCharSet; 1885 BYTE lfOutPrecision; 1886 BYTE lfClipPrecision; 1887 BYTE lfQuality; 1888 BYTE lfPitchAndFamily; 1889 CHAR lfFaceName[LF_FACESIZE]; 1890 } LOGFONTA,*PLOGFONTA,*LPLOGFONTA; 1891 typedef struct tagLOGFONTW { 1892 LONG lfHeight; 1893 LONG lfWidth; 1894 LONG lfEscapement; 1895 LONG lfOrientation; 1896 LONG lfWeight; 1897 BYTE lfItalic; 1898 BYTE lfUnderline; 1899 BYTE lfStrikeOut; 1900 BYTE lfCharSet; 1901 BYTE lfOutPrecision; 1902 BYTE lfClipPrecision; 1903 BYTE lfQuality; 1904 BYTE lfPitchAndFamily; 1905 WCHAR lfFaceName[LF_FACESIZE]; 1906 } LOGFONTW,*PLOGFONTW,*LPLOGFONTW; 1907 typedef struct tagEXTLOGFONTA { 1908 LOGFONTA elfLogFont; 1909 BYTE elfFullName[LF_FULLFACESIZE]; 1910 BYTE elfStyle[LF_FACESIZE]; 1911 DWORD elfVersion; 1912 DWORD elfStyleSize; 1913 DWORD elfMatch; 1914 DWORD elfReserved; 1915 BYTE elfVendorId[ELF_VENDOR_SIZE]; 1916 DWORD elfCulture; 1917 PANOSE elfPanose; 1918 } EXTLOGFONTA,*PEXTLOGFONTA,*LPEXTLOGFONTA; 1919 typedef struct tagEXTLOGFONTW { 1920 LOGFONTW elfLogFont; 1921 WCHAR elfFullName[LF_FULLFACESIZE]; 1922 WCHAR elfStyle[LF_FACESIZE]; 1923 DWORD elfVersion; 1924 DWORD elfStyleSize; 1925 DWORD elfMatch; 1926 DWORD elfReserved; 1927 BYTE elfVendorId[ELF_VENDOR_SIZE]; 1928 DWORD elfCulture; 1929 PANOSE elfPanose; 1930 } EXTLOGFONTW,*PEXTLOGFONTW,*LPEXTLOGFONTW; 1931 typedef struct tagEMREXTCREATEFONTINDIRECTW { 1932 EMR emr; 1933 DWORD ihFont; 1934 EXTLOGFONTW elfw; 1935 } EMREXTCREATEFONTINDIRECTW,*PEMREXTCREATEFONTINDIRECTW; 1936 typedef struct tagEXTLOGPEN { 1937 DWORD elpPenStyle; 1938 DWORD elpWidth; 1939 UINT elpBrushStyle; 1940 COLORREF elpColor; 1941 ULONG_PTR elpHatch; 1942 DWORD elpNumEntries; 1943 DWORD elpStyleEntry[1]; 1944 } EXTLOGPEN,*PEXTLOGPEN,*LPEXTLOGPEN,*NPEXTLOGPEN; 1945 typedef struct tagEMREXTCREATEPEN { 1946 EMR emr; 1947 DWORD ihPen; 1948 DWORD offBmi; 1949 DWORD cbBmi; 1950 DWORD offBits; 1951 DWORD cbBits; 1952 EXTLOGPEN elp; 1953 } EMREXTCREATEPEN,*PEMREXTCREATEPEN; 1954 typedef struct tagEMREXTFLOODFILL { 1955 EMR emr; 1956 POINTL ptlStart; 1957 COLORREF crColor; 1958 DWORD iMode; 1959 } EMREXTFLOODFILL,*PEMREXTFLOODFILL; 1960 typedef struct tagEMREXTSELECTCLIPRGN { 1961 EMR emr; 1962 DWORD cbRgnData; 1963 DWORD iMode; 1964 BYTE RgnData[1]; 1965 } EMREXTSELECTCLIPRGN,*PEMREXTSELECTCLIPRGN; 1966 typedef struct tagEMRTEXT { 1967 POINTL ptlReference; 1968 DWORD nChars; 1969 DWORD offString; 1970 DWORD fOptions; 1971 RECTL rcl; 1972 DWORD offDx; 1973 } EMRTEXT,*PEMRTEXT; 1974 typedef struct tagEMREXTTEXTOUTA { 1975 EMR emr; 1976 RECTL rclBounds; 1977 DWORD iGraphicsMode; 1978 FLOAT exScale; 1979 FLOAT eyScale; 1980 EMRTEXT emrtext; 1981 } EMREXTTEXTOUTA,*PEMREXTTEXTOUTA,EMREXTTEXTOUTW,*PEMREXTTEXTOUTW; 1982 typedef struct tagEMRFILLPATH { 1983 EMR emr; 1984 RECTL rclBounds; 1985 } EMRFILLPATH,*PEMRFILLPATH,EMRSTROKEANDFILLPATH,*PEMRSTROKEANDFILLPATH,EMRSTROKEPATH,*PEMRSTROKEPATH; 1986 typedef struct tagEMRFILLRGN { 1987 EMR emr; 1988 RECTL rclBounds; 1989 DWORD cbRgnData; 1990 DWORD ihBrush; 1991 BYTE RgnData[1]; 1992 } EMRFILLRGN,*PEMRFILLRGN; 1993 typedef struct tagEMRFORMAT { 1994 DWORD dSignature; 1995 DWORD nVersion; 1996 DWORD cbData; 1997 DWORD offData; 1998 } EMRFORMAT, *PEMRFORMAT; 1999 2000 2001 typedef struct tagEMRSETCOLORSPACE 2002 { 2003 EMR emr; 2004 DWORD ihCS; 2005 } EMRSETCOLORSPACE, *PEMRSETCOLORSPACE, EMRSELECTCOLORSPACE, *PEMRSELECTCOLORSPACE, 2006 EMRDELETECOLORSPACE, *PEMRDELETECOLORSPACE; 2007 2008 typedef struct tagEMRFRAMERGN { 2009 EMR emr; 2010 RECTL rclBounds; 2011 DWORD cbRgnData; 2012 DWORD ihBrush; 2013 SIZEL szlStroke; 2014 BYTE RgnData[1]; 2015 } EMRFRAMERGN,*PEMRFRAMERGN; 2016 typedef struct tagEMRGDICOMMENT { 2017 EMR emr; 2018 DWORD cbData; 2019 BYTE Data[1]; 2020 } EMRGDICOMMENT,*PEMRGDICOMMENT; 2021 typedef struct tagEMRINVERTRGN { 2022 EMR emr; 2023 RECTL rclBounds; 2024 DWORD cbRgnData; 2025 BYTE RgnData[1]; 2026 } EMRINVERTRGN,*PEMRINVERTRGN,EMRPAINTRGN,*PEMRPAINTRGN; 2027 typedef struct tagEMRLINETO { 2028 EMR emr; 2029 POINTL ptl; 2030 } EMRLINETO,*PEMRLINETO,EMRMOVETOEX,*PEMRMOVETOEX; 2031 typedef struct tagEMRMASKBLT { 2032 EMR emr; 2033 RECTL rclBounds; 2034 LONG xDest; 2035 LONG yDest; 2036 LONG cxDest; 2037 LONG cyDest; 2038 DWORD dwRop; 2039 LONG xSrc; 2040 LONG ySrc; 2041 XFORM xformSrc; 2042 COLORREF crBkColorSrc; 2043 DWORD iUsageSrc; 2044 DWORD offBmiSrc; 2045 DWORD cbBmiSrc; 2046 DWORD offBitsSrc; 2047 DWORD cbBitsSrc; 2048 LONG xMask; 2049 LONG yMask; 2050 DWORD iUsageMask; 2051 DWORD offBmiMask; 2052 DWORD cbBmiMask; 2053 DWORD offBitsMask; 2054 DWORD cbBitsMask; 2055 } EMRMASKBLT,*PEMRMASKBLT; 2056 typedef struct tagEMRMODIFYWORLDTRANSFORM { 2057 EMR emr; 2058 XFORM xform; 2059 DWORD iMode; 2060 } EMRMODIFYWORLDTRANSFORM,*PEMRMODIFYWORLDTRANSFORM; 2061 typedef struct tagEMROFFSETCLIPRGN { 2062 EMR emr; 2063 POINTL ptlOffset; 2064 } EMROFFSETCLIPRGN,*PEMROFFSETCLIPRGN; 2065 typedef struct tagEMRPLGBLT { 2066 EMR emr; 2067 RECTL rclBounds; 2068 POINTL aptlDest[3]; 2069 LONG xSrc; 2070 LONG ySrc; 2071 LONG cxSrc; 2072 LONG cySrc; 2073 XFORM xformSrc; 2074 COLORREF crBkColorSrc; 2075 DWORD iUsageSrc; 2076 DWORD offBmiSrc; 2077 DWORD cbBmiSrc; 2078 DWORD offBitsSrc; 2079 DWORD cbBitsSrc; 2080 LONG xMask; 2081 LONG yMask; 2082 DWORD iUsageMask; 2083 DWORD offBmiMask; 2084 DWORD cbBmiMask; 2085 DWORD offBitsMask; 2086 DWORD cbBitsMask; 2087 } EMRPLGBLT,*PEMRPLGBLT; 2088 typedef struct tagEMRPOLYDRAW { 2089 EMR emr; 2090 RECTL rclBounds; 2091 DWORD cptl; 2092 POINTL aptl[1]; 2093 BYTE abTypes[1]; 2094 } EMRPOLYDRAW,*PEMRPOLYDRAW; 2095 typedef struct tagEMRPOLYDRAW16 { 2096 EMR emr; 2097 RECTL rclBounds; 2098 DWORD cpts; 2099 POINTS apts[1]; 2100 BYTE abTypes[1]; 2101 } EMRPOLYDRAW16,*PEMRPOLYDRAW16; 2102 typedef struct tagEMRPOLYLINE { 2103 EMR emr; 2104 RECTL rclBounds; 2105 DWORD cptl; 2106 POINTL aptl[1]; 2107 } EMRPOLYLINE,*PEMRPOLYLINE,EMRPOLYBEZIER,*PEMRPOLYBEZIER,EMRPOLYGON,*PEMRPOLYGON,EMRPOLYBEZIERTO,*PEMRPOLYBEZIERTO,EMRPOLYLINETO,*PEMRPOLYLINETO; 2108 typedef struct tagEMRPOLYLINE16 { 2109 EMR emr; 2110 RECTL rclBounds; 2111 DWORD cpts; 2112 POINTS apts[1]; 2113 } EMRPOLYLINE16,*PEMRPOLYLINE16,EMRPOLYBEZIER16,*PEMRPOLYBEZIER16,EMRPOLYGON16,*PEMRPOLYGON16,EMRPOLYBEZIERTO16,*PEMRPOLYBEZIERTO16,EMRPOLYLINETO16,*PEMRPOLYLINETO16; 2114 typedef struct tagEMRPOLYPOLYLINE { 2115 EMR emr; 2116 RECTL rclBounds; 2117 DWORD nPolys; 2118 DWORD cptl; 2119 DWORD aPolyCounts[1]; 2120 POINTL aptl[1]; 2121 } EMRPOLYPOLYLINE,*PEMRPOLYPOLYLINE,EMRPOLYPOLYGON,*PEMRPOLYPOLYGON; 2122 typedef struct tagEMRPOLYPOLYLINE16 { 2123 EMR emr; 2124 RECTL rclBounds; 2125 DWORD nPolys; 2126 DWORD cpts; 2127 DWORD aPolyCounts[1]; 2128 POINTS apts[1]; 2129 } EMRPOLYPOLYLINE16,*PEMRPOLYPOLYLINE16,EMRPOLYPOLYGON16,*PEMRPOLYPOLYGON16; 2130 typedef struct tagEMRPOLYTEXTOUTA { 2131 EMR emr; 2132 RECTL rclBounds; 2133 DWORD iGraphicsMode; 2134 FLOAT exScale; 2135 FLOAT eyScale; 2136 LONG cStrings; 2137 EMRTEXT aemrtext[1]; 2138 } EMRPOLYTEXTOUTA,*PEMRPOLYTEXTOUTA,EMRPOLYTEXTOUTW,*PEMRPOLYTEXTOUTW; 2139 typedef struct tagEMRRESIZEPALETTE { 2140 EMR emr; 2141 DWORD ihPal; 2142 DWORD cEntries; 2143 } EMRRESIZEPALETTE,*PEMRRESIZEPALETTE; 2144 typedef struct tagEMRRESTOREDC { 2145 EMR emr; 2146 LONG iRelative; 2147 } EMRRESTOREDC,*PEMRRESTOREDC; 2148 typedef struct tagEMRROUNDRECT { 2149 EMR emr; 2150 RECTL rclBox; 2151 SIZEL szlCorner; 2152 } EMRROUNDRECT,*PEMRROUNDRECT; 2153 typedef struct tagEMRSCALEVIEWPORTEXTEX { 2154 EMR emr; 2155 LONG xNum; 2156 LONG xDenom; 2157 LONG yNum; 2158 LONG yDenom; 2159 } EMRSCALEVIEWPORTEXTEX,*PEMRSCALEVIEWPORTEXTEX,EMRSCALEWINDOWEXTEX,*PEMRSCALEWINDOWEXTEX; 2160 2161 2162 typedef struct tagEMRSELECTOBJECT { 2163 EMR emr; 2164 DWORD ihObject; 2165 } EMRSELECTOBJECT,*PEMRSELECTOBJECT,EMRDELETEOBJECT,*PEMRDELETEOBJECT; 2166 typedef struct tagEMRSELECTPALETTE { 2167 EMR emr; 2168 DWORD ihPal; 2169 } EMRSELECTPALETTE,*PEMRSELECTPALETTE; 2170 typedef struct tagEMRSETARCDIRECTION { 2171 EMR emr; 2172 DWORD iArcDirection; 2173 } EMRSETARCDIRECTION,*PEMRSETARCDIRECTION; 2174 typedef struct tagEMRSETTEXTCOLOR { 2175 EMR emr; 2176 COLORREF crColor; 2177 } EMRSETBKCOLOR,*PEMRSETBKCOLOR,EMRSETTEXTCOLOR,*PEMRSETTEXTCOLOR; 2178 typedef struct tagEMRSETCOLORADJUSTMENT { 2179 EMR emr; 2180 COLORADJUSTMENT ColorAdjustment; 2181 } EMRSETCOLORADJUSTMENT,*PEMRSETCOLORADJUSTMENT; 2182 typedef struct tagEMRSETDIBITSTODEVICE { 2183 EMR emr; 2184 RECTL rclBounds; 2185 LONG xDest; 2186 LONG yDest; 2187 LONG xSrc; 2188 LONG ySrc; 2189 LONG cxSrc; 2190 LONG cySrc; 2191 DWORD offBmiSrc; 2192 DWORD cbBmiSrc; 2193 DWORD offBitsSrc; 2194 DWORD cbBitsSrc; 2195 DWORD iUsageSrc; 2196 DWORD iStartScan; 2197 DWORD cScans; 2198 } EMRSETDIBITSTODEVICE,*PEMRSETDIBITSTODEVICE; 2199 typedef struct tagEMRSETMAPPERFLAGS { 2200 EMR emr; 2201 DWORD dwFlags; 2202 } EMRSETMAPPERFLAGS,*PEMRSETMAPPERFLAGS; 2203 typedef struct tagEMRSETMITERLIMIT { 2204 EMR emr; 2205 FLOAT eMiterLimit; 2206 } EMRSETMITERLIMIT,*PEMRSETMITERLIMIT; 2207 typedef struct tagEMRSETPALETTEENTRIES { 2208 EMR emr; 2209 DWORD ihPal; 2210 DWORD iStart; 2211 DWORD cEntries; 2212 PALETTEENTRY aPalEntries[1]; 2213 } EMRSETPALETTEENTRIES,*PEMRSETPALETTEENTRIES; 2214 typedef struct tagEMRSETPIXELV { 2215 EMR emr; 2216 POINTL ptlPixel; 2217 COLORREF crColor; 2218 } EMRSETPIXELV,*PEMRSETPIXELV; 2219 typedef struct tagEMRSETVIEWPORTEXTEX { 2220 EMR emr; 2221 SIZEL szlExtent; 2222 } EMRSETVIEWPORTEXTEX,*PEMRSETVIEWPORTEXTEX,EMRSETWINDOWEXTEX,*PEMRSETWINDOWEXTEX; 2223 typedef struct tagEMRSETVIEWPORTORGEX { 2224 EMR emr; 2225 POINTL ptlOrigin; 2226 } EMRSETVIEWPORTORGEX,*PEMRSETVIEWPORTORGEX,EMRSETWINDOWORGEX,*PEMRSETWINDOWORGEX,EMRSETBRUSHORGEX,*PEMRSETBRUSHORGEX; 2227 typedef struct tagEMRSETWORLDTRANSFORM { 2228 EMR emr; 2229 XFORM xform; 2230 } EMRSETWORLDTRANSFORM,*PEMRSETWORLDTRANSFORM; 2231 typedef struct tagEMRSTRETCHBLT { 2232 EMR emr; 2233 RECTL rclBounds; 2234 LONG xDest; 2235 LONG yDest; 2236 LONG cxDest; 2237 LONG cyDest; 2238 DWORD dwRop; 2239 LONG xSrc; 2240 LONG ySrc; 2241 XFORM xformSrc; 2242 COLORREF crBkColorSrc; 2243 DWORD iUsageSrc; 2244 DWORD offBmiSrc; 2245 DWORD cbBmiSrc; 2246 DWORD offBitsSrc; 2247 DWORD cbBitsSrc; 2248 LONG cxSrc; 2249 LONG cySrc; 2250 } EMRSTRETCHBLT,*PEMRSTRETCHBLT; 2251 typedef struct tagEMRALPHABLEND { 2252 EMR emr; 2253 RECTL rclBounds; 2254 LONG xDest; 2255 LONG yDest; 2256 LONG cxDest; 2257 LONG cyDest; 2258 DWORD dwRop; 2259 LONG xSrc; 2260 LONG ySrc; 2261 XFORM xformSrc; 2262 COLORREF crBkColorSrc; 2263 DWORD iUsageSrc; 2264 DWORD offBmiSrc; 2265 DWORD cbBmiSrc; 2266 DWORD offBitsSrc; 2267 DWORD cbBitsSrc; 2268 LONG cxSrc; 2269 LONG cySrc; 2270 } EMRALPHABLEND, *PEMRALPHABLEND; 2271 typedef struct tagEMRSTRETCHDIBITS { 2272 EMR emr; 2273 RECTL rclBounds; 2274 LONG xDest; 2275 LONG yDest; 2276 LONG xSrc; 2277 LONG ySrc; 2278 LONG cxSrc; 2279 LONG cySrc; 2280 DWORD offBmiSrc; 2281 DWORD cbBmiSrc; 2282 DWORD offBitsSrc; 2283 DWORD cbBitsSrc; 2284 DWORD iUsageSrc; 2285 DWORD dwRop; 2286 LONG cxDest; 2287 LONG cyDest; 2288 } EMRSTRETCHDIBITS,*PEMRSTRETCHDIBITS; 2289 typedef struct tagABORTPATH { 2290 EMR emr; 2291 } EMRABORTPATH,*PEMRABORTPATH,EMRBEGINPATH,*PEMRBEGINPATH,EMRENDPATH,*PEMRENDPATH,EMRCLOSEFIGURE,*PEMRCLOSEFIGURE,EMRFLATTENPATH,*PEMRFLATTENPATH,EMRWIDENPATH,*PEMRWIDENPATH,EMRSETMETARGN,*PEMRSETMETARGN,EMRSAVEDC,*PEMRSAVEDC,EMRREALIZEPALETTE,*PEMRREALIZEPALETTE; 2292 typedef struct tagEMRSELECTCLIPPATH { 2293 EMR emr; 2294 DWORD iMode; 2295 } EMRSELECTCLIPPATH,*PEMRSELECTCLIPPATH, EMRSETBKMODE,*PEMRSETBKMODE, EMRSETMAPMODE, *PEMRSETMAPMODE, 2296 EMRSETPOLYFILLMODE, *PEMRSETPOLYFILLMODE, EMRSETROP2, *PEMRSETROP2, EMRSETSTRETCHBLTMODE, *PEMRSETSTRETCHBLTMODE, 2297 EMRSETICMMODE, *PEMRSETICMMODE, EMRSETTEXTALIGN, 2298 #if(WINVER >= 0x0500) 2299 EMRSETLAYOUT, *PEMRSETLAYOUT, 2300 #endif 2301 *PEMRSETTEXTALIGN; 2302 2303 #include "pshpack2.h" 2304 typedef struct tagMETAHEADER { 2305 WORD mtType; 2306 WORD mtHeaderSize; 2307 WORD mtVersion; 2308 DWORD mtSize; 2309 WORD mtNoObjects; 2310 DWORD mtMaxRecord; 2311 WORD mtNoParameters; 2312 } METAHEADER,*PMETAHEADER,*LPMETAHEADER; 2313 #include "poppack.h" 2314 typedef struct tagENHMETAHEADER { 2315 DWORD iType; 2316 DWORD nSize; 2317 RECTL rclBounds; 2318 RECTL rclFrame; 2319 DWORD dSignature; 2320 DWORD nVersion; 2321 DWORD nBytes; 2322 DWORD nRecords; 2323 WORD nHandles; 2324 WORD sReserved; 2325 DWORD nDescription; 2326 DWORD offDescription; 2327 DWORD nPalEntries; 2328 SIZEL szlDevice; 2329 SIZEL szlMillimeters; 2330 #if (WINVER >= 0x0400) 2331 DWORD cbPixelFormat; 2332 DWORD offPixelFormat; 2333 DWORD bOpenGL; 2334 #endif 2335 #if (WINVER >= 0x0500) 2336 SIZEL szlMicrometers; 2337 #endif 2338 } ENHMETAHEADER,*PENHMETAHEADER,*LPENHMETAHEADER; 2339 typedef struct tagMETARECORD { 2340 DWORD rdSize; 2341 WORD rdFunction; 2342 WORD rdParm[1]; 2343 } METARECORD,*PMETARECORD,*LPMETARECORD; 2344 typedef struct tagENHMETARECORD { 2345 DWORD iType; 2346 DWORD nSize; 2347 DWORD dParm[1]; 2348 } ENHMETARECORD,*LPENHMETARECORD; 2349 typedef struct tagHANDLETABLE { 2350 HGDIOBJ objectHandle[1]; 2351 } HANDLETABLE,*PHANDLETABLE, *LPHANDLETABLE; 2352 2353 #ifndef _TEXTMETRIC_DEFINED 2354 #define _TEXTMETRIC_DEFINED 2355 typedef struct tagTEXTMETRICA { 2356 LONG tmHeight; 2357 LONG tmAscent; 2358 LONG tmDescent; 2359 LONG tmInternalLeading; 2360 LONG tmExternalLeading; 2361 LONG tmAveCharWidth; 2362 LONG tmMaxCharWidth; 2363 LONG tmWeight; 2364 LONG tmOverhang; 2365 LONG tmDigitizedAspectX; 2366 LONG tmDigitizedAspectY; 2367 BYTE tmFirstChar; 2368 BYTE tmLastChar; 2369 BYTE tmDefaultChar; 2370 BYTE tmBreakChar; 2371 BYTE tmItalic; 2372 BYTE tmUnderlined; 2373 BYTE tmStruckOut; 2374 BYTE tmPitchAndFamily; 2375 BYTE tmCharSet; 2376 } TEXTMETRICA,*PTEXTMETRICA,*LPTEXTMETRICA; 2377 typedef struct tagTEXTMETRICW { 2378 LONG tmHeight; 2379 LONG tmAscent; 2380 LONG tmDescent; 2381 LONG tmInternalLeading; 2382 LONG tmExternalLeading; 2383 LONG tmAveCharWidth; 2384 LONG tmMaxCharWidth; 2385 LONG tmWeight; 2386 LONG tmOverhang; 2387 LONG tmDigitizedAspectX; 2388 LONG tmDigitizedAspectY; 2389 WCHAR tmFirstChar; 2390 WCHAR tmLastChar; 2391 WCHAR tmDefaultChar; 2392 WCHAR tmBreakChar; 2393 BYTE tmItalic; 2394 BYTE tmUnderlined; 2395 BYTE tmStruckOut; 2396 BYTE tmPitchAndFamily; 2397 BYTE tmCharSet; 2398 } TEXTMETRICW,*PTEXTMETRICW,*LPTEXTMETRICW; 2399 #endif 2400 2401 typedef struct _RGNDATAHEADER { 2402 DWORD dwSize; 2403 DWORD iType; 2404 DWORD nCount; 2405 DWORD nRgnSize; 2406 RECT rcBound; 2407 } RGNDATAHEADER, *PRGNDATAHEADER; 2408 typedef struct _RGNDATA { 2409 RGNDATAHEADER rdh; 2410 char Buffer[1]; 2411 } RGNDATA,*PRGNDATA, *LPRGNDATA; 2412 /* for GetRandomRgn */ 2413 #define SYSRGN 4 2414 typedef struct tagGCP_RESULTSA { 2415 DWORD lStructSize; 2416 LPSTR lpOutString; 2417 UINT *lpOrder; 2418 INT *lpDx; 2419 INT *lpCaretPos; 2420 LPSTR lpClass; 2421 LPWSTR lpGlyphs; 2422 UINT nGlyphs; 2423 UINT nMaxFit; 2424 } GCP_RESULTSA,*LPGCP_RESULTSA; 2425 typedef struct tagGCP_RESULTSW { 2426 DWORD lStructSize; 2427 LPWSTR lpOutString; 2428 UINT *lpOrder; 2429 INT *lpDx; 2430 INT *lpCaretPos; 2431 LPWSTR lpClass; 2432 LPWSTR lpGlyphs; 2433 UINT nGlyphs; 2434 UINT nMaxFit; 2435 } GCP_RESULTSW,*LPGCP_RESULTSW; 2436 typedef struct _GLYPHMETRICS { 2437 UINT gmBlackBoxX; 2438 UINT gmBlackBoxY; 2439 POINT gmptGlyphOrigin; 2440 short gmCellIncX; 2441 short gmCellIncY; 2442 } GLYPHMETRICS,*LPGLYPHMETRICS; 2443 #if (_WIN32_WINNT >= 0x0500) 2444 typedef struct tagWCRANGE 2445 { 2446 WCHAR wcLow; 2447 USHORT cGlyphs; 2448 } WCRANGE, *PWCRANGE, *LPWCRANGE; 2449 typedef struct tagGLYPHSET 2450 { 2451 DWORD cbThis; 2452 DWORD flAccel; 2453 DWORD cGlyphsSupported; 2454 DWORD cRanges; 2455 WCRANGE ranges[1]; 2456 } GLYPHSET, *PGLYPHSET, *LPGLYPHSET; 2457 #endif 2458 typedef struct tagKERNINGPAIR { 2459 WORD wFirst; 2460 WORD wSecond; 2461 int iKernAmount; 2462 } KERNINGPAIR,*LPKERNINGPAIR; 2463 typedef struct _FIXED { 2464 WORD fract; 2465 short value; 2466 } FIXED; 2467 typedef struct _MAT2 { 2468 FIXED eM11; 2469 FIXED eM12; 2470 FIXED eM21; 2471 FIXED eM22; 2472 } MAT2,*LPMAT2; 2473 typedef struct _OUTLINETEXTMETRICA { 2474 UINT otmSize; 2475 TEXTMETRICA otmTextMetrics; 2476 BYTE otmFiller; 2477 PANOSE otmPanoseNumber; 2478 UINT otmfsSelection; 2479 UINT otmfsType; 2480 int otmsCharSlopeRise; 2481 int otmsCharSlopeRun; 2482 int otmItalicAngle; 2483 UINT otmEMSquare; 2484 int otmAscent; 2485 int otmDescent; 2486 UINT otmLineGap; 2487 UINT otmsCapEmHeight; 2488 UINT otmsXHeight; 2489 RECT otmrcFontBox; 2490 int otmMacAscent; 2491 int otmMacDescent; 2492 UINT otmMacLineGap; 2493 UINT otmusMinimumPPEM; 2494 POINT otmptSubscriptSize; 2495 POINT otmptSubscriptOffset; 2496 POINT otmptSuperscriptSize; 2497 POINT otmptSuperscriptOffset; 2498 UINT otmsStrikeoutSize; 2499 int otmsStrikeoutPosition; 2500 int otmsUnderscoreSize; 2501 int otmsUnderscorePosition; 2502 PSTR otmpFamilyName; 2503 PSTR otmpFaceName; 2504 PSTR otmpStyleName; 2505 PSTR otmpFullName; 2506 } OUTLINETEXTMETRICA,*POUTLINETEXTMETRICA,*LPOUTLINETEXTMETRICA; 2507 typedef struct _OUTLINETEXTMETRICW { 2508 UINT otmSize; 2509 TEXTMETRICW otmTextMetrics; 2510 BYTE otmFiller; 2511 PANOSE otmPanoseNumber; 2512 UINT otmfsSelection; 2513 UINT otmfsType; 2514 int otmsCharSlopeRise; 2515 int otmsCharSlopeRun; 2516 int otmItalicAngle; 2517 UINT otmEMSquare; 2518 int otmAscent; 2519 int otmDescent; 2520 UINT otmLineGap; 2521 UINT otmsCapEmHeight; 2522 UINT otmsXHeight; 2523 RECT otmrcFontBox; 2524 int otmMacAscent; 2525 int otmMacDescent; 2526 UINT otmMacLineGap; 2527 UINT otmusMinimumPPEM; 2528 POINT otmptSubscriptSize; 2529 POINT otmptSubscriptOffset; 2530 POINT otmptSuperscriptSize; 2531 POINT otmptSuperscriptOffset; 2532 UINT otmsStrikeoutSize; 2533 int otmsStrikeoutPosition; 2534 int otmsUnderscoreSize; 2535 int otmsUnderscorePosition; 2536 PSTR otmpFamilyName; 2537 PSTR otmpFaceName; 2538 PSTR otmpStyleName; 2539 PSTR otmpFullName; 2540 } OUTLINETEXTMETRICW,*POUTLINETEXTMETRICW,*LPOUTLINETEXTMETRICW; 2541 typedef struct _RASTERIZER_STATUS { 2542 short nSize; 2543 short wFlags; 2544 short nLanguageID; 2545 } RASTERIZER_STATUS,*LPRASTERIZER_STATUS; 2546 typedef struct _POLYTEXTA { 2547 int x; 2548 int y; 2549 UINT n; 2550 LPCSTR lpstr; 2551 UINT uiFlags; 2552 RECT rcl; 2553 int *pdx; 2554 } POLYTEXTA, *PPOLYTEXTA, *LPPOLYTEXTA; 2555 typedef struct _POLYTEXTW { 2556 int x; 2557 int y; 2558 UINT n; 2559 LPCWSTR lpstr; 2560 UINT uiFlags; 2561 RECT rcl; 2562 int *pdx; 2563 } POLYTEXTW, *PPOLYTEXTW, *LPPOLYTEXTW; 2564 typedef struct tagPIXELFORMATDESCRIPTOR { 2565 WORD nSize; 2566 WORD nVersion; 2567 DWORD dwFlags; 2568 BYTE iPixelType; 2569 BYTE cColorBits; 2570 BYTE cRedBits; 2571 BYTE cRedShift; 2572 BYTE cGreenBits; 2573 BYTE cGreenShift; 2574 BYTE cBlueBits; 2575 BYTE cBlueShift; 2576 BYTE cAlphaBits; 2577 BYTE cAlphaShift; 2578 BYTE cAccumBits; 2579 BYTE cAccumRedBits; 2580 BYTE cAccumGreenBits; 2581 BYTE cAccumBlueBits; 2582 BYTE cAccumAlphaBits; 2583 BYTE cDepthBits; 2584 BYTE cStencilBits; 2585 BYTE cAuxBuffers; 2586 BYTE iLayerType; 2587 BYTE bReserved; 2588 DWORD dwLayerMask; 2589 DWORD dwVisibleMask; 2590 DWORD dwDamageMask; 2591 } PIXELFORMATDESCRIPTOR,*PPIXELFORMATDESCRIPTOR,*LPPIXELFORMATDESCRIPTOR; 2592 2593 typedef struct tagEMRPIXELFORMAT 2594 { 2595 EMR emr; 2596 PIXELFORMATDESCRIPTOR pfd; 2597 } EMRPIXELFORMAT, *PEMRPIXELFORMAT; 2598 2599 typedef struct tagMETAFILEPICT { 2600 LONG mm; 2601 LONG xExt; 2602 LONG yExt; 2603 HMETAFILE hMF; 2604 } METAFILEPICT,*LPMETAFILEPICT; 2605 typedef struct tagLOCALESIGNATURE { 2606 DWORD lsUsb[4]; 2607 DWORD lsCsbDefault[2]; 2608 DWORD lsCsbSupported[2]; 2609 } LOCALESIGNATURE,*PLOCALESIGNATURE,*LPLOCALESIGNATURE; 2610 typedef LONG LCSTYPE; 2611 #include "pshpack4.h" 2612 typedef struct tagNEWTEXTMETRICA { 2613 LONG tmHeight; 2614 LONG tmAscent; 2615 LONG tmDescent; 2616 LONG tmInternalLeading; 2617 LONG tmExternalLeading; 2618 LONG tmAveCharWidth; 2619 LONG tmMaxCharWidth; 2620 LONG tmWeight; 2621 LONG tmOverhang; 2622 LONG tmDigitizedAspectX; 2623 LONG tmDigitizedAspectY; 2624 BYTE tmFirstChar; 2625 BYTE tmLastChar; 2626 BYTE tmDefaultChar; 2627 BYTE tmBreakChar; 2628 BYTE tmItalic; 2629 BYTE tmUnderlined; 2630 BYTE tmStruckOut; 2631 BYTE tmPitchAndFamily; 2632 BYTE tmCharSet; 2633 DWORD ntmFlags; 2634 UINT ntmSizeEM; 2635 UINT ntmCellHeight; 2636 UINT ntmAvgWidth; 2637 } NEWTEXTMETRICA,*PNEWTEXTMETRICA,*LPNEWTEXTMETRICA; 2638 typedef struct tagNEWTEXTMETRICW { 2639 LONG tmHeight; 2640 LONG tmAscent; 2641 LONG tmDescent; 2642 LONG tmInternalLeading; 2643 LONG tmExternalLeading; 2644 LONG tmAveCharWidth; 2645 LONG tmMaxCharWidth; 2646 LONG tmWeight; 2647 LONG tmOverhang; 2648 LONG tmDigitizedAspectX; 2649 LONG tmDigitizedAspectY; 2650 WCHAR tmFirstChar; 2651 WCHAR tmLastChar; 2652 WCHAR tmDefaultChar; 2653 WCHAR tmBreakChar; 2654 BYTE tmItalic; 2655 BYTE tmUnderlined; 2656 BYTE tmStruckOut; 2657 BYTE tmPitchAndFamily; 2658 BYTE tmCharSet; 2659 DWORD ntmFlags; 2660 UINT ntmSizeEM; 2661 UINT ntmCellHeight; 2662 UINT ntmAvgWidth; 2663 } NEWTEXTMETRICW,*PNEWTEXTMETRICW,*LPNEWTEXTMETRICW; 2664 #include "poppack.h" 2665 typedef struct tagNEWTEXTMETRICEXA { 2666 NEWTEXTMETRICA ntmTm; 2667 FONTSIGNATURE ntmFontSig; 2668 } NEWTEXTMETRICEXA; 2669 typedef struct tagNEWTEXTMETRICEXW { 2670 NEWTEXTMETRICW ntmTm; 2671 FONTSIGNATURE ntmFontSig; 2672 } NEWTEXTMETRICEXW; 2673 typedef struct tagPELARRAY { 2674 LONG paXCount; 2675 LONG paYCount; 2676 LONG paXExt; 2677 LONG paYExt; 2678 BYTE paRGBs; 2679 } PELARRAY,*PPELARRAY,*LPPELARRAY; 2680 typedef struct tagENUMLOGFONTA { 2681 LOGFONTA elfLogFont; 2682 BYTE elfFullName[LF_FULLFACESIZE]; 2683 BYTE elfStyle[LF_FACESIZE]; 2684 } ENUMLOGFONTA,*LPENUMLOGFONTA; 2685 typedef struct tagENUMLOGFONTW { 2686 LOGFONTW elfLogFont; 2687 WCHAR elfFullName[LF_FULLFACESIZE]; 2688 WCHAR elfStyle[LF_FACESIZE]; 2689 } ENUMLOGFONTW,*LPENUMLOGFONTW; 2690 typedef struct tagENUMLOGFONTEXA { 2691 LOGFONTA elfLogFont; 2692 BYTE elfFullName[LF_FULLFACESIZE]; 2693 BYTE elfStyle[LF_FACESIZE]; 2694 BYTE elfScript[LF_FACESIZE]; 2695 } ENUMLOGFONTEXA,*LPENUMLOGFONTEXA; 2696 typedef struct tagENUMLOGFONTEXW { 2697 LOGFONTW elfLogFont; 2698 WCHAR elfFullName[LF_FULLFACESIZE]; 2699 WCHAR elfStyle[LF_FACESIZE]; 2700 WCHAR elfScript[LF_FACESIZE]; 2701 } ENUMLOGFONTEXW,*LPENUMLOGFONTEXW; 2702 typedef struct tagPOINTFX { 2703 FIXED x; 2704 FIXED y; 2705 } POINTFX,*LPPOINTFX; 2706 typedef struct tagTTPOLYCURVE { 2707 WORD wType; 2708 WORD cpfx; 2709 POINTFX apfx[1]; 2710 } TTPOLYCURVE,*LPTTPOLYCURVE; 2711 typedef struct tagTTPOLYGONHEADER { 2712 DWORD cb; 2713 DWORD dwType; 2714 POINTFX pfxStart; 2715 } TTPOLYGONHEADER,*LPTTPOLYGONHEADER; 2716 typedef struct _POINTFLOAT { 2717 FLOAT x; 2718 FLOAT y; 2719 } POINTFLOAT,*PPOINTFLOAT; 2720 typedef struct _GLYPHMETRICSFLOAT { 2721 FLOAT gmfBlackBoxX; 2722 FLOAT gmfBlackBoxY; 2723 POINTFLOAT gmfptGlyphOrigin; 2724 FLOAT gmfCellIncX; 2725 FLOAT gmfCellIncY; 2726 } GLYPHMETRICSFLOAT,*PGLYPHMETRICSFLOAT,*LPGLYPHMETRICSFLOAT; 2727 typedef struct tagLAYERPLANEDESCRIPTOR { 2728 WORD nSize; 2729 WORD nVersion; 2730 DWORD dwFlags; 2731 BYTE iPixelType; 2732 BYTE cColorBits; 2733 BYTE cRedBits; 2734 BYTE cRedShift; 2735 BYTE cGreenBits; 2736 BYTE cGreenShift; 2737 BYTE cBlueBits; 2738 BYTE cBlueShift; 2739 BYTE cAlphaBits; 2740 BYTE cAlphaShift; 2741 BYTE cAccumBits; 2742 BYTE cAccumRedBits; 2743 BYTE cAccumGreenBits; 2744 BYTE cAccumBlueBits; 2745 BYTE cAccumAlphaBits; 2746 BYTE cDepthBits; 2747 BYTE cStencilBits; 2748 BYTE cAuxBuffers; 2749 BYTE iLayerPlane; 2750 BYTE bReserved; 2751 COLORREF crTransparent; 2752 } LAYERPLANEDESCRIPTOR,*PLAYERPLANEDESCRIPTOR,*LPLAYERPLANEDESCRIPTOR; 2753 typedef struct _BLENDFUNCTION { 2754 BYTE BlendOp; 2755 BYTE BlendFlags; 2756 BYTE SourceConstantAlpha; 2757 BYTE AlphaFormat; 2758 } BLENDFUNCTION,*PBLENDFUNCTION,*LPBLENDFUNCTION; 2759 #define STAMP_DESIGNVECTOR (0x8000000 + 'd' + ('v' << 8)) 2760 #define STAMP_AXESLIST (0x8000000 + 'a' + ('l' << 8)) 2761 #define MM_MAX_NUMAXES 16 2762 typedef struct _DESIGNVECTOR { 2763 DWORD dvReserved; 2764 DWORD dvNumAxes; 2765 LONG dvValues[MM_MAX_NUMAXES]; 2766 } DESIGNVECTOR, *PDESIGNVECTOR, *LPDESIGNVECTOR; 2767 typedef struct tagENUMLOGFONTEXDVA 2768 { 2769 ENUMLOGFONTEXA elfEnumLogfontEx; 2770 DESIGNVECTOR elfDesignVector; 2771 } ENUMLOGFONTEXDVA, *PENUMLOGFONTEXDVA, *LPENUMLOGFONTEXDVA; 2772 typedef struct tagENUMLOGFONTEXDVW 2773 { 2774 ENUMLOGFONTEXW elfEnumLogfontEx; 2775 DESIGNVECTOR elfDesignVector; 2776 } ENUMLOGFONTEXDVW, *PENUMLOGFONTEXDVW, *LPENUMLOGFONTEXDVW; 2777 typedef USHORT COLOR16; 2778 typedef struct _TRIVERTEX { 2779 LONG x; 2780 LONG y; 2781 COLOR16 Red; 2782 COLOR16 Green; 2783 COLOR16 Blue; 2784 COLOR16 Alpha; 2785 } TRIVERTEX, *PTRIVERTEX, *LPTRIVERTEX; 2786 typedef struct tagEMRGRADIENTFILL { 2787 EMR emr; 2788 RECTL rclBounds; 2789 DWORD nVer; 2790 DWORD nTri; 2791 ULONG ulMode; 2792 TRIVERTEX Ver[1]; 2793 } EMRGRADIENTFILL, *PEMRGRADIENTFILL; 2794 typedef struct _GRADIENT_TRIANGLE { 2795 ULONG Vertex1; 2796 ULONG Vertex2; 2797 ULONG Vertex3; 2798 } GRADIENT_TRIANGLE,*PGRADIENT_TRIANGLE,*LPGRADIENT_TRIANGLE; 2799 typedef struct _GRADIENT_RECT { 2800 ULONG UpperLeft; 2801 ULONG LowerRight; 2802 }GRADIENT_RECT,*PGRADIENT_RECT,*LPGRADIENT_RECT; 2803 typedef struct _DISPLAY_DEVICEA { 2804 DWORD cb; 2805 CHAR DeviceName[32]; 2806 CHAR DeviceString[128]; 2807 DWORD StateFlags; 2808 CHAR DeviceID[128]; 2809 CHAR DeviceKey[128]; 2810 } DISPLAY_DEVICEA, *PDISPLAY_DEVICEA, *LPDISPLAY_DEVICEA; 2811 typedef struct _DISPLAY_DEVICEW { 2812 DWORD cb; 2813 WCHAR DeviceName[32]; 2814 WCHAR DeviceString[128]; 2815 DWORD StateFlags; 2816 WCHAR DeviceID[128]; 2817 WCHAR DeviceKey[128]; 2818 } DISPLAY_DEVICEW, *PDISPLAY_DEVICEW, *LPDISPLAY_DEVICEW; 2819 #define MM_MAX_AXES_NAMELEN 16 2820 typedef struct _AXISINFOA 2821 { 2822 LONG axMinValue; 2823 LONG axMaxValue; 2824 BYTE axAxisName[MM_MAX_AXES_NAMELEN]; 2825 } AXISINFOA, *PAXISINFOA, *LPAXISINFOA; 2826 typedef struct _AXISINFOW 2827 { 2828 LONG axMinValue; 2829 LONG axMaxValue; 2830 WCHAR axAxisName[MM_MAX_AXES_NAMELEN]; 2831 } AXISINFOW, *PAXISINFOW, *LPAXISINFOW; 2832 typedef struct _AXESLISTA 2833 { 2834 DWORD axlReserved; 2835 DWORD axlNumAxes; 2836 AXISINFOA axlAxisInfo[MM_MAX_NUMAXES]; 2837 } AXESLISTA, *PAXESLISTA, *LPAXESLISTA; 2838 typedef struct _AXESLISTW 2839 { 2840 DWORD axlReserved; 2841 DWORD axlNumAxes; 2842 AXISINFOW axlAxisInfo[MM_MAX_NUMAXES]; 2843 } AXESLISTW, *PAXESLISTW, *LPAXESLISTW; 2844 typedef struct _ENUMTEXTMETRICA 2845 { 2846 NEWTEXTMETRICEXA etmNewTextMetricEx; 2847 AXESLISTA etmAxesList; 2848 } ENUMTEXTMETRICA, *PENUMTEXTMETRICA, *LPENUMTEXTMETRICA; 2849 typedef struct _ENUMTEXTMETRICW 2850 { 2851 NEWTEXTMETRICEXW etmNewTextMetricEx; 2852 AXESLISTW etmAxesList; 2853 } ENUMTEXTMETRICW, *PENUMTEXTMETRICW, *LPENUMTEXTMETRICW; 2854 2855 2856 #if defined(STRICT) 2857 2858 #if !defined(NOTEXTMETRIC) 2859 2860 typedef int (CALLBACK *OLDFONTENUMPROCA)(CONST LOGFONTA *, CONST TEXTMETRICA *, DWORD, LPARAM); 2861 typedef int (CALLBACK *OLDFONTENUMPROCW)(CONST LOGFONTW *, CONST TEXTMETRICW *, DWORD, LPARAM); 2862 2863 #else 2864 2865 typedef int (CALLBACK* OLDFONTENUMPROCA)(CONST LOGFONTA *, CONST VOID *, DWORD, LPARAM); 2866 typedef int (CALLBACK* OLDFONTENUMPROCW)(CONST LOGFONTW *, CONST VOID *, DWORD, LPARAM); 2867 2868 #endif 2869 2870 #ifdef UNICODE 2871 #define OLDFONTENUMPROC OLDFONTENUMPROCW 2872 #else 2873 #define OLDFONTENUMPROC OLDFONTENUMPROCA 2874 #endif 2875 2876 typedef OLDFONTENUMPROCA FONTENUMPROCA; 2877 typedef OLDFONTENUMPROCW FONTENUMPROCW; 2878 2879 #ifdef UNICODE 2880 typedef FONTENUMPROCW FONTENUMPROC; 2881 #else 2882 typedef FONTENUMPROCA FONTENUMPROC; 2883 #endif 2884 2885 typedef INT (CALLBACK *GOBJENUMPROC)(LPVOID, LPARAM); 2886 typedef VOID (CALLBACK *LINEDDAPROC)(INT, INT, LPARAM); 2887 2888 #else // defined(STRICT) 2889 2890 typedef FARPROC OLDFONTENUMPROC; 2891 typedef FARPROC FONTENUMPROCA; 2892 typedef FARPROC FONTENUMPROCW; 2893 2894 #ifdef UNICODE 2895 typedef FONTENUMPROCW FONTENUMPROC; 2896 #else 2897 typedef FONTENUMPROCA FONTENUMPROC; 2898 #endif 2899 2900 typedef FARPROC GOBJENUMPROC; 2901 typedef FARPROC LINEDDAPROC; 2902 2903 #endif 2904 2905 2906 typedef BOOL (CALLBACK *ABORTPROC)(HDC,int); 2907 2908 typedef int 2909 (CALLBACK *MFENUMPROC)( 2910 _In_ HDC hdc, 2911 _In_reads_(nObj) HANDLETABLE FAR* lpht, 2912 _In_ METARECORD FAR* lpMR, 2913 _In_ int nObj, 2914 _In_opt_ LPARAM param); 2915 2916 typedef int 2917 (CALLBACK *ENHMFENUMPROC)( 2918 _In_ HDC hdc, 2919 _In_reads_(nHandles) HANDLETABLE FAR* lpht, 2920 _In_ CONST ENHMETARECORD * lpmr, 2921 _In_ int nHandles, 2922 _In_opt_ LPARAM data); 2923 2924 typedef int (CALLBACK *ICMENUMPROCA)(LPSTR,LPARAM); 2925 typedef int (CALLBACK *ICMENUMPROCW)(LPWSTR,LPARAM); 2926 typedef UINT (CALLBACK *LPFNDEVMODE)(HWND,HMODULE,LPDEVMODEA,LPSTR,LPSTR,LPDEVMODEA,LPSTR,UINT); 2927 typedef DWORD (CALLBACK *LPFNDEVCAPS)(LPSTR,LPSTR,UINT,LPSTR,LPDEVMODEA); 2928 2929 2930 #define GetRValue(rgb) ((BYTE)(rgb)) 2931 #define GetGValue(rgb) ((BYTE)(((WORD)(rgb)) >> 8)) 2932 #define GetBValue(rgb) ((BYTE)((rgb)>>16)) 2933 #define GetAValue(rgb) ((BYTE)((rgb)>>24)) 2934 2935 #define RGB(r,g,b) ((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g))<<8))|(((DWORD)(BYTE)(b))<<16))) 2936 #define RGBA(r,g,b,a) ((COLORREF)((((DWORD)(BYTE)(a))<<24) | RGB(r,g,b))) 2937 #define PALETTERGB(r,g,b) (0x02000000 | RGB(r,g,b)) 2938 #define PALETTEINDEX(i) ((COLORREF)(0x01000000 | (DWORD)(WORD)(i))) 2939 2940 #define MAKEPOINTS(l) (*((POINTS*)&(l))) 2941 #define MAKEROP4(f,b) (DWORD)((((b)<<8)&0xFF000000)|(f)) 2942 2943 INT 2944 WINAPI 2945 AbortDoc( 2946 _In_ HDC hdc); 2947 2948 BOOL 2949 WINAPI 2950 AbortPath( 2951 _In_ HDC hdc); 2952 2953 int 2954 WINAPI 2955 AddFontResourceA( 2956 _In_ LPCSTR pszFilename); 2957 2958 int 2959 WINAPI 2960 AddFontResourceW( 2961 _In_ LPCWSTR pszFilename); 2962 2963 HANDLE 2964 WINAPI 2965 AddFontMemResourceEx( 2966 _In_reads_bytes_(cjSize) PVOID pvFileView, 2967 _In_ DWORD cjSize, 2968 _Reserved_ PVOID pvResrved, 2969 _In_ DWORD* pNumFonts); 2970 2971 INT 2972 WINAPI 2973 AddFontResourceExA( 2974 _In_ LPCSTR pszFilename, 2975 _In_ DWORD fl, 2976 _Reserved_ PVOID pvReserved); 2977 2978 INT 2979 WINAPI 2980 AddFontResourceExW( 2981 _In_ LPCWSTR pszFilename, 2982 _In_ DWORD fl, 2983 _Reserved_ PVOID pvReserved); 2984 2985 BOOL 2986 WINAPI 2987 AngleArc( 2988 _In_ HDC hdc, 2989 _In_ INT x, 2990 _In_ INT y, 2991 _In_ DWORD dwRadius, 2992 _In_ FLOAT eStartAngle, 2993 _In_ FLOAT eSweepAngle); 2994 2995 BOOL 2996 WINAPI 2997 AnimatePalette( 2998 _In_ HPALETTE hPal, 2999 _In_ UINT iStartIndex, 3000 _In_ UINT cEntries, 3001 _In_reads_(cEntries) CONST PALETTEENTRY *ppe); 3002 3003 BOOL 3004 WINAPI 3005 Arc( 3006 _In_ HDC hdc, 3007 _In_ INT xLeft, 3008 _In_ INT yTop, 3009 _In_ INT xRight, 3010 _In_ INT yBottom, 3011 _In_ INT xStartArc, 3012 _In_ INT yStartArc, 3013 _In_ INT xEndArc, 3014 _In_ INT yEndArc); 3015 3016 BOOL 3017 WINAPI 3018 ArcTo( 3019 _In_ HDC hdc, 3020 _In_ INT xLeft, 3021 _In_ INT yTop, 3022 _In_ INT xRight, 3023 _In_ INT yBottom, 3024 _In_ INT xRadial1, 3025 _In_ INT yRadial1, 3026 _In_ INT xRadial2, 3027 _In_ INT yRadial2); 3028 3029 BOOL 3030 WINAPI 3031 BeginPath( 3032 _In_ HDC hdc); 3033 3034 BOOL 3035 WINAPI 3036 BitBlt( 3037 _In_ HDC hdcDest, 3038 _In_ INT xDest, 3039 _In_ INT yDest, 3040 _In_ INT cxDest, 3041 _In_ INT cyDest, 3042 _In_opt_ HDC hdcSrc, 3043 _In_ INT xSrc, 3044 _In_ INT ySrc, 3045 _In_ DWORD dwRop); 3046 3047 BOOL 3048 WINAPI 3049 CancelDC( 3050 _In_ HDC hdc); 3051 3052 BOOL 3053 WINAPI 3054 CheckColorsInGamut( 3055 _In_ HDC hdc, 3056 _In_reads_(nCount) LPVOID pRGBTriple, 3057 _Out_writes_bytes_(nCount) LPVOID pvBuffer, 3058 _In_ DWORD nCount); 3059 3060 BOOL 3061 WINAPI 3062 Chord( 3063 _In_ HDC hdc, 3064 _In_ INT xLeft, 3065 _In_ INT yTop, 3066 _In_ INT xRight, 3067 _In_ INT yBottom, 3068 _In_ INT xRadial1, 3069 _In_ INT yRadial1, 3070 _In_ INT xRadial2, 3071 _In_ INT yRadial2); 3072 3073 int 3074 WINAPI 3075 ChoosePixelFormat( 3076 _In_ HDC hdc, 3077 _In_ const PIXELFORMATDESCRIPTOR* ppfd); 3078 3079 HENHMETAFILE 3080 WINAPI 3081 CloseEnhMetaFile( 3082 _In_ HDC hdc); 3083 3084 BOOL 3085 WINAPI 3086 CloseFigure( 3087 _In_ HDC hdc); 3088 3089 HMETAFILE 3090 WINAPI 3091 CloseMetaFile( 3092 _In_ HDC hdc); 3093 3094 BOOL 3095 WINAPI 3096 ColorMatchToTarget( 3097 _In_ HDC hdc, 3098 _In_ HDC hdcTarget, 3099 _In_ DWORD uAction); 3100 3101 int 3102 WINAPI 3103 CombineRgn( 3104 _In_opt_ HRGN hrgnDest, 3105 _In_opt_ HRGN hrgnSrc1, 3106 _In_opt_ HRGN hrgnSrc2, 3107 _In_ int fnCombineMode); 3108 3109 BOOL 3110 WINAPI 3111 CombineTransform( 3112 _Out_ LPXFORM pxformResult, 3113 _In_ const XFORM* pxform1, 3114 _In_ const XFORM* pxform2); 3115 3116 HENHMETAFILE 3117 WINAPI 3118 CopyEnhMetaFileA( 3119 _In_ HENHMETAFILE hemfSrc, 3120 _In_opt_ LPCSTR pszFile); 3121 3122 HENHMETAFILE 3123 WINAPI 3124 CopyEnhMetaFileW( 3125 _In_ HENHMETAFILE hemfSrc, 3126 _In_opt_ LPCWSTR pszFile); 3127 3128 HMETAFILE 3129 WINAPI 3130 CopyMetaFileA( 3131 _In_ HMETAFILE hmfSrc, 3132 _In_opt_ LPCSTR pszFile); 3133 3134 HMETAFILE 3135 WINAPI 3136 CopyMetaFileW( 3137 _In_ HMETAFILE hmfSrc, 3138 _In_opt_ LPCWSTR pszFile); 3139 3140 HBITMAP 3141 WINAPI 3142 CreateBitmap( 3143 _In_ INT cx, 3144 _In_ INT cy, 3145 _In_ UINT cPlanes, 3146 _In_ UINT cBitsPerPel, 3147 _In_opt_ const VOID* pvBits); 3148 3149 HBITMAP 3150 WINAPI 3151 CreateBitmapIndirect( 3152 _In_ const BITMAP* pbm); 3153 3154 HBRUSH 3155 WINAPI 3156 CreateBrushIndirect( 3157 _In_ const LOGBRUSH* plb); 3158 3159 HCOLORSPACE 3160 WINAPI 3161 CreateColorSpaceA( 3162 _In_ LPLOGCOLORSPACEA pLogColorSpace); 3163 3164 HCOLORSPACE 3165 WINAPI 3166 CreateColorSpaceW( 3167 _In_ LPLOGCOLORSPACEW pLogColorSpace); 3168 3169 HBITMAP 3170 WINAPI 3171 CreateCompatibleBitmap( 3172 _In_ HDC hdc, 3173 _In_ INT cx, 3174 _In_ INT cy); 3175 3176 HDC 3177 WINAPI 3178 CreateCompatibleDC( 3179 _In_opt_ HDC hdc); 3180 3181 HDC 3182 WINAPI 3183 CreateDCA( 3184 _In_opt_ LPCSTR pszDriver, 3185 _In_opt_ LPCSTR pszDevice, 3186 _In_opt_ LPCSTR pszOutput, 3187 _In_opt_ const DEVMODEA* pdmInit); 3188 3189 HDC 3190 WINAPI 3191 CreateDCW( 3192 _In_opt_ LPCWSTR pszDriver, 3193 _In_opt_ LPCWSTR pszDevice, 3194 _In_opt_ LPCWSTR psz, 3195 _In_opt_ const DEVMODEW* pdmInit); 3196 3197 HBITMAP 3198 WINAPI 3199 CreateDIBitmap( 3200 _In_ HDC hdc, 3201 _In_opt_ const BITMAPINFOHEADER* pbmih, 3202 _In_ DWORD fdwInit, 3203 _In_opt_ const VOID* pvInit, 3204 _In_opt_ const BITMAPINFO* pbmi, 3205 _In_ UINT uUsage); 3206 3207 HBRUSH 3208 WINAPI 3209 CreateDIBPatternBrush( 3210 _In_ HGLOBAL hglbDIBPacked, 3211 _In_ UINT uUsage); 3212 3213 HBRUSH 3214 WINAPI 3215 CreateDIBPatternBrushPt( 3216 _In_ const VOID* pvPackedDIB, 3217 _In_ UINT uUsage); 3218 3219 #define GDI_WIDTHBYTES(bits) ((DWORD)(((bits) + 31) & (~31)) / 8) 3220 #define GDI_DIBWIDTHBYTES(bi) (DWORD)GDI_WIDTHBYTES((DWORD)(bi).biWidth * (DWORD)(bi).biBitCount) 3221 #define GDI__DIBSIZE(bi) (GDI_DIBWIDTHBYTES(bi) * (DWORD)(bi).biHeight) 3222 #define GDI_DIBSIZE(bi) ((bi).biHeight < 0 ? (-1) * (GDI__DIBSIZE(bi)) : GDI__DIBSIZE(bi)) 3223 3224 _Success_(return != NULL) 3225 HBITMAP 3226 WINAPI 3227 CreateDIBSection( 3228 _In_opt_ HDC hdc, 3229 _In_ const BITMAPINFO *pbmi, 3230 _In_ UINT usage, 3231 _When_((pbmi->bmiHeader.biBitCount != 0), _Outptr_result_bytebuffer_(GDI_DIBSIZE((pbmi->bmiHeader)))) 3232 _When_((pbmi->bmiHeader.biBitCount == 0), _Outptr_result_bytebuffer_((pbmi->bmiHeader).biSizeImage)) 3233 VOID **ppvBits, 3234 _In_opt_ HANDLE hSection, 3235 _In_ DWORD offset); 3236 3237 HBITMAP WINAPI CreateDiscardableBitmap(_In_ HDC, _In_ int, _In_ int); 3238 HRGN WINAPI CreateEllipticRgn(_In_ int, _In_ int, _In_ int, _In_ int); 3239 HRGN WINAPI CreateEllipticRgnIndirect(_In_ LPCRECT); 3240 HDC WINAPI CreateEnhMetaFileA(_In_opt_ HDC, _In_opt_ LPCSTR, _In_opt_ LPCRECT, _In_opt_ LPCSTR); 3241 HDC WINAPI CreateEnhMetaFileW(_In_opt_ HDC, _In_opt_ LPCWSTR, _In_opt_ LPCRECT, _In_opt_ LPCWSTR); 3242 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); 3243 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); 3244 HFONT WINAPI CreateFontIndirectA(_In_ const LOGFONTA*); 3245 HFONT WINAPI CreateFontIndirectW(_In_ const LOGFONTW*); 3246 HFONT WINAPI CreateFontIndirectExA(const ENUMLOGFONTEXDVA *); 3247 HFONT WINAPI CreateFontIndirectExW(const ENUMLOGFONTEXDVW *); 3248 HPALETTE WINAPI CreateHalftonePalette(_In_opt_ HDC); 3249 HBRUSH WINAPI CreateHatchBrush(_In_ int, _In_ COLORREF); 3250 HDC WINAPI CreateICA(_In_opt_ LPCSTR, _In_opt_ LPCSTR, _In_opt_ LPCSTR, _In_opt_ const DEVMODEA*); 3251 HDC WINAPI CreateICW(_In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_opt_ const DEVMODEW*); 3252 HDC WINAPI CreateMetaFileA(_In_opt_ LPCSTR); 3253 HDC WINAPI CreateMetaFileW(_In_opt_ LPCWSTR); 3254 3255 HPALETTE 3256 WINAPI 3257 CreatePalette( 3258 _In_reads_(_Inexpressible_(2*sizeof(WORD) + plpal->palNumEntries * sizeof(PALETTEENTRY))) const LOGPALETTE*); 3259 3260 HBRUSH WINAPI CreatePatternBrush(_In_ HBITMAP); 3261 HPEN WINAPI CreatePen(_In_ int, _In_ int, _In_ COLORREF); 3262 HPEN WINAPI CreatePenIndirect(_In_ const LOGPEN*); 3263 3264 HRGN 3265 WINAPI 3266 CreatePolygonRgn( 3267 _In_reads_(cPoint) const POINT *pptl, 3268 _In_ int cPoint, 3269 _In_ int iMode); 3270 3271 HRGN 3272 WINAPI 3273 CreatePolyPolygonRgn( 3274 _In_ const POINT *pptl, 3275 _In_reads_(cPoly) const INT *pc, 3276 _In_ int cPoly, 3277 _In_ int iMode); 3278 3279 HRGN WINAPI CreateRectRgn(_In_ int, _In_ int, _In_ int, _In_ int); 3280 HRGN WINAPI CreateRectRgnIndirect(_In_ LPCRECT); 3281 HRGN WINAPI CreateRoundRectRgn(_In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int); 3282 BOOL WINAPI CreateScalableFontResourceA(_In_ DWORD, _In_ LPCSTR, _In_ LPCSTR, _In_opt_ LPCSTR); 3283 BOOL WINAPI CreateScalableFontResourceW(_In_ DWORD, _In_ LPCWSTR, _In_ LPCWSTR, _In_opt_ LPCWSTR); 3284 HBRUSH WINAPI CreateSolidBrush(_In_ COLORREF); 3285 BOOL WINAPI DeleteColorSpace(_In_ HCOLORSPACE); 3286 BOOL WINAPI DeleteDC(_In_ HDC); 3287 BOOL WINAPI DeleteEnhMetaFile(_In_opt_ HENHMETAFILE); 3288 BOOL WINAPI DeleteMetaFile(_In_ HMETAFILE); 3289 BOOL WINAPI DeleteObject(_In_ HGDIOBJ); 3290 3291 int 3292 WINAPI 3293 DescribePixelFormat( 3294 _In_ HDC hdc, 3295 _In_ int iPixelFormat, 3296 _In_ UINT nBytes, 3297 _Out_writes_bytes_opt_(nBytes) LPPIXELFORMATDESCRIPTOR ppfd); 3298 3299 DWORD 3300 WINAPI 3301 DeviceCapabilitiesA( 3302 _In_ LPCSTR pDevice, 3303 _In_opt_ LPCSTR pPort, 3304 _In_ WORD fwCapability, 3305 _Out_writes_opt_(_Inexpressible_(1)) LPSTR pOutput, 3306 _In_opt_ const DEVMODEA *pDevMode); 3307 3308 DWORD 3309 WINAPI 3310 DeviceCapabilitiesW( 3311 _In_ LPCWSTR pDevice, 3312 _In_opt_ LPCWSTR pPort, 3313 _In_ WORD fwCapability, 3314 _Out_writes_opt_(_Inexpressible_(1)) LPWSTR pOutput, 3315 _In_opt_ const DEVMODEW *pDevMode); 3316 3317 BOOL 3318 WINAPI 3319 DPtoLP( 3320 _In_ HDC hdc, 3321 _Inout_updates_(c) LPPOINT lppt, 3322 _In_ int c); 3323 3324 int 3325 WINAPI 3326 DrawEscape( 3327 _In_ HDC hdc, 3328 _In_ int iEscape, 3329 _In_ int cjIn, 3330 _In_reads_bytes_opt_(cjIn) LPCSTR lpIn); 3331 3332 BOOL WINAPI Ellipse(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int); 3333 int WINAPI EndDoc(_In_ HDC); 3334 int WINAPI EndPage(_In_ HDC); 3335 BOOL WINAPI EndPath(_In_ HDC); 3336 BOOL WINAPI EnumEnhMetaFile(_In_opt_ HDC, _In_ HENHMETAFILE, _In_ ENHMFENUMPROC, _In_opt_ PVOID, _In_opt_ LPCRECT); 3337 int WINAPI EnumFontFamiliesA(_In_ HDC, _In_opt_ LPCSTR, _In_ FONTENUMPROCA, _In_ LPARAM); 3338 int WINAPI EnumFontFamiliesW(_In_ HDC, _In_opt_ LPCWSTR, _In_ FONTENUMPROCW, _In_ LPARAM); 3339 int WINAPI EnumFontFamiliesExA(_In_ HDC, _In_ PLOGFONTA, _In_ FONTENUMPROCA, _In_ LPARAM, _In_ DWORD); 3340 int WINAPI EnumFontFamiliesExW(_In_ HDC, _In_ PLOGFONTW, _In_ FONTENUMPROCW, _In_ LPARAM, _In_ DWORD); 3341 int WINAPI EnumFontsA(_In_ HDC, _In_opt_ LPCSTR, _In_ FONTENUMPROCA, _In_ LPARAM); 3342 int WINAPI EnumFontsW(_In_ HDC, _In_opt_ LPCWSTR, _In_ FONTENUMPROCW, _In_ LPARAM); 3343 int WINAPI EnumICMProfilesA(_In_ HDC, _In_ ICMENUMPROCA, _In_opt_ LPARAM); 3344 int WINAPI EnumICMProfilesW(_In_ HDC, _In_ ICMENUMPROCW, _In_opt_ LPARAM); 3345 BOOL WINAPI EnumMetaFile(_In_ HDC, _In_ HMETAFILE, _In_ MFENUMPROC, _In_opt_ LPARAM); 3346 int WINAPI EnumObjects(_In_ HDC, _In_ int, _In_ GOBJENUMPROC, _In_ LPARAM); 3347 BOOL WINAPI EqualRgn(_In_ HRGN, _In_ HRGN); 3348 3349 int 3350 WINAPI 3351 Escape( 3352 _In_ HDC hdc, 3353 _In_ int iEscape, 3354 _In_ int cjIn, 3355 _In_reads_bytes_opt_(cjIn) LPCSTR pvIn, 3356 _Out_opt_ LPVOID pvOut); 3357 3358 int WINAPI ExcludeClipRect(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int); 3359 int WINAPI ExcludeUpdateRgn(HDC,HWND); 3360 3361 HPEN 3362 WINAPI 3363 ExtCreatePen( 3364 _In_ DWORD iPenStyle, 3365 _In_ DWORD cWidth, 3366 _In_ const LOGBRUSH *plbrush, 3367 _In_ DWORD cStyle, 3368 _In_reads_opt_(cStyle) const DWORD *pstyle); 3369 3370 HRGN 3371 WINAPI 3372 ExtCreateRegion( 3373 _In_opt_ const XFORM *lpx, 3374 _In_ DWORD nCount, 3375 _In_reads_bytes_(nCount) const RGNDATA *lpData); 3376 3377 int 3378 WINAPI 3379 ExtEscape( 3380 _In_ HDC hdc, 3381 _In_ int iEscape, 3382 _In_ int cjInput, 3383 _In_reads_bytes_opt_(cjInput) LPCSTR lpInData, 3384 _In_ int cjOutput, 3385 _Out_writes_bytes_opt_(cjOutput) LPSTR lpOutData); 3386 3387 BOOL WINAPI ExtFloodFill(_In_ HDC, _In_ int, _In_ int, _In_ COLORREF, _In_ UINT); 3388 int WINAPI ExtSelectClipRgn(_In_ HDC, _In_opt_ HRGN, _In_ int); 3389 3390 BOOL 3391 WINAPI 3392 ExtTextOutA( 3393 _In_ HDC hdc, 3394 _In_ int x, 3395 _In_ int y, 3396 _In_ UINT options, 3397 _In_opt_ const RECT *lprect, 3398 _In_reads_opt_(c) LPCSTR lpString, 3399 _In_ UINT c, 3400 _In_reads_opt_(c) const INT *lpDx); 3401 3402 BOOL 3403 WINAPI 3404 ExtTextOutW( 3405 _In_ HDC hdc, 3406 _In_ int x, 3407 _In_ int y, 3408 _In_ UINT options, 3409 _In_opt_ const RECT *lprect, 3410 _In_reads_opt_(c) LPCWSTR lpString, 3411 _In_ UINT c, 3412 _In_reads_opt_(c) const INT *lpDx); 3413 3414 BOOL WINAPI FillPath(_In_ HDC); 3415 int WINAPI FillRect(HDC,LPCRECT,HBRUSH); 3416 int WINAPI FillRgn(_In_ HDC, _In_ HRGN, _In_ HBRUSH); 3417 BOOL WINAPI FixBrushOrgEx(_In_ HDC, _In_ int, _In_ int, _In_opt_ LPPOINT); 3418 BOOL WINAPI FlattenPath(_In_ HDC); 3419 BOOL WINAPI FloodFill(_In_ HDC, _In_ int, _In_ int, _In_ COLORREF); 3420 BOOL WINAPI FrameRgn(_In_ HDC, _In_ HRGN, _In_ HBRUSH, _In_ int, _In_ int); 3421 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); 3422 3423 BOOL 3424 WINAPI 3425 GdiComment( 3426 _In_ HDC hdc, 3427 _In_ UINT nSize, 3428 _In_reads_bytes_(nSize) const BYTE *lpData); 3429 3430 DEVMODEW * WINAPI GdiConvertToDevmodeW(const DEVMODEA *); 3431 BOOL WINAPI GdiFlush(void); 3432 LONG WINAPI GdiGetCharDimensions(HDC, LPTEXTMETRICW, LONG *); 3433 DWORD WINAPI GdiGetCodePage(HDC); 3434 DWORD WINAPI GdiGetBatchLimit(void); 3435 DWORD WINAPI GdiSetBatchLimit(_In_ DWORD); 3436 3437 BOOL 3438 WINAPI 3439 GdiGradientFill( 3440 _In_ HDC hdc, 3441 _In_reads_(nVertex) PTRIVERTEX pVertex, 3442 _In_ ULONG nVertex, 3443 _In_ PVOID pMesh, 3444 _In_ ULONG nCount, 3445 _In_ ULONG ulMode); 3446 3447 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); 3448 BOOL WINAPI GdiIsMetaFileDC(HDC); 3449 3450 #define GetKValue(cmyk) ((BYTE)(cmyk)) 3451 #define GetYValue(cmyk) ((BYTE)((cmyk)>> 8)) 3452 #define GetMValue(cmyk) ((BYTE)((cmyk)>>16)) 3453 #define GetCValue(cmyk) ((BYTE)((cmyk)>>24)) 3454 #define CMYK(c,m,y,k) ((COLORREF)((((BYTE)(k)|((WORD)((BYTE)(y))<<8))|(((DWORD)(BYTE)(m))<<16))|(((DWORD)(BYTE)(c))<<24))) 3455 3456 int WINAPI GetArcDirection(_In_ HDC); 3457 BOOL WINAPI GetAspectRatioFilterEx(_In_ HDC, _Out_ LPSIZE); 3458 3459 LONG 3460 WINAPI 3461 GetBitmapBits( 3462 _In_ HBITMAP hbit, 3463 _In_ LONG cb, 3464 _Out_writes_bytes_(cb) LPVOID lpvBits); 3465 3466 BOOL WINAPI GetBitmapDimensionEx(_In_ HBITMAP, _Out_ LPSIZE); 3467 COLORREF WINAPI GetBkColor(_In_ HDC); 3468 int WINAPI GetBkMode(_In_ HDC); 3469 UINT WINAPI GetBoundsRect(_In_ HDC, _Out_ LPRECT, _In_ UINT); 3470 BOOL WINAPI GetBrushOrgEx(_In_ HDC, _Out_ LPPOINT); 3471 3472 BOOL 3473 WINAPI 3474 GetCharABCWidthsA( 3475 _In_ HDC hdc, 3476 _In_ UINT wFirst, 3477 _In_ UINT wLast, 3478 _Out_writes_(wLast - wFirst + 1) LPABC lpABC); 3479 3480 BOOL 3481 WINAPI 3482 GetCharABCWidthsW( 3483 _In_ HDC hdc, 3484 _In_ UINT wFirst, 3485 _In_ UINT wLast, 3486 _Out_writes_(wLast - wFirst + 1) LPABC lpABC); 3487 3488 BOOL 3489 WINAPI 3490 GetCharABCWidthsFloatA( 3491 _In_ HDC hdc, 3492 _In_ UINT iFirst, 3493 _In_ UINT iLast, 3494 _Out_writes_(iLast + 1 - iFirst) LPABCFLOAT lpABC); 3495 3496 BOOL 3497 WINAPI 3498 GetCharABCWidthsFloatW( 3499 _In_ HDC hdc, 3500 _In_ UINT iFirst, 3501 _In_ UINT iLast, 3502 _Out_writes_(iLast + 1 - iFirst) LPABCFLOAT lpABC); 3503 3504 BOOL 3505 WINAPI 3506 GetCharABCWidthsI( 3507 _In_ HDC hdc, 3508 _In_ UINT giFirst, 3509 _In_ UINT cgi, 3510 _In_reads_opt_(cgi) LPWORD pgi, 3511 _Out_writes_(cgi) LPABC pabc); 3512 3513 DWORD 3514 WINAPI 3515 GetCharacterPlacementA( 3516 _In_ HDC hdc, 3517 _In_reads_(nCount) LPCSTR lpString, 3518 _In_ int nCount, 3519 _In_ int nMexExtent, 3520 _Inout_ LPGCP_RESULTSA lpResults, 3521 _In_ DWORD dwFlags); 3522 3523 DWORD 3524 WINAPI 3525 GetCharacterPlacementW( 3526 _In_ HDC hdc, 3527 _In_reads_(nCount) LPCWSTR lpString, 3528 _In_ int nCount, 3529 _In_ int nMexExtent, 3530 _Inout_ LPGCP_RESULTSW lpResults, 3531 _In_ DWORD dwFlags); 3532 3533 BOOL 3534 WINAPI 3535 GetCharWidth32A( 3536 _In_ HDC hdc, 3537 _In_ UINT iFirst, 3538 _In_ UINT iLast, 3539 _Out_writes_(iLast + 1 - iFirst) LPINT lpBuffer); 3540 3541 BOOL 3542 WINAPI 3543 GetCharWidth32W( 3544 _In_ HDC hdc, 3545 _In_ UINT iFirst, 3546 _In_ UINT iLast, 3547 _Out_writes_(iLast + 1 - iFirst) LPINT lpBuffer); 3548 3549 BOOL 3550 WINAPI 3551 GetCharWidthA( 3552 _In_ HDC hdc, 3553 _In_ UINT iFirst, 3554 _In_ UINT iLast, 3555 _Out_writes_(iLast + 1 - iFirst) LPINT lpBuffer); 3556 3557 BOOL 3558 WINAPI 3559 GetCharWidthW( 3560 _In_ HDC hdc, 3561 _In_ UINT iFirst, 3562 _In_ UINT iLast, 3563 _Out_writes_(iLast + 1 - iFirst) LPINT lpBuffer); 3564 3565 BOOL 3566 WINAPI 3567 GetCharWidthI( 3568 _In_ HDC hdc, 3569 _In_ UINT giFirst, 3570 _In_ UINT cgi, 3571 _In_reads_opt_(cgi) LPWORD pgi, 3572 _Out_writes_(cgi) LPINT piWidths); 3573 3574 BOOL 3575 WINAPI 3576 GetCharWidthFloatA( 3577 _In_ HDC hdc, 3578 _In_ UINT iFirst, 3579 _In_ UINT iLast, 3580 _Out_writes_(iLast + 1 - iFirst) PFLOAT lpBuffer); 3581 3582 BOOL 3583 WINAPI 3584 GetCharWidthFloatW( 3585 _In_ HDC hdc, 3586 _In_ UINT iFirst, 3587 _In_ UINT iLast, 3588 _Out_writes_(iLast + 1 - iFirst) PFLOAT lpBuffer); 3589 3590 int WINAPI GetClipBox(_In_ HDC, _Out_ LPRECT); 3591 int WINAPI GetClipRgn(_In_ HDC, _In_ HRGN); 3592 BOOL WINAPI GetColorAdjustment(_In_ HDC, _Out_ LPCOLORADJUSTMENT); 3593 HCOLORSPACE WINAPI GetColorSpace(_In_ HDC); 3594 HGDIOBJ WINAPI GetCurrentObject(_In_ HDC, _In_ UINT); 3595 BOOL WINAPI GetCurrentPositionEx(_In_ HDC, _Out_ LPPOINT); 3596 HCURSOR WINAPI GetCursor(void); 3597 BOOL WINAPI GetDCOrgEx(_In_ HDC, _Out_ LPPOINT); 3598 #if (_WIN32_WINNT >= 0x0500) 3599 COLORREF WINAPI GetDCBrushColor(_In_ HDC); 3600 COLORREF WINAPI GetDCPenColor(_In_ HDC); 3601 #endif 3602 int WINAPI GetDeviceCaps(_In_opt_ HDC, _In_ int); 3603 3604 BOOL 3605 WINAPI 3606 GetDeviceGammaRamp( 3607 _In_ HDC hdc, 3608 _Out_writes_bytes_(3*256*2) LPVOID lpRamp); 3609 3610 _Ret_range_(0,cEntries) 3611 UINT 3612 WINAPI 3613 GetDIBColorTable( 3614 _In_ HDC hdc, 3615 _In_ UINT iStart, 3616 _In_ UINT cEntries, 3617 _Out_writes_to_(cEntries,return) RGBQUAD *prgbq); 3618 3619 int 3620 WINAPI 3621 GetDIBits( 3622 _In_ HDC hdc, 3623 _In_ HBITMAP hbm, 3624 _In_ UINT start, 3625 _In_ UINT cLines, 3626 _Out_opt_ LPVOID lpvBits, 3627 _At_((LPBITMAPINFOHEADER)lpbmi, _Inout_) LPBITMAPINFO lpbmi, 3628 _In_ UINT usage); 3629 3630 HENHMETAFILE WINAPI GetEnhMetaFileA(_In_ LPCSTR); 3631 HENHMETAFILE WINAPI GetEnhMetaFileW(_In_ LPCWSTR); 3632 3633 UINT 3634 WINAPI 3635 GetEnhMetaFileBits( 3636 _In_ HENHMETAFILE hEMF, 3637 _In_ UINT nSize, 3638 _Out_writes_bytes_opt_(nSize) LPBYTE lpData); 3639 3640 UINT 3641 WINAPI 3642 GetEnhMetaFileDescriptionA( 3643 _In_ HENHMETAFILE hemf, 3644 _In_ UINT cchBuffer, 3645 _Out_writes_opt_(cchBuffer) LPSTR lpDescription); 3646 3647 UINT 3648 WINAPI 3649 GetEnhMetaFileDescriptionW( 3650 _In_ HENHMETAFILE hemf, 3651 _In_ UINT cchBuffer, 3652 _Out_writes_opt_(cchBuffer) LPWSTR lpDescription); 3653 3654 UINT 3655 WINAPI 3656 GetEnhMetaFileHeader( 3657 _In_ HENHMETAFILE hemf, 3658 _In_ UINT nSize, 3659 _Out_writes_bytes_opt_(nSize) LPENHMETAHEADER lpEnhMetaHeader); 3660 3661 UINT 3662 WINAPI 3663 GetEnhMetaFilePaletteEntries( 3664 _In_ HENHMETAFILE hemf, 3665 _In_ UINT nNumEntries, 3666 _Out_writes_opt_(nNumEntries) LPPALETTEENTRY lpPaletteEntries); 3667 3668 UINT 3669 WINAPI 3670 GetEnhMetaFilePixelFormat( 3671 _In_ HENHMETAFILE hemf, 3672 _In_ UINT cbBuffer, 3673 _Out_writes_bytes_opt_(cbBuffer) PIXELFORMATDESCRIPTOR *ppfd); 3674 3675 _Success_(return != GDI_ERROR) 3676 DWORD 3677 WINAPI 3678 GetFontData( 3679 _In_ HDC hdc, 3680 _In_ DWORD dwTable, 3681 _In_ DWORD dwOffset, 3682 _Out_writes_bytes_to_opt_(cjBuffer, return) PVOID pvBuffer, 3683 _In_ DWORD cjBuffer); 3684 3685 DWORD WINAPI GetFontLanguageInfo(_In_ HDC); 3686 #if (_WIN32_WINNT >= 0x0500) 3687 DWORD WINAPI GetFontUnicodeRanges(_In_ HDC, _Out_opt_ LPGLYPHSET); 3688 #endif 3689 3690 DWORD 3691 WINAPI 3692 GetGlyphIndicesA( 3693 _In_ HDC hdc, 3694 _In_reads_(c) LPCSTR lpstr, 3695 _In_ int c, 3696 _Out_writes_(c) LPWORD pgi, 3697 _In_ DWORD fl); 3698 3699 DWORD 3700 WINAPI 3701 GetGlyphIndicesW( 3702 _In_ HDC hdc, 3703 _In_reads_(c) LPCWSTR lpstr, 3704 _In_ int c, 3705 _Out_writes_(c) LPWORD pgi, 3706 _In_ DWORD fl); 3707 3708 DWORD 3709 WINAPI 3710 GetGlyphOutlineA( 3711 _In_ HDC hdc, 3712 _In_ UINT uChar, 3713 _In_ UINT fuFormat, 3714 _Out_ LPGLYPHMETRICS lpgm, 3715 _In_ DWORD cjBuffer, 3716 _Out_writes_bytes_opt_(cjBuffer) LPVOID pvBuffer, 3717 _In_ CONST MAT2 *lpmat2); 3718 3719 DWORD 3720 WINAPI 3721 GetGlyphOutlineW( 3722 _In_ HDC hdc, 3723 _In_ UINT uChar, 3724 _In_ UINT fuFormat, 3725 _Out_ LPGLYPHMETRICS lpgm, 3726 _In_ DWORD cjBuffer, 3727 _Out_writes_bytes_opt_(cjBuffer) LPVOID pvBuffer, 3728 _In_ CONST MAT2 *lpmat2); 3729 3730 int WINAPI GetGraphicsMode(_In_ HDC); 3731 3732 BOOL 3733 WINAPI 3734 GetICMProfileA( 3735 _In_ HDC hdc, 3736 _Inout_ LPDWORD pBufSize, 3737 _Out_writes_opt_(*pBufSize) LPSTR pszFilename); 3738 3739 BOOL 3740 WINAPI 3741 GetICMProfileW( 3742 _In_ HDC hdc, 3743 _Inout_ LPDWORD pBufSize, 3744 _Out_writes_opt_(*pBufSize) LPWSTR pszFilename); 3745 3746 DWORD 3747 WINAPI 3748 GetKerningPairsA( 3749 _In_ HDC hdc, 3750 _In_ DWORD nPairs, 3751 _Out_writes_to_opt_(nPairs, return) LPKERNINGPAIR lpKernPair); 3752 3753 DWORD 3754 WINAPI 3755 GetKerningPairsW( 3756 _In_ HDC hdc, 3757 _In_ DWORD nPairs, 3758 _Out_writes_to_opt_(nPairs, return) LPKERNINGPAIR lpKernPair); 3759 3760 BOOL 3761 WINAPI 3762 GetLogColorSpaceA( 3763 _In_ HCOLORSPACE hColorSpace, 3764 _Out_writes_bytes_(nSize) LPLOGCOLORSPACEA lpBuffer, 3765 _In_ DWORD nSize); 3766 3767 BOOL 3768 WINAPI 3769 GetLogColorSpaceW( 3770 _In_ HCOLORSPACE hColorSpace, 3771 _Out_writes_bytes_(nSize) LPLOGCOLORSPACEW lpBuffer, 3772 _In_ DWORD nSize); 3773 3774 int WINAPI GetMapMode(_In_ HDC); 3775 HMETAFILE WINAPI GetMetaFileA(_In_ LPCSTR); 3776 HMETAFILE WINAPI GetMetaFileW(_In_ LPCWSTR); 3777 3778 UINT 3779 WINAPI 3780 GetMetaFileBitsEx( 3781 _In_ HMETAFILE hMF, 3782 _In_ UINT cbBuffer, 3783 _Out_writes_bytes_opt_(cbBuffer) LPVOID lpData); 3784 3785 int WINAPI GetMetaRgn(_In_ HDC, _In_ HRGN); 3786 BOOL WINAPI GetMiterLimit(_In_ HDC, _Out_ PFLOAT); 3787 COLORREF WINAPI GetNearestColor(_In_ HDC, _In_ COLORREF); 3788 UINT WINAPI GetNearestPaletteIndex(_In_ HPALETTE, _In_ COLORREF); 3789 3790 int 3791 WINAPI 3792 GetObjectA( 3793 _In_ HANDLE h, 3794 _In_ int c, 3795 _Out_writes_bytes_opt_(c) LPVOID pv); 3796 3797 int 3798 WINAPI 3799 GetObjectW( 3800 _In_ HANDLE h, 3801 _In_ int c, 3802 _Out_writes_bytes_opt_(c) LPVOID pv); 3803 3804 DWORD WINAPI GetObjectType(_In_ HGDIOBJ); 3805 3806 UINT 3807 WINAPI 3808 GetOutlineTextMetricsA( 3809 _In_ HDC hdc, 3810 _In_ UINT cjCopy, 3811 _Out_writes_bytes_opt_(cjCopy) LPOUTLINETEXTMETRICA potm); 3812 3813 UINT 3814 WINAPI 3815 GetOutlineTextMetricsW( 3816 _In_ HDC hdc, 3817 _In_ UINT cjCopy, 3818 _Out_writes_bytes_opt_(cjCopy) LPOUTLINETEXTMETRICW potm); 3819 3820 _Ret_range_(0,cEntries) 3821 UINT 3822 WINAPI 3823 GetPaletteEntries( 3824 _In_ HPALETTE hpal, 3825 _In_ UINT iStart, 3826 _In_ UINT cEntries, 3827 _Out_writes_to_opt_(cEntries,return) LPPALETTEENTRY pPalEntries); 3828 3829 int 3830 WINAPI 3831 GetPath( 3832 _In_ HDC hdc, 3833 _Out_writes_opt_(cpt) LPPOINT apt, 3834 _Out_writes_opt_(cpt) LPBYTE aj, 3835 int cpt); 3836 3837 COLORREF WINAPI GetPixel(_In_ HDC, _In_ int, _In_ int); 3838 int WINAPI GetPixelFormat(_In_ HDC); 3839 int WINAPI GetPolyFillMode(_In_ HDC); 3840 3841 BOOL 3842 WINAPI 3843 GetRasterizerCaps( 3844 _Out_writes_bytes_(cjBytes) LPRASTERIZER_STATUS lpraststat, 3845 _In_ UINT cjBytes); 3846 3847 int WINAPI GetRandomRgn(_In_ HDC, _In_ HRGN, _In_ INT); 3848 3849 DWORD 3850 WINAPI 3851 GetRegionData( 3852 _In_ HRGN hrgn, 3853 _In_ DWORD nCount, 3854 _Out_writes_bytes_to_opt_(nCount, return) LPRGNDATA lpRgnData); 3855 3856 int WINAPI GetRgnBox(_In_ HRGN, _Out_ LPRECT); 3857 int WINAPI GetROP2(_In_ HDC); 3858 HGDIOBJ WINAPI GetStockObject(_In_ int); 3859 int WINAPI GetStretchBltMode(_In_ HDC); 3860 3861 UINT 3862 WINAPI 3863 GetSystemPaletteEntries( 3864 _In_ HDC hdc, 3865 _In_ UINT iStart, 3866 _In_ UINT cEntries, 3867 _Out_writes_opt_(cEntries) LPPALETTEENTRY pPalEntries); 3868 3869 UINT WINAPI GetSystemPaletteUse(_In_ HDC); 3870 UINT WINAPI GetTextAlign(_In_ HDC); 3871 int WINAPI GetTextCharacterExtra(_In_ HDC); 3872 int WINAPI GetTextCharset(_In_ HDC); 3873 int WINAPI GetTextCharsetInfo(_In_ HDC, _Out_opt_ LPFONTSIGNATURE, _In_ DWORD); 3874 COLORREF WINAPI GetTextColor(_In_ HDC); 3875 3876 BOOL 3877 WINAPI 3878 GetTextExtentExPointA( 3879 _In_ HDC hdc, 3880 _In_reads_(cchString) LPCSTR lpszString, 3881 _In_ int cchString, 3882 _In_ int nMaxExtent, 3883 _Out_opt_ LPINT lpnFit, 3884 _Out_writes_to_opt_ (cchString, *lpnFit) LPINT lpnDx, 3885 _Out_ LPSIZE lpSize); 3886 3887 BOOL 3888 WINAPI 3889 GetTextExtentExPointW( 3890 _In_ HDC hdc, 3891 _In_reads_(cchString) LPCWSTR lpszString, 3892 _In_ int cchString, 3893 _In_ int nMaxExtent, 3894 _Out_opt_ LPINT lpnFit, 3895 _Out_writes_to_opt_ (cchString, *lpnFit) LPINT lpnDx, 3896 _Out_ LPSIZE lpSize); 3897 3898 BOOL 3899 WINAPI 3900 GetTextExtentExPointI( 3901 _In_ HDC hdc, 3902 _In_reads_(cwchString) LPWORD lpwszString, 3903 _In_ int cwchString, 3904 _In_ int nMaxExtent, 3905 _Out_opt_ LPINT lpnFit, 3906 _Out_writes_to_opt_(cwchString, *lpnFit) LPINT lpnDx, 3907 _Out_ LPSIZE lpSize); 3908 3909 BOOL 3910 WINAPI 3911 GetTextExtentPointA( 3912 _In_ HDC hdc, 3913 _In_reads_(c) LPCSTR lpString, 3914 _In_ int c, 3915 _Out_ LPSIZE lpsz); 3916 3917 BOOL 3918 WINAPI 3919 GetTextExtentPointW( 3920 _In_ HDC hdc, 3921 _In_reads_(c) LPCWSTR lpString, 3922 _In_ int c, 3923 _Out_ LPSIZE lpsz); 3924 3925 BOOL 3926 WINAPI 3927 GetTextExtentPointI( 3928 _In_ HDC hdc, 3929 _In_reads_(cgi) LPWORD pgiIn, 3930 _In_ int cgi, 3931 _Out_ LPSIZE psize); 3932 3933 BOOL 3934 WINAPI 3935 GetTextExtentPoint32A( 3936 _In_ HDC hdc, 3937 _In_reads_(c) LPCSTR lpString, 3938 _In_ int c, 3939 _Out_ LPSIZE psizl); 3940 3941 BOOL 3942 WINAPI 3943 GetTextExtentPoint32W( 3944 _In_ HDC hdc, 3945 _In_reads_(c) LPCWSTR lpString, 3946 _In_ int c, 3947 _Out_ LPSIZE psizl); 3948 3949 int 3950 WINAPI 3951 GetTextFaceA( 3952 _In_ HDC hdc, 3953 _In_ int c, 3954 _Out_writes_to_opt_(c, return) LPSTR lpName); 3955 3956 int 3957 WINAPI 3958 GetTextFaceW( 3959 _In_ HDC hdc, 3960 _In_ int c, 3961 _Out_writes_to_opt_(c, return) LPWSTR lpName); 3962 3963 BOOL WINAPI GetTextMetricsA(_In_ HDC, _Out_ LPTEXTMETRICA); 3964 BOOL WINAPI GetTextMetricsW(_In_ HDC, _Out_ LPTEXTMETRICW); 3965 BOOL WINAPI GetTransform(HDC,DWORD,XFORM*); 3966 BOOL WINAPI GetViewportExtEx(_In_ HDC, _Out_ LPSIZE); 3967 BOOL WINAPI GetViewportOrgEx(_In_ HDC, _Out_ LPPOINT); 3968 BOOL WINAPI GetWindowExtEx(_In_ HDC, _Out_ LPSIZE); 3969 BOOL WINAPI GetWindowOrgEx(_In_ HDC, _Out_ LPPOINT); 3970 3971 UINT 3972 WINAPI 3973 GetWinMetaFileBits( 3974 _In_ HENHMETAFILE hemf, 3975 _In_ UINT cbData16, 3976 _Out_writes_bytes_opt_(cbData16) LPBYTE pData16, 3977 _In_ INT iMapMode, 3978 _In_ HDC hdcRef); 3979 3980 BOOL WINAPI GetWorldTransform(_In_ HDC, _Out_ LPXFORM); 3981 int WINAPI IntersectClipRect(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int); 3982 BOOL WINAPI InvertRgn(_In_ HDC, _In_ HRGN); 3983 BOOL WINAPI LineDDA(_In_ int, _In_ int, _In_ int, _In_ int, _In_ LINEDDAPROC, _In_opt_ LPARAM); 3984 BOOL WINAPI LineTo(_In_ HDC, _In_ int, _In_ int); 3985 3986 BOOL 3987 WINAPI 3988 LPtoDP( 3989 _In_ HDC hdc, 3990 _Inout_updates_(c) LPPOINT lppt, 3991 _In_ int c); 3992 3993 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); 3994 BOOL WINAPI ModifyWorldTransform(_In_ HDC, _In_opt_ const XFORM*, _In_ DWORD); 3995 BOOL WINAPI MoveToEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT); 3996 int WINAPI OffsetClipRgn(_In_ HDC, _In_ int, _In_ int); 3997 int WINAPI OffsetRgn(_In_ HRGN, _In_ int, _In_ int); 3998 BOOL WINAPI OffsetViewportOrgEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT); 3999 BOOL WINAPI OffsetWindowOrgEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT); 4000 BOOL WINAPI PaintRgn(_In_ HDC, _In_ HRGN); 4001 BOOL WINAPI PatBlt(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ DWORD); 4002 HRGN WINAPI PathToRegion(_In_ HDC); 4003 BOOL WINAPI Pie(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int); 4004 BOOL WINAPI PlayEnhMetaFile(_In_ HDC, _In_ HENHMETAFILE, _In_ LPCRECT); 4005 4006 BOOL 4007 WINAPI 4008 PlayEnhMetaFileRecord( 4009 _In_ HDC hdc, 4010 _In_reads_(cht) LPHANDLETABLE pht, 4011 _In_ CONST ENHMETARECORD *pmr, 4012 _In_ UINT cht); 4013 4014 BOOL WINAPI PlayMetaFile(_In_ HDC, _In_ HMETAFILE); 4015 4016 BOOL 4017 WINAPI 4018 PlayMetaFileRecord( 4019 _In_ HDC hdc, 4020 _In_reads_(noObjs) LPHANDLETABLE lpHandleTable, 4021 _In_ LPMETARECORD lpMR, 4022 _In_ UINT noObjs); 4023 4024 BOOL 4025 WINAPI 4026 PlgBlt( 4027 _In_ HDC hdcDest, 4028 _In_reads_(3) const POINT *lpPoint, 4029 _In_ HDC hdcSrc, 4030 _In_ int xSrc, 4031 _In_ int ySrc, 4032 _In_ int width, 4033 _In_ int height, 4034 _In_opt_ HBITMAP hbmMask, 4035 _In_ int xMask, 4036 _In_ int yMask); 4037 4038 BOOL 4039 WINAPI 4040 PolyBezier( 4041 _In_ HDC hdc, 4042 _In_reads_(cpt) const POINT *apt, 4043 _In_ DWORD cpt); 4044 4045 BOOL 4046 WINAPI 4047 PolyBezierTo( 4048 _In_ HDC hdc, 4049 _In_reads_(cpt) const POINT *apt, 4050 _In_ DWORD cpt); 4051 4052 BOOL 4053 WINAPI 4054 PolyDraw( 4055 _In_ HDC hdc, 4056 _In_reads_(cpt) const POINT * apt, 4057 _In_reads_(cpt) const BYTE * aj, 4058 _In_ int cpt); 4059 4060 BOOL 4061 WINAPI 4062 Polygon( 4063 _In_ HDC hdc, 4064 _In_reads_(cpt) const POINT *apt, 4065 _In_ int cpt); 4066 4067 BOOL 4068 WINAPI 4069 Polyline( 4070 _In_ HDC hdc, 4071 _In_reads_(cpt) const POINT *apt, 4072 _In_ int cpt); 4073 4074 BOOL 4075 WINAPI 4076 PolylineTo( 4077 _In_ HDC hdc, 4078 _In_reads_(cpt) const POINT *apt, 4079 _In_ DWORD cpt); 4080 4081 BOOL 4082 WINAPI 4083 PolyPolygon( 4084 _In_ HDC hdc, 4085 _In_ const POINT *apt, 4086 _In_reads_(csz) const INT *asz, 4087 _In_ int csz); 4088 4089 BOOL 4090 WINAPI 4091 PolyPolyline( 4092 _In_ HDC hdc, 4093 _In_ const POINT *apt, 4094 _In_reads_(csz) const DWORD *asz, 4095 _In_ DWORD csz); 4096 4097 BOOL 4098 WINAPI 4099 PolyTextOutA( 4100 _In_ HDC hdc, 4101 _In_reads_(nstrings) const POLYTEXTA *ppt, 4102 _In_ int nstrings); 4103 4104 BOOL 4105 WINAPI 4106 PolyTextOutW( 4107 _In_ HDC hdc, 4108 _In_reads_(nstrings) const POLYTEXTW *ppt, 4109 _In_ int nstrings); 4110 4111 BOOL WINAPI PtInRegion(_In_ HRGN, _In_ int, _In_ int); 4112 BOOL WINAPI PtVisible(_In_ HDC, _In_ int, _In_ int); 4113 UINT WINAPI RealizePalette(_In_ HDC); 4114 BOOL WINAPI Rectangle(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int); 4115 BOOL WINAPI RectInRegion(_In_ HRGN, _In_ LPCRECT); 4116 BOOL WINAPI RectVisible(_In_ HDC, _In_ LPCRECT); 4117 BOOL WINAPI RemoveFontResourceA(_In_ LPCSTR); 4118 BOOL WINAPI RemoveFontResourceW(_In_ LPCWSTR); 4119 #if (_WIN32_WINNT >= 0x0500) 4120 BOOL WINAPI RemoveFontMemResourceEx(_In_ HANDLE); 4121 BOOL WINAPI RemoveFontResourceExA(_In_ LPCSTR, _In_ DWORD, _Reserved_ PVOID); 4122 BOOL WINAPI RemoveFontResourceExW(_In_ LPCWSTR, _In_ DWORD, _Reserved_ PVOID); 4123 #endif 4124 HDC WINAPI ResetDCA(_In_ HDC, _In_ const DEVMODEA*); 4125 HDC WINAPI ResetDCW(_In_ HDC, _In_ const DEVMODEW*); 4126 BOOL WINAPI ResizePalette(_In_ HPALETTE, _In_ UINT); 4127 BOOL WINAPI RestoreDC(_In_ HDC, _In_ int); 4128 BOOL WINAPI RoundRect(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int); 4129 int WINAPI SaveDC(_In_ HDC); 4130 BOOL WINAPI ScaleViewportExtEx(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _Out_opt_ LPSIZE); 4131 BOOL WINAPI ScaleWindowExtEx(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _Out_opt_ LPSIZE); 4132 BOOL WINAPI SelectClipPath(_In_ HDC, _In_ int); 4133 int WINAPI SelectClipRgn(_In_ HDC, _In_opt_ HRGN); 4134 HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ); 4135 HPALETTE WINAPI SelectPalette(_In_ HDC, _In_ HPALETTE, _In_ BOOL); 4136 int WINAPI SetAbortProc(_In_ HDC, _In_ ABORTPROC); 4137 int WINAPI SetArcDirection(_In_ HDC, _In_ int); 4138 4139 LONG 4140 WINAPI 4141 SetBitmapBits( 4142 _In_ HBITMAP hbm, 4143 _In_ DWORD cb, 4144 _In_reads_bytes_(cb) CONST VOID *pvBits); 4145 4146 BOOL WINAPI SetBitmapDimensionEx(_In_ HBITMAP, _In_ int, _In_ int, _Out_opt_ LPSIZE); 4147 COLORREF WINAPI SetBkColor(_In_ HDC, _In_ COLORREF); 4148 int WINAPI SetBkMode(_In_ HDC, _In_ int); 4149 UINT WINAPI SetBoundsRect(_In_ HDC, _In_opt_ LPCRECT, _In_ UINT); 4150 BOOL WINAPI SetBrushOrgEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT); 4151 BOOL WINAPI SetColorAdjustment(_In_ HDC, _In_ const COLORADJUSTMENT*); 4152 HCOLORSPACE WINAPI SetColorSpace(_In_ HDC, _In_ HCOLORSPACE); 4153 #if (_WIN32_WINNT >= 0x0500) 4154 COLORREF WINAPI SetDCBrushColor(_In_ HDC, _In_ COLORREF); 4155 COLORREF WINAPI SetDCPenColor(_In_ HDC, _In_ COLORREF); 4156 #endif 4157 4158 BOOL 4159 WINAPI 4160 SetDeviceGammaRamp( 4161 _In_ HDC hdc, 4162 _In_reads_bytes_(3*256*2) LPVOID lpRamp); 4163 4164 UINT 4165 WINAPI 4166 SetDIBColorTable( 4167 _In_ HDC hdc, 4168 _In_ UINT iStart, 4169 _In_ UINT cEntries, 4170 _In_reads_(cEntries) const RGBQUAD *prgbq); 4171 4172 int WINAPI SetDIBits(_In_opt_ HDC, _In_ HBITMAP, _In_ UINT, _In_ UINT, _In_ CONST VOID*, _In_ CONST BITMAPINFO*, _In_ UINT); 4173 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); 4174 4175 HENHMETAFILE 4176 WINAPI 4177 SetEnhMetaFileBits( 4178 _In_ UINT nSize, 4179 _In_reads_bytes_(nSize) const BYTE * pb); 4180 4181 int WINAPI SetGraphicsMode(_In_ HDC, _In_ int); 4182 int WINAPI SetICMMode(_In_ HDC, _In_ int); 4183 BOOL WINAPI SetICMProfileA(_In_ HDC, _In_ LPSTR); 4184 BOOL WINAPI SetICMProfileW(_In_ HDC, _In_ LPWSTR); 4185 int WINAPI SetMapMode(_In_ HDC, _In_ int); 4186 DWORD WINAPI SetMapperFlags(_In_ HDC, _In_ DWORD); 4187 #if (_WIN32_WINNT >= 0x0500) 4188 DWORD WINAPI SetLayout(_In_ HDC, _In_ DWORD); 4189 DWORD WINAPI GetLayout(_In_ HDC); 4190 #endif 4191 4192 HMETAFILE 4193 WINAPI 4194 SetMetaFileBitsEx( 4195 _In_ UINT cbBuffer, 4196 _In_reads_bytes_(cbBuffer) CONST BYTE *lpData); 4197 4198 int WINAPI SetMetaRgn(_In_ HDC); 4199 BOOL WINAPI SetMiterLimit(_In_ HDC, _In_ FLOAT, _Out_opt_ PFLOAT); 4200 4201 UINT 4202 WINAPI 4203 SetPaletteEntries( 4204 _In_ HPALETTE hpal, 4205 _In_ UINT iStart, 4206 _In_ UINT cEntries, 4207 _In_reads_(cEntries) CONST PALETTEENTRY *pPalEntries); 4208 4209 COLORREF WINAPI SetPixel(_In_ HDC, _In_ int, _In_ int, _In_ COLORREF); 4210 BOOL WINAPI SetPixelFormat(_In_ HDC, _In_ int, _In_ const PIXELFORMATDESCRIPTOR*); 4211 BOOL WINAPI SetPixelV(_In_ HDC, _In_ int, _In_ int, _In_ COLORREF); 4212 int WINAPI SetPolyFillMode(_In_ HDC, _In_ int); 4213 BOOL WINAPI SetRectRgn(_In_ HRGN, _In_ int, _In_ int, _In_ int, _In_ int); 4214 INT WINAPI SetRelAbs(HDC,INT); 4215 int WINAPI SetROP2(_In_ HDC, _In_ int); 4216 int WINAPI SetStretchBltMode(_In_ HDC, _In_ int); 4217 UINT WINAPI SetSystemPaletteUse(_In_ HDC, _In_ UINT); 4218 UINT WINAPI SetTextAlign(_In_ HDC, _In_ UINT); 4219 int WINAPI SetTextCharacterExtra(_In_ HDC, _In_ int); 4220 COLORREF WINAPI SetTextColor(_In_ HDC, _In_ COLORREF); 4221 BOOL WINAPI SetTextJustification(_In_ HDC, _In_ int, _In_ int); 4222 BOOL WINAPI SetViewportExtEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPSIZE); 4223 BOOL WINAPI SetViewportOrgEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT); 4224 BOOL WINAPI SetWindowExtEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPSIZE); 4225 BOOL WINAPI SetWindowOrgEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT); 4226 4227 HENHMETAFILE 4228 WINAPI 4229 SetWinMetaFileBits( 4230 _In_ UINT nSize, 4231 _In_reads_bytes_(nSize) const BYTE *lpMeta16Data, 4232 _In_opt_ HDC hdcRef, 4233 _In_opt_ const METAFILEPICT *lpMFP); 4234 4235 BOOL WINAPI SetWorldTransform(_In_ HDC, _In_ const XFORM *); 4236 int WINAPI StartDocA(_In_ HDC, _In_ const DOCINFOA*); 4237 int WINAPI StartDocW(_In_ HDC, _In_ const DOCINFOW*); 4238 int WINAPI StartPage(_In_ HDC); 4239 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); 4240 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); 4241 BOOL WINAPI StrokeAndFillPath(_In_ HDC); 4242 BOOL WINAPI StrokePath(_In_ HDC); 4243 BOOL WINAPI SwapBuffers(HDC); 4244 4245 BOOL 4246 WINAPI 4247 TextOutA( 4248 _In_ HDC hdc, 4249 _In_ int x, 4250 _In_ int y, 4251 _In_reads_(c) LPCSTR lpString, 4252 _In_ int c); 4253 4254 BOOL 4255 WINAPI 4256 TextOutW( 4257 _In_ HDC hdc, 4258 _In_ int x, 4259 _In_ int y, 4260 _In_reads_(c) LPCWSTR lpString, 4261 _In_ int c); 4262 4263 BOOL WINAPI TranslateCharsetInfo(_Inout_ PDWORD, _Out_ LPCHARSETINFO, _In_ DWORD); 4264 BOOL WINAPI UnrealizeObject(_In_ HGDIOBJ); 4265 BOOL WINAPI UpdateColors(_In_ HDC); 4266 BOOL WINAPI UpdateICMRegKeyA(_Reserved_ DWORD, _In_ LPSTR, _In_ LPSTR, _In_ UINT); 4267 BOOL WINAPI UpdateICMRegKeyW(_Reserved_ DWORD, _In_ LPWSTR, _In_ LPWSTR, _In_ UINT); 4268 BOOL WINAPI WidenPath(_In_ HDC); 4269 BOOL WINAPI wglCopyContext(HGLRC,HGLRC,UINT); 4270 HGLRC WINAPI wglCreateContext(HDC); 4271 HGLRC WINAPI wglCreateLayerContext(HDC,int); 4272 BOOL WINAPI wglDeleteContext(HGLRC); 4273 BOOL WINAPI wglDescribeLayerPlane(HDC,int,int,UINT,LPLAYERPLANEDESCRIPTOR); 4274 HGLRC WINAPI wglGetCurrentContext(void); 4275 HDC WINAPI wglGetCurrentDC(void); 4276 int WINAPI wglGetLayerPaletteEntries(HDC,int,int,int,COLORREF*); 4277 PROC WINAPI wglGetProcAddress(LPCSTR); 4278 BOOL WINAPI wglMakeCurrent(HDC,HGLRC); 4279 BOOL WINAPI wglRealizeLayerPalette(HDC,int,BOOL); 4280 int WINAPI wglSetLayerPaletteEntries(HDC,int,int,int,const COLORREF*); 4281 BOOL WINAPI wglShareLists(HGLRC,HGLRC); 4282 BOOL WINAPI wglSwapLayerBuffers(HDC,UINT); 4283 BOOL WINAPI wglUseFontBitmapsA(HDC,DWORD,DWORD,DWORD); 4284 BOOL WINAPI wglUseFontBitmapsW(HDC,DWORD,DWORD,DWORD); 4285 BOOL WINAPI wglUseFontOutlinesA(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT); 4286 BOOL WINAPI wglUseFontOutlinesW(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT); 4287 4288 #if (WINVER >= 0x0500) 4289 4290 typedef struct _WGLSWAP 4291 { 4292 HDC hdc; 4293 UINT uiFlags; 4294 } WGLSWAP, *PWGLSWAP, FAR *LPWGLSWAP; 4295 4296 #define WGL_SWAPMULTIPLE_MAX 16 4297 4298 DWORD WINAPI wglSwapMultipleBuffers(UINT, CONST WGLSWAP *); 4299 4300 #endif // (WINVER >= 0x0500) 4301 4302 #if (WINVER>= 0x0500) 4303 4304 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); 4305 4306 BOOL 4307 WINAPI 4308 GradientFill( 4309 _In_ HDC hdc, 4310 _In_reads_(nVertex) PTRIVERTEX pVertex, 4311 _In_ ULONG nVertex, 4312 _In_ PVOID pMesh, 4313 _In_ ULONG nMesh, 4314 _In_ ULONG ulMode); 4315 4316 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); 4317 4318 #endif 4319 4320 #ifdef UNICODE 4321 typedef AXESLISTW AXESLIST; 4322 typedef PAXESLISTW PAXESLIST; 4323 typedef LPAXESLISTW LPAXESLIST; 4324 typedef AXISINFOA AXISINFO; 4325 typedef PAXISINFOA PAXISINFO; 4326 typedef LPAXISINFOA LPAXISINFO; 4327 typedef WCHAR BCHAR; 4328 typedef DOCINFOW DOCINFO, *LPDOCINFO; 4329 typedef LOGFONTW LOGFONT,*PLOGFONT,*LPLOGFONT; 4330 typedef TEXTMETRICW TEXTMETRIC,*PTEXTMETRIC,*LPTEXTMETRIC; 4331 #define ICMENUMPROC ICMENUMPROCW 4332 typedef DEVMODEW DEVMODE,*PDEVMODE,*LPDEVMODE; 4333 typedef ENUMLOGFONTEXDVW ENUMLOGFONTEXDV; 4334 typedef PENUMLOGFONTEXDVW PENUMLOGFONTEXDV; 4335 typedef LPENUMLOGFONTEXDVW LPENUMLOGFONTEXDV; 4336 typedef ENUMTEXTMETRICW ENUMTEXTMETRIC; 4337 typedef PENUMTEXTMETRICW PENUMTEXTMETRIC; 4338 typedef LPENUMTEXTMETRICW LPENUMTEXTMETRIC; 4339 typedef EXTLOGFONTW EXTLOGFONT,*PEXTLOGFONT,*LPEXTLOGFONT; 4340 typedef GCP_RESULTSW GCP_RESULTS,*LPGCP_RESULTS; 4341 typedef OUTLINETEXTMETRICW OUTLINETEXTMETRIC,*POUTLINETEXTMETRIC,*LPOUTLINETEXTMETRIC; 4342 typedef POLYTEXTW POLYTEXT,*PPOLYTEXT,*LPPOLYTEXT; 4343 typedef LOGCOLORSPACEW LOGCOLORSPACE,*LPLOGCOLORSPACE; 4344 typedef NEWTEXTMETRICW NEWTEXTMETRIC,*PNEWTEXTMETRIC,*LPNEWTEXTMETRIC; 4345 typedef NEWTEXTMETRICEXW NEWTEXTMETRICEX; 4346 typedef ENUMLOGFONTW ENUMLOGFONT,*LPENUMLOGFONT; 4347 typedef ENUMLOGFONTEXW ENUMLOGFONTEX,*LPENUMLOGFONTEX; 4348 typedef DISPLAY_DEVICEW DISPLAY_DEVICE, *PDISPLAY_DEVICE, *LPDISPLAY_DEVICE; 4349 #define AddFontResource AddFontResourceW 4350 #if (_WIN32_WINNT >= 0x0500) 4351 #define AddFontResourceEx AddFontResourceExW 4352 #endif 4353 #define CopyEnhMetaFile CopyEnhMetaFileW 4354 #define CopyMetaFile CopyMetaFileW 4355 #define CreateDC CreateDCW 4356 #define CreateEnhMetaFile CreateEnhMetaFileW 4357 #define CreateFont CreateFontW 4358 #define CreateFontIndirect CreateFontIndirectW 4359 #define CreateFontIndirectEx CreateFontIndirectExW 4360 #define CreateIC CreateICW 4361 #define CreateMetaFile CreateMetaFileW 4362 #define CreateScalableFontResource CreateScalableFontResourceW 4363 #define DeviceCapabilities DeviceCapabilitiesW 4364 #define EnumFontFamilies EnumFontFamiliesW 4365 #define EnumFontFamiliesEx EnumFontFamiliesExW 4366 #define EnumFonts EnumFontsW 4367 #define EnumICMProfiles EnumICMProfilesW 4368 #define ExtTextOut ExtTextOutW 4369 #define GetCharABCWidthsFloat GetCharABCWidthsFloatW 4370 #define GetCharABCWidths GetCharABCWidthsW 4371 #define GetCharacterPlacement GetCharacterPlacementW 4372 #define GetCharWidth32 GetCharWidth32W 4373 #define GetCharWidthFloat GetCharWidthFloatW 4374 #define GetCharWidth GetCharWidthW 4375 #define GetEnhMetaFile GetEnhMetaFileW 4376 #define GetEnhMetaFileDescription GetEnhMetaFileDescriptionW 4377 #define GetGlyphOutline GetGlyphOutlineW 4378 #define GetICMProfile GetICMProfileW 4379 #define GetKerningPairs GetKerningPairsW 4380 #define GetLogColorSpace GetLogColorSpaceW 4381 #define GetMetaFile GetMetaFileW 4382 #define GetObject GetObjectW 4383 #define GetOutlineTextMetrics GetOutlineTextMetricsW 4384 #define GetTextExtentPoint GetTextExtentPointW 4385 #define GetTextExtentExPoint GetTextExtentExPointW 4386 #define GetTextExtentPoint32 GetTextExtentPoint32W 4387 #define GetTextFace GetTextFaceW 4388 #define GetTextMetrics GetTextMetricsW 4389 #define PolyTextOut PolyTextOutW 4390 #define RemoveFontResource RemoveFontResourceW 4391 #if (_WIN32_WINNT >= 0x0500) 4392 #define RemoveFontResourceEx RemoveFontResourceExW 4393 #endif 4394 #define ResetDC ResetDCW 4395 #define SetICMProfile SetICMProfileW 4396 #define StartDoc StartDocW 4397 #define TextOut TextOutW 4398 #define UpdateICMRegKey UpdateICMRegKeyW 4399 #define wglUseFontBitmaps wglUseFontBitmapsW 4400 #define wglUseFontOutlines wglUseFontOutlinesW 4401 #else 4402 typedef AXESLISTA AXESLIST; 4403 typedef PAXESLISTA PAXESLIST; 4404 typedef LPAXESLISTA LPAXESLIST; 4405 typedef AXISINFOA AXISINFO; 4406 typedef PAXISINFOA PAXISINFO; 4407 typedef LPAXISINFOA LPAXISINFO; 4408 typedef BYTE BCHAR; 4409 typedef DOCINFOA DOCINFO, *LPDOCINFO; 4410 typedef LOGFONTA LOGFONT,*PLOGFONT,*LPLOGFONT; 4411 typedef TEXTMETRICA TEXTMETRIC,*PTEXTMETRIC,*LPTEXTMETRIC; 4412 #define ICMENUMPROC ICMENUMPROCA 4413 typedef DEVMODEA DEVMODE,*PDEVMODE,*LPDEVMODE; 4414 typedef ENUMLOGFONTEXDVA ENUMLOGFONTEXDV; 4415 typedef PENUMLOGFONTEXDVA PENUMLOGFONTEXDV; 4416 typedef LPENUMLOGFONTEXDVA LPENUMLOGFONTEXDV; 4417 typedef ENUMTEXTMETRICA ENUMTEXTMETRIC; 4418 typedef PENUMTEXTMETRICA PENUMTEXTMETRIC; 4419 typedef LPENUMTEXTMETRICA LPENUMTEXTMETRIC; 4420 typedef EXTLOGFONTA EXTLOGFONT,*PEXTLOGFONT,*LPEXTLOGFONT; 4421 typedef GCP_RESULTSA GCP_RESULTS,*LPGCP_RESULTS; 4422 typedef OUTLINETEXTMETRICA OUTLINETEXTMETRIC,*POUTLINETEXTMETRIC,*LPOUTLINETEXTMETRIC; 4423 typedef POLYTEXTA POLYTEXT,*PPOLYTEXT,*LPPOLYTEXT; 4424 typedef LOGCOLORSPACEA LOGCOLORSPACE,*LPLOGCOLORSPACE; 4425 typedef NEWTEXTMETRICA NEWTEXTMETRIC,*PNEWTEXTMETRIC,*LPNEWTEXTMETRIC; 4426 typedef NEWTEXTMETRICEXA NEWTEXTMETRICEX; 4427 typedef ENUMLOGFONTA ENUMLOGFONT,*LPENUMLOGFONT; 4428 typedef ENUMLOGFONTEXA ENUMLOGFONTEX,*LPENUMLOGFONTEX; 4429 typedef DISPLAY_DEVICEA DISPLAY_DEVICE, *PDISPLAY_DEVICE, *LPDISPLAY_DEVICE; 4430 #define AddFontResource AddFontResourceA 4431 #if (_WIN32_WINNT >= 0x0500) 4432 #define AddFontResourceEx AddFontResourceExA 4433 #endif 4434 #define CopyEnhMetaFile CopyEnhMetaFileA 4435 #define CopyMetaFile CopyMetaFileA 4436 #define CreateDC CreateDCA 4437 #define CreateEnhMetaFile CreateEnhMetaFileA 4438 #define CreateFont CreateFontA 4439 #define CreateFontIndirect CreateFontIndirectA 4440 #define CreateFontIndirectEx CreateFontIndirectExA 4441 #define CreateIC CreateICA 4442 #define CreateMetaFile CreateMetaFileA 4443 #define CreateScalableFontResource CreateScalableFontResourceA 4444 #define DeviceCapabilities DeviceCapabilitiesA 4445 #define EnumFontFamilies EnumFontFamiliesA 4446 #define EnumFontFamiliesEx EnumFontFamiliesExA 4447 #define EnumFonts EnumFontsA 4448 #define EnumICMProfiles EnumICMProfilesA 4449 #define ExtTextOut ExtTextOutA 4450 #define GetCharWidthFloat GetCharWidthFloatA 4451 #define GetCharWidth GetCharWidthA 4452 #define GetCharacterPlacement GetCharacterPlacementA 4453 #define GetCharABCWidths GetCharABCWidthsA 4454 #define GetCharABCWidthsFloat GetCharABCWidthsFloatA 4455 #define GetCharWidth32 GetCharWidth32A 4456 #define GetEnhMetaFile GetEnhMetaFileA 4457 #define GetEnhMetaFileDescription GetEnhMetaFileDescriptionA 4458 #define GetGlyphOutline GetGlyphOutlineA 4459 #define GetICMProfile GetICMProfileA 4460 #define GetKerningPairs GetKerningPairsA 4461 #define GetLogColorSpace GetLogColorSpaceA 4462 #define GetMetaFile GetMetaFileA 4463 #define GetObject GetObjectA 4464 #define GetOutlineTextMetrics GetOutlineTextMetricsA 4465 #define GetTextExtentPoint GetTextExtentPointA 4466 #define GetTextExtentExPoint GetTextExtentExPointA 4467 #define GetTextExtentPoint32 GetTextExtentPoint32A 4468 #define GetTextFace GetTextFaceA 4469 #define GetTextMetrics GetTextMetricsA 4470 #define PolyTextOut PolyTextOutA 4471 #define RemoveFontResource RemoveFontResourceA 4472 #if (_WIN32_WINNT >= 0x0500) 4473 #define RemoveFontResourceEx RemoveFontResourceExA 4474 #endif 4475 #define ResetDC ResetDCA 4476 #define SetICMProfile SetICMProfileA 4477 #define StartDoc StartDocA 4478 #define TextOut TextOutA 4479 #define UpdateICMRegKey UpdateICMRegKeyA 4480 #define wglUseFontBitmaps wglUseFontBitmapsA 4481 #define wglUseFontOutlines wglUseFontOutlinesA 4482 #endif 4483 #endif 4484 4485 #ifdef __WINESRC__ 4486 /* the DC hook support is only exported on Win16, the 32-bit version is a Wine extension */ 4487 4488 #define DCHC_INVALIDVISRGN 0x0001 4489 #define DCHC_DELETEDC 0x0002 4490 #define DCHF_INVALIDATEVISRGN 0x0001 4491 #define DCHF_VALIDATEVISRGN 0x0002 4492 4493 typedef BOOL (CALLBACK *DCHOOKPROC)(HDC,WORD,DWORD_PTR,LPARAM); 4494 4495 WINGDIAPI DWORD_PTR WINAPI GetDCHook(HDC,DCHOOKPROC*); 4496 WINGDIAPI BOOL WINAPI SetDCHook(HDC,DCHOOKPROC,DWORD_PTR); 4497 WINGDIAPI WORD WINAPI SetHookFlags(HDC,WORD); 4498 WINGDIAPI INT WINAPI SelectVisRgn(HDC,HRGN); 4499 #endif /* __WINESRC__ */ 4500 4501 #ifdef _MSC_VER 4502 #pragma warning(pop) 4503 #endif 4504 4505 #ifdef __cplusplus 4506 } 4507 #endif 4508 4509 #endif //!NOGDI 4510 #endif // _WINGDI_H 4511