Differences From Artifact [8dc90b344401d2c4]:
- File
src/win32/wingdi.d
- 2011-02-23 12:53:16 - part of checkin [c2b7a98c21] on branch trunk - Initial import (user: kinaba) [annotate]
To Artifact [831d9d5a2951cb99]:
- File
src/win32/wingdi.d
- 2015-04-21 10:46:55 - part of checkin [4e2933c620] on branch trunk - Rebased to the latest verson dmd 2.067. Not yet verified the outcome. (user: kinaba) [annotate]
> 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;