Diff

Not logged in

Differences From Artifact [8dc90b344401d2c4]:

To Artifact [831d9d5a2951cb99]:


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