Diff

Not logged in

Differences From Artifact [8dc90b344401d2c4]:

To Artifact [831d9d5a2951cb99]:


1 + 2 +/***********************************************************************\ 3 +* wingdi.d * 4 +* * 5 +* Windows API header module * 6 +* * 7 +* Translated from MinGW Windows headers * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 1 11 module win32.wingdi; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino (demoonlit@inter7.jp) 5 - 6 -import win32.windef; 7 - 8 -// #ifndef _WINGDI_ 9 -// #define _WINGDI_ 10 - 11 -// #ifdef _MAC 12 -// #... 13 -// #endif 14 - 15 -// #if !defined(_GDI32_) 16 -// #define WINGDIAPI DECLSPEC_IMPORT 17 -// #else 18 -// #... 19 -// #endif 20 - 21 -// #if !defined(_SPOOL32_) 22 -// #define WINSPOOLAPI DECLSPEC_IMPORT 23 -// #else 24 -// #... 25 -// #endif 26 - 27 -// #ifdef __cplusplus 28 -// extern "C" { 29 -// #endif 30 - 31 -// #ifndef WINVER 32 -// #... 33 -// #endif /* WINVER */ 34 - 35 -// #ifndef NOGDI 36 - 37 -// #ifndef NORASTEROPS 38 - 39 -enum : uint { R2_BLACK = 1 } 40 -enum : uint { R2_NOTMERGEPEN = 2 } 41 -enum : uint { R2_MASKNOTPEN = 3 } 42 -enum : uint { R2_NOTCOPYPEN = 4 } 43 -enum : uint { R2_MASKPENNOT = 5 } 44 -enum : uint { R2_NOT = 6 } 45 -enum : uint { R2_XORPEN = 7 } 46 -enum : uint { R2_NOTMASKPEN = 8 } 47 -enum : uint { R2_MASKPEN = 9 } 48 -enum : uint { R2_NOTXORPEN = 10 } 49 -enum : uint { R2_NOP = 11 } 50 -enum : uint { R2_MERGENOTPEN = 12 } 51 -enum : uint { R2_COPYPEN = 13 } 52 -enum : uint { R2_MERGEPENNOT = 14 } 53 -enum : uint { R2_MERGEPEN = 15 } 54 -enum : uint { R2_WHITE = 16 } 55 -enum : uint { R2_LAST = 16 } 56 - 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) 73 - 74 -enum : DWORD { NOMIRRORBITMAP = 0x80000000 } 75 -enum : DWORD { CAPTUREBLT = 0x40000000 } 76 -// #endif /* WINVER >= 0x0500 */ 77 - 78 -DWORD MAKEROP4(DWORD fore, DWORD back){ return ((back << 8) & 0xFF000000) | fore; } 79 - 80 -// #endif /* NORASTEROPS */ 81 - 82 -enum : uint { GDI_ERROR = 0xFFFFFFFF } 83 -const HANDLE HGDI_ERROR = cast(HANDLE)(0xFFFFFFFFL); 84 - 85 -enum : uint { ERROR = 0 } 86 -enum : uint { NULLREGION = 1 } 87 -enum : uint { SIMPLEREGION = 2 } 88 -enum : uint { COMPLEXREGION = 3 } 12 +pragma(lib, "gdi32.lib"); 13 + 14 +// FIXME: clean up Windows version support 15 + 16 +private import win32.w32api, win32.windef, win32.winver; 17 + 18 +// BITMAPINFOHEADER.biCompression 19 +enum : DWORD { 20 + BI_RGB = 0, 21 + BI_RLE8, 22 + BI_RLE4, 23 + BI_BITFIELDS, 24 + BI_JPEG, 25 + BI_PNG 26 +} 27 + 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 + 63 +// --- 64 + 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; 209 +else static 210 + 211 + if (WINVER >= 0x0400) 212 + const EMR_MAX = EMR_PIXELFORMAT; 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 + 314 +// ---- 315 +// PIXELFORMATDESCRIPTOR.iPixelType 316 +enum : BYTE { 317 + PFD_TYPE_RGBA = 0, 318 + PFD_TYPE_COLORINDEX = 1 319 +} 320 + 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 + 351 +// ---- 352 + 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 370 + 371 +if (WINVER >= 0x0500) 372 +{ 373 + const DWORD 374 + NOMIRRORBITMAP = 0x80000000, 375 + CAPTUREBLT = 0x40000000; 376 +} 377 + 378 +// GetROP2(), SetROP2() 379 +enum : int { 380 + R2_BLACK = 1, 381 + R2_NOTMERGEPEN = 2, 382 + R2_MASKNOTPEN = 3, 383 + R2_NOTCOPYPEN = 4, 384 + R2_MASKPENNOT = 5, 385 + R2_NOT = 6, 386 + R2_XORPEN = 7, 387 + R2_NOTMASKPEN = 8, 388 + R2_MASKPEN = 9, 389 + R2_NOTXORPEN = 10, 390 + R2_NOP = 11, 391 + R2_MERGENOTPEN = 12, 392 + R2_COPYPEN = 13, 393 + R2_MERGEPENNOT = 14, 394 + R2_MERGEPEN = 15, 395 + R2_WHITE = 16 396 +} 397 + 398 +const R2_LAST = R2_WHITE; 399 + 400 +// CheckColorsInGamut() 401 +const ubyte 402 +CM_IN_GAMUT = 0, 403 +CM_OUT_OF_GAMUT = 255; 404 + 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; 414 + 415 +enum : int { 416 + RGN_AND = 1, 417 + RGN_OR = 2, 418 + RGN_XOR = 3, 419 + RGN_DIFF = 4, 420 + RGN_COPY = 5 421 +} 422 + 423 +const RGN_MIN = RGN_AND; 424 +const RGN_MAX = RGN_COPY; 425 + 426 +// Return values for CombineRgn() 427 +enum { 428 + NULLREGION = 1, 429 + SIMPLEREGION = 2, 430 + COMPLEXREGION = 3 431 +} 432 + 433 +const ERROR = 0; 89 434 alias ERROR RGN_ERROR; 90 435 91 -enum : uint { RGN_AND = 1 } 92 -enum : uint { RGN_OR = 2 } 93 -enum : uint { RGN_XOR = 3 } 94 -enum : uint { RGN_DIFF = 4 } 95 -enum : uint { RGN_COPY = 5 } 96 -alias RGN_AND RGN_MIN; 97 -alias RGN_COPY RGN_MAX; 98 - 99 -enum : uint { BLACKONWHITE = 1 } 100 -enum : uint { WHITEONBLACK = 2 } 101 -enum : uint { COLORONCOLOR = 3 } 102 -enum : uint { HALFTONE = 4 } 103 -enum : uint { MAXSTRETCHBLTMODE = 4 } 104 - 105 -// #if(WINVER >= 0x0400) 106 - 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 - 113 -enum : uint { ALTERNATE = 1 } 114 -enum : uint { WINDING = 2 } 115 -enum : uint { POLYFILL_LAST = 2 } 116 - 117 -// #if(WINVER >= 0x0500) 118 -enum : uint { LAYOUT_RTL = 0x00000001 } 119 -enum : uint { LAYOUT_BTT = 0x00000002 } 120 -enum : uint { LAYOUT_VBH = 0x00000004 } 121 -enum : uint { LAYOUT_ORIENTATIONMASK = LAYOUT_RTL | LAYOUT_BTT | LAYOUT_VBH } 122 -enum : uint { LAYOUT_BITMAPORIENTATIONPRESERVED = 0x00000008 } 123 -// #endif /* WINVER >= 0x0500 */ 124 - 125 -enum : uint { TA_NOUPDATECP = 0 } 126 -enum : uint { TA_UPDATECP = 1 } 127 - 128 -enum : uint { TA_LEFT = 0 } 129 -enum : uint { TA_RIGHT = 2 } 130 -enum : uint { TA_CENTER = 6 } 131 - 132 -enum : uint { TA_TOP = 0 } 133 -enum : uint { TA_BOTTOM = 8 } 134 -enum : uint { TA_BASELINE = 24 } 135 -// #if (WINVER >= 0x0400) 136 -enum : uint { TA_RTLREADING = 256 } 137 -enum : uint { TA_MASK = TA_BASELINE+TA_CENTER+TA_UPDATECP+TA_RTLREADING } 138 -// #else 139 -// #... 140 -// #endif 141 - 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; 148 - 149 -enum : uint { ETO_OPAQUE = 0x0002 } 150 -enum : uint { ETO_CLIPPED = 0x0004 } 151 -// #if(WINVER >= 0x0400) 152 -enum : uint { ETO_GLYPH_INDEX = 0x0010 } 153 -enum : uint { ETO_RTLREADING = 0x0080 } 154 -enum : uint { ETO_NUMERICSLOCAL = 0x0400 } 155 -enum : uint { ETO_NUMERICSLATIN = 0x0800 } 156 -enum : uint { ETO_IGNORELANGUAGE = 0x1000 } 157 -// #endif /* WINVER >= 0x0400 */ 158 -// #if (_WIN32_WINNT >= 0x0500) 159 -enum : uint { ETO_PDY = 0x2000 } 160 -// #endif // (_WIN32_WINNT >= 0x0500) 161 - 162 -enum : uint { ASPECT_FILTERING = 0x0001 } 163 - 164 -enum : uint { DCB_RESET = 0x0001 } 165 -enum : uint { DCB_ACCUMULATE = 0x0002 } 166 -alias DCB_ACCUMULATE DCB_DIRTY; 167 -enum : uint { DCB_SET = DCB_RESET | DCB_ACCUMULATE } 168 -enum : uint { DCB_ENABLE = 0x0004 } 169 -enum : uint { DCB_DISABLE = 0x0008 } 170 - 171 -// #ifndef NOMETAFILE 172 - 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 } 197 -enum : uint { META_FLOODFILL = 0x0419 } 198 -enum : uint { META_PIE = 0x081A } 199 -enum : uint { META_RECTANGLE = 0x041B } 200 -enum : uint { META_ROUNDRECT = 0x061C } 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 } 209 -enum : uint { META_POLYLINE = 0x0325 } 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 } 227 -enum : uint { META_POLYPOLYGON = 0x0538 } 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 } 234 -// #if(WINVER >= 0x0500) 235 -enum : uint { META_SETLAYOUT = 0x0149 } 236 -// #endif /* WINVER >= 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 - 245 -// #if(WINVER >= 0x0400) 246 -struct _DRAWPATRECT { 247 - POINT ptPosition; 248 - POINT ptSize; 249 - WORD wStyle; 250 - WORD wPattern; 251 -} 252 -alias _DRAWPATRECT DRAWPATRECT; 253 -alias _DRAWPATRECT* PDRAWPATRECT; 254 - 255 -// #endif /* WINVER >= 0x0400 */ 256 - 257 -// #endif /* NOMETAFILE */ 258 - 259 -enum : uint { NEWFRAME = 1 } 260 -enum : uint { ABORTDOC = 2 } 261 -enum : uint { NEXTBAND = 3 } 262 -enum : uint { SETCOLORTABLE = 4 } 263 -enum : uint { GETCOLORTABLE = 5 } 264 -enum : uint { FLUSHOUTPUT = 6 } 265 -enum : uint { DRAFTMODE = 7 } 266 -enum : uint { QUERYESCSUPPORT = 8 } 267 -enum : uint { SETABORTPROC = 9 } 268 -enum : uint { STARTDOC = 10 } 269 -enum : uint { ENDDOC = 11 } 270 -enum : uint { GETPHYSPAGESIZE = 12 } 271 -enum : uint { GETPRINTINGOFFSET = 13 } 272 -enum : uint { GETSCALINGFACTOR = 14 } 273 -enum : uint { MFCOMMENT = 15 } 274 -enum : uint { GETPENWIDTH = 16 } 275 -enum : uint { SETCOPYCOUNT = 17 } 276 -enum : uint { SELECTPAPERSOURCE = 18 } 277 -enum : uint { DEVICEDATA = 19 } 278 -enum : uint { PASSTHROUGH = 19 } 279 -enum : uint { GETTECHNOLGY = 20 } 280 -enum : uint { GETTECHNOLOGY = 20 } 281 -enum : uint { SETLINECAP = 21 } 282 -enum : uint { SETLINEJOIN = 22 } 283 -enum : uint { SETMITERLIMIT = 23 } 284 -enum : uint { BANDINFO = 24 } 285 -enum : uint { DRAWPATTERNRECT = 25 } 286 -enum : uint { GETVECTORPENSIZE = 26 } 287 -enum : uint { GETVECTORBRUSHSIZE = 27 } 288 -enum : uint { ENABLEDUPLEX = 28 } 289 -enum : uint { GETSETPAPERBINS = 29 } 290 -enum : uint { GETSETPRINTORIENT = 30 } 291 -enum : uint { ENUMPAPERBINS = 31 } 292 -enum : uint { SETDIBSCALING = 32 } 293 -enum : uint { EPSPRINTING = 33 } 294 -enum : uint { ENUMPAPERMETRICS = 34 } 295 -enum : uint { GETSETPAPERMETRICS = 35 } 296 -enum : uint { POSTSCRIPT_DATA = 37 } 297 -enum : uint { POSTSCRIPT_IGNORE = 38 } 298 -enum : uint { MOUSETRAILS = 39 } 299 -enum : uint { GETDEVICEUNITS = 42 } 300 - 301 -enum : uint { GETEXTENDEDTEXTMETRICS = 256 } 302 -enum : uint { GETEXTENTTABLE = 257 } 303 -enum : uint { GETPAIRKERNTABLE = 258 } 304 -enum : uint { GETTRACKKERNTABLE = 259 } 305 -enum : uint { EXTTEXTOUT = 512 } 306 -enum : uint { GETFACENAME = 513 } 307 -enum : uint { DOWNLOADFACE = 514 } 308 -enum : uint { ENABLERELATIVEWIDTHS = 768 } 309 -enum : uint { ENABLEPAIRKERNING = 769 } 310 -enum : uint { SETKERNTRACK = 770 } 311 -enum : uint { SETALLJUSTVALUES = 771 } 312 -enum : uint { SETCHARSET = 772 } 313 - 314 -enum : uint { STRETCHBLT = 2048 } 315 -enum : uint { METAFILE_DRIVER = 2049 } 316 -enum : uint { GETSETSCREENPARAMS = 3072 } 317 -enum : uint { QUERYDIBSUPPORT = 3073 } 318 -enum : uint { BEGIN_PATH = 4096 } 319 -enum : uint { CLIP_TO_PATH = 4097 } 320 -enum : uint { END_PATH = 4098 } 321 -enum : uint { EXT_DEVICE_CAPS = 4099 } 322 -enum : uint { RESTORE_CTM = 4100 } 323 -enum : uint { SAVE_CTM = 4101 } 324 -enum : uint { SET_ARC_DIRECTION = 4102 } 325 -enum : uint { SET_BACKGROUND_COLOR = 4103 } 326 -enum : uint { SET_POLY_MODE = 4104 } 327 -enum : uint { SET_SCREEN_ANGLE = 4105 } 328 -enum : uint { SET_SPREAD = 4106 } 329 -enum : uint { TRANSFORM_CTM = 4107 } 330 -enum : uint { SET_CLIP_BOX = 4108 } 331 -enum : uint { SET_BOUNDS = 4109 } 332 -enum : uint { SET_MIRROR_MODE = 4110 } 333 -enum : uint { OPENCHANNEL = 4110 } 334 -enum : uint { DOWNLOADHEADER = 4111 } 335 -enum : uint { CLOSECHANNEL = 4112 } 336 -enum : uint { POSTSCRIPT_PASSTHROUGH = 4115 } 337 -enum : uint { ENCAPSULATED_POSTSCRIPT = 4116 } 338 - 339 -enum : uint { POSTSCRIPT_IDENTIFY = 4117 } 340 -enum : uint { POSTSCRIPT_INJECTION = 4118 } 341 - 342 -enum : uint { CHECKJPEGFORMAT = 4119 } 343 -enum : uint { CHECKPNGFORMAT = 4120 } 344 - 345 -enum : uint { GET_PS_FEATURESETTING = 4121 } 346 - 347 -enum : uint { SPCLPASSTHROUGH2 = 4568 } 348 - 349 -enum : uint { PSIDENT_GDICENTRIC = 0 } 350 -enum : uint { PSIDENT_PSCENTRIC = 1 } 351 - 352 -struct _PSINJECTDATA { 353 - 354 - DWORD DataBytes; 355 - WORD InjectionPoint; 356 - WORD PageNumber; 357 - 358 -} 359 -alias _PSINJECTDATA PSINJECTDATA; 360 -alias _PSINJECTDATA* PPSINJECTDATA; 361 - 362 -enum : uint { PSINJECT_BEGINSTREAM = 1 } 363 -enum : uint { PSINJECT_PSADOBE = 2 } 364 -enum : uint { PSINJECT_PAGESATEND = 3 } 365 -enum : uint { PSINJECT_PAGES = 4 } 366 - 367 -enum : uint { PSINJECT_DOCNEEDEDRES = 5 } 368 -enum : uint { PSINJECT_DOCSUPPLIEDRES = 6 } 369 -enum : uint { PSINJECT_PAGEORDER = 7 } 370 -enum : uint { PSINJECT_ORIENTATION = 8 } 371 -enum : uint { PSINJECT_BOUNDINGBOX = 9 } 372 -enum : uint { PSINJECT_DOCUMENTPROCESSCOLORS = 10 } 373 - 374 -enum : uint { PSINJECT_COMMENTS = 11 } 375 -enum : uint { PSINJECT_BEGINDEFAULTS = 12 } 376 -enum : uint { PSINJECT_ENDDEFAULTS = 13 } 377 -enum : uint { PSINJECT_BEGINPROLOG = 14 } 378 -enum : uint { PSINJECT_ENDPROLOG = 15 } 379 -enum : uint { PSINJECT_BEGINSETUP = 16 } 380 -enum : uint { PSINJECT_ENDSETUP = 17 } 381 -enum : uint { PSINJECT_TRAILER = 18 } 382 -enum : uint { PSINJECT_EOF = 19 } 383 -enum : uint { PSINJECT_ENDSTREAM = 20 } 384 -enum : uint { PSINJECT_DOCUMENTPROCESSCOLORSATEND = 21 } 385 - 386 -enum : uint { PSINJECT_PAGENUMBER = 100 } 387 -enum : uint { PSINJECT_BEGINPAGESETUP = 101 } 388 -enum : uint { PSINJECT_ENDPAGESETUP = 102 } 389 -enum : uint { PSINJECT_PAGETRAILER = 103 } 390 -enum : uint { PSINJECT_PLATECOLOR = 104 } 391 - 392 -enum : uint { PSINJECT_SHOWPAGE = 105 } 393 -enum : uint { PSINJECT_PAGEBBOX = 106 } 394 -enum : uint { PSINJECT_ENDPAGECOMMENTS = 107 } 395 - 396 -enum : uint { PSINJECT_VMSAVE = 200 } 397 -enum : uint { PSINJECT_VMRESTORE = 201 } 398 - 399 -enum : uint { FEATURESETTING_NUP = 0 } 400 -enum : uint { FEATURESETTING_OUTPUT = 1 } 401 -enum : uint { FEATURESETTING_PSLEVEL = 2 } 402 -enum : uint { FEATURESETTING_CUSTPAPER = 3 } 403 -enum : uint { FEATURESETTING_MIRROR = 4 } 404 -enum : uint { FEATURESETTING_NEGATIVE = 5 } 405 -enum : uint { FEATURESETTING_PROTOCOL = 6 } 406 - 407 -enum : uint { FEATURESETTING_PRIVATE_BEGIN = 0x1000 } 408 -enum : uint { FEATURESETTING_PRIVATE_END = 0x1FFF } 409 - 410 -struct _PSFEATURE_OUTPUT { 411 - 412 - BOOL bPageIndependent; 413 - BOOL bSetPageDevice; 414 -} 415 -alias _PSFEATURE_OUTPUT PSFEATURE_OUTPUT; 416 -alias _PSFEATURE_OUTPUT* PPSFEATURE_OUTPUT; 417 - 418 -struct _PSFEATURE_CUSTPAPER { 419 - 420 - LONG lOrientation; 421 - LONG lWidth; 422 - LONG lHeight; 423 - LONG lWidthOffset; 424 - LONG lHeightOffset; 425 -} 426 -alias _PSFEATURE_CUSTPAPER PSFEATURE_CUSTPAPER; 427 -alias _PSFEATURE_CUSTPAPER* PPSFEATURE_CUSTPAPER; 428 - 429 -enum : uint { PSPROTOCOL_ASCII = 0 } 430 -enum : uint { PSPROTOCOL_BCP = 1 } 431 -enum : uint { PSPROTOCOL_TBCP = 2 } 432 -enum : uint { PSPROTOCOL_BINARY = 3 } 433 - 434 -enum : uint { QDI_SETDIBITS = 1 } 435 -enum : uint { QDI_GETDIBITS = 2 } 436 -enum : uint { QDI_DIBTOSCREEN = 4 } 437 -enum : uint { QDI_STRETCHDIB = 8 } 438 - 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 } 445 - 446 -enum : uint { PR_JOBSTATUS = 0x0000 } 447 - 448 -enum : uint { OBJ_PEN = 1 } 449 -enum : uint { OBJ_BRUSH = 2 } 450 -enum : uint { OBJ_DC = 3 } 451 -enum : uint { OBJ_METADC = 4 } 452 -enum : uint { OBJ_PAL = 5 } 453 -enum : uint { OBJ_FONT = 6 } 454 -enum : uint { OBJ_BITMAP = 7 } 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 } 462 - 463 -enum : uint { MWT_IDENTITY = 1 } 464 -enum : uint { MWT_LEFTMULTIPLY = 2 } 465 -enum : uint { MWT_RIGHTMULTIPLY = 3 } 466 - 467 -alias MWT_IDENTITY MWT_MIN; 468 -alias MWT_RIGHTMULTIPLY MWT_MAX; 469 - 470 -// #define _XFORM_ 471 -struct tagXFORM { 472 - FLOAT eM11; 473 - FLOAT eM12; 474 - FLOAT eM21; 475 - FLOAT eM22; 476 - FLOAT eDx; 477 - FLOAT eDy; 478 -} 479 -alias tagXFORM XFORM; 480 -alias tagXFORM* PXFORM; 481 -alias tagXFORM* LPXFORM; 482 - 483 -struct tagBITMAP { 484 - LONG bmType; 485 - LONG bmWidth; 486 - LONG bmHeight; 487 - LONG bmWidthBytes; 488 - WORD bmPlanes; 489 - WORD bmBitsPixel; 490 - LPVOID bmBits; 491 -} 492 -alias tagBITMAP BITMAP; 493 -alias tagBITMAP* PBITMAP; 494 -alias tagBITMAP* NPBITMAP; 495 -alias tagBITMAP* LPBITMAP; 496 - 497 -align(1): 498 -struct tagRGBTRIPLE { 499 - BYTE rgbtBlue; 500 - BYTE rgbtGreen; 501 - BYTE rgbtRed; 502 -} 503 -alias tagRGBTRIPLE RGBTRIPLE; 504 - 505 -align: 506 - 507 -struct tagRGBQUAD { 508 - BYTE rgbBlue; 509 - BYTE rgbGreen; 510 - BYTE rgbRed; 511 - BYTE rgbReserved; 512 -} 513 -alias tagRGBQUAD RGBQUAD; 514 - 515 -alias RGBQUAD* LPRGBQUAD; 516 - 517 -// #if(WINVER >= 0x0400) 518 - 519 -enum : uint { CS_ENABLE = 0x00000001 } 520 -enum : uint { CS_DISABLE = 0x00000002 } 521 -enum : uint { CS_DELETE_TRANSFORM = 0x00000003 } 522 - 523 -// #define LCS_SIGNATURE 'PSOC' 524 - 525 -// #define LCS_sRGB 'sRGB' 526 -// #define LCS_WINDOWS_COLOR_SPACE 'Win ' 527 - 528 -alias LONG LCSCSTYPE; 529 -enum : uint { LCS_CALIBRATED_RGB = 0x00000000 } 530 - 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 - 537 -enum : uint { CM_OUT_OF_GAMUT = 255 } 538 -enum : uint { CM_IN_GAMUT = 0 } 539 - 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 } 547 - 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); } 552 - 553 -DWORD CMYK(BYTE c, BYTE m, BYTE y, BYTE k){ return (cast(COLORREF)(((cast(BYTE)(k)|(cast(WORD)(cast(BYTE)(y))<<8))|((cast(DWORD)cast(BYTE)(m))<<16))|((cast(DWORD)cast(BYTE)(c))<<24))); } 436 +// CreateDIBitmap() 437 +const DWORD CBM_INIT = 4; 438 + 439 +// CreateDIBitmap() 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 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 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 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! 572 +enum : BYTE { 573 + PAN_ANY = 0, 574 + PAN_NO_FIT = 1, 575 +} 576 + 577 +enum : BYTE { 578 + PAN_FAMILY_TEXT_DISPLAY = 2, 579 + PAN_FAMILY_SCRIPT, 580 + PAN_FAMILY_DECORATIVE, 581 + PAN_FAMILY_PICTORIAL 582 +} 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 598 +} 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 { 726 + ALTERNATE = 1, 727 + WINDING = 2 728 +} 729 +const int POLYFILL_LAST = WINDING; 730 + 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 { 775 + PS_COSMETIC = 0x00000000, 776 + PS_GEOMETRIC = 0x00010000, 777 + PS_TYPE_MASK = 0x000F0000, 778 +} 779 +enum : DWORD { 780 + PS_ENDCAP_ROUND = 0x00000000, 781 + PS_ENDCAP_SQUARE = 0x00000100, 782 + PS_ENDCAP_FLAT = 0x00000200, 783 + PS_ENDCAP_MASK = 0x00000F00, 784 +} 785 +enum : DWORD { 786 + PS_JOIN_ROUND = 0x00000000, 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 + 824 +if (WINVER >= 0x0500) 825 +{ 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, 838 + } 839 + enum { 840 + PRINTRATEUNIT_PPM = 1, 841 + PRINTRATEUNIT_CPS = 2, 842 + PRINTRATEUNIT_LPM = 3, 843 + PRINTRATEUNIT_IPM = 4, 844 + } 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 + 856 +if (WINVER >= 0x0400) 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 + 871 +// --- 872 + 873 +const FLOODFILLBORDER = 0; 874 +const FLOODFILLSURFACE = 1; 875 + 876 +// ExtTextOut() 877 +const UINT 878 +ETO_OPAQUE = 0x0002, 879 +ETO_CLIPPED = 0x0004, 880 +ETO_GLYPH_INDEX = 0x0010, 881 +ETO_RTLREADING = 0x0080, 882 +ETO_NUMERICSLOCAL = 0x0400, 883 +ETO_NUMERICSLATIN = 0x0800, 884 +ETO_IGNORELANGUAGE = 0x1000; 885 +static 886 + 887 +if (_WIN32_WINNT >= 0x0500) 888 +{ 889 + const UINT 890 + ETO_PDY = 0x2000; 891 +} 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 933 +DCB_RESET = 1, 934 +DCB_ACCUMULATE = 2, 935 +DCB_SET = DCB_RESET | DCB_ACCUMULATE, 936 +DCB_ENABLE = 4, 937 +DCB_DISABLE = 8, 938 +DCB_DIRTY = DCB_ACCUMULATE; 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, 1018 + DT_METAFILE, 1019 + DT_DISPFILE // = 6 1020 +} 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, 1037 +RC_FLOODFILL = 4096, 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, 1072 +CC_ROUNDRECT = 256; 1073 + 1074 +// Return values for GetDeviceCaps(dc, LINECAPS) 1075 + 1076 +const int 1077 +LC_NONE = 0, 1078 +LC_POLYLINE = 2, 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, 1099 +PC_POLYPOLYGON = 256, 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 + 1234 +if (WINVER >= 0x0400) 1235 +{ 1236 + enum : int { 1237 + DEFAULT_GUI_FONT = SYSTEM_FIXED_FONT + 1, 1238 + } 1239 +} 1240 + 1241 +static 1242 + 1243 +if (_WIN32_WINNT >= 0x0500) 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 + 1259 + if (WINVER >= 0x0400) 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 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() 1327 +enum : DWORD { 1328 + TCI_SRCCHARSET = 1, 1329 + TCI_SRCCODEPAGE = 2, 1330 + TCI_SRCFONTSIG = 3, 1331 + TCI_SRCLOCALE = 0x1000, 1332 +} 1333 + 1334 +// SetICMMode() 1335 +enum : int { 1336 + ICM_OFF = 1, 1337 + ICM_ON = 2, 1338 + ICM_QUERY = 3, 1339 + ICM_DONE_OUTSIDEDC = 4, 1340 +} 1341 + 1342 +// ---- 1343 +// Escape() Spooler Error Codes 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) 1355 +enum : int { 1356 + NEWFRAME = 1, 1357 + ABORTDOC = 2, 1358 + NEXTBAND = 3, 1359 + SETCOLORTABLE = 4, 1360 + GETCOLORTABLE = 5, 1361 + FLUSHOUTPUT = 6, 1362 + DRAFTMODE = 7, 1363 + QUERYESCSUPPORT = 8, 1364 + SETABORTPROC = 9, 1365 + STARTDOC = 10, 1366 + ENDDOC = 11, 1367 + GETPHYSPAGESIZE = 12, 1368 + GETPRINTINGOFFSET = 13, 1369 + GETSCALINGFACTOR = 14, 1370 + MFCOMMENT = 15, 1371 + GETPENWIDTH = 16, 1372 + SETCOPYCOUNT = 17, 1373 + SELECTPAPERSOURCE = 18, 1374 + DEVICEDATA = 19, 1375 + PASSTHROUGH = 19, 1376 + GETTECHNOLOGY = 20, 1377 + SETLINECAP = 21, 1378 + SETLINEJOIN = 22, 1379 + SETMITERLIMIT = 23, 1380 + BANDINFO = 24, 1381 + DRAWPATTERNRECT = 25, 1382 + GETVECTORPENSIZE = 26, 1383 + GETVECTORBRUSHSIZE = 27, 1384 + ENABLEDUPLEX = 28, 1385 + GETSETPAPERBINS = 29, 1386 + GETSETPRINTORIENT = 30, 1387 + ENUMPAPERBINS = 31, 1388 + SETDIBSCALING = 32, 1389 + EPSPRINTING = 33, 1390 + ENUMPAPERMETRICS = 34, 1391 + GETSETPAPERMETRICS = 35, 1392 + POSTSCRIPT_DATA = 37, 1393 + POSTSCRIPT_IGNORE = 38, 1394 + MOUSETRAILS = 39, 1395 + GETDEVICEUNITS = 42, 1396 + GETEXTENDEDTEXTMETRICS = 256, 1397 + GETEXTENTTABLE = 257, 1398 + GETPAIRKERNTABLE = 258, 1399 + GETTRACKKERNTABLE = 259, 1400 + EXTTEXTOUT = 512, 1401 + GETFACENAME = 513, 1402 + DOWNLOADFACE = 514, 1403 + ENABLERELATIVEWIDTHS = 768, 1404 + ENABLEPAIRKERNING = 769, 1405 + SETKERNTRACK = 770, 1406 + SETALLJUSTVALUES = 771, 1407 + SETCHARSET = 772, 1408 + STRETCHBLT = 2048, 1409 + METAFILE_DRIVER = 2049, 1410 + GETSETSCREENPARAMS = 3072, 1411 + QUERYDIBSUPPORT = 3073, 1412 + BEGIN_PATH = 4096, 1413 + CLIP_TO_PATH = 4097, 1414 + END_PATH = 4098, 1415 + EXT_DEVICE_CAPS = 4099, 1416 + RESTORE_CTM = 4100, 1417 + SAVE_CTM = 4101, 1418 + SET_ARC_DIRECTION = 4102, 1419 + SET_BACKGROUND_COLOR = 4103, 1420 + SET_POLY_MODE = 4104, 1421 + SET_SCREEN_ANGLE = 4105, 1422 + SET_SPREAD = 4106, 1423 + TRANSFORM_CTM = 4107, 1424 + SET_CLIP_BOX = 4108, 1425 + SET_BOUNDS = 4109, 1426 + SET_MIRROR_MODE = 4110, 1427 + OPENCHANNEL = 4110, 1428 + DOWNLOADHEADER = 4111, 1429 + CLOSECHANNEL = 4112, 1430 + POSTSCRIPT_PASSTHROUGH = 4115, 1431 + ENCAPSULATED_POSTSCRIPT = 4116, 1432 + POSTSCRIPT_IDENTIFY = 4117, 1433 + POSTSCRIPT_INJECTION = 4118, 1434 + CHECKJPEGFORMAT = 4119, 1435 + CHECKPNGFORMAT = 4120, 1436 + GET_PS_FEATURESETTING = 4121, 1437 + SPCLPASSTHROUGH2 = 4568, 1438 +} 1439 + 1440 +enum : int { 1441 + PSIDENT_GDICENTRIC = 0, 1442 + PSIDENT_PSCENTRIC = 1, 1443 +} 1444 + 1445 +/* 1446 + * Header structure for the input buffer to POSTSCRIPT_INJECTION escape 1447 + */ 1448 +struct PSINJECTDATA 1449 +{ 1450 + DWORD DataBytes; 1451 + WORD InjectionPoint; 1452 + WORD PageNumber; 1453 +} 1454 +alias PSINJECTDATA*PPSINJECTDATA; 1455 + 1456 +/* Constants for PSINJECTDATA.InjectionPoint field */ 1457 +enum { 1458 + PSINJECT_BEGINSTREAM = 1, 1459 + PSINJECT_PSADOBE = 2, 1460 + PSINJECT_PAGESATEND = 3, 1461 + PSINJECT_PAGES = 4, 1462 + PSINJECT_DOCNEEDEDRES = 5, 1463 + PSINJECT_DOCSUPPLIEDRES = 6, 1464 + PSINJECT_PAGEORDER = 7, 1465 + PSINJECT_ORIENTATION = 8, 1466 + PSINJECT_BOUNDINGBOX = 9, 1467 + PSINJECT_DOCUMENTPROCESSCOLORS = 10, 1468 + PSINJECT_COMMENTS = 11, 1469 + PSINJECT_BEGINDEFAULTS = 12, 1470 + PSINJECT_ENDDEFAULTS = 13, 1471 + PSINJECT_BEGINPROLOG = 14, 1472 + PSINJECT_ENDPROLOG = 15, 1473 + PSINJECT_BEGINSETUP = 16, 1474 + PSINJECT_ENDSETUP = 17, 1475 + PSINJECT_TRAILER = 18, 1476 + PSINJECT_EOF = 19, 1477 + PSINJECT_ENDSTREAM = 20, 1478 + PSINJECT_DOCUMENTPROCESSCOLORSATEND = 21, 1479 + 1480 + PSINJECT_PAGENUMBER = 100, 1481 + PSINJECT_BEGINPAGESETUP = 101, 1482 + PSINJECT_ENDPAGESETUP = 102, 1483 + PSINJECT_PAGETRAILER = 103, 1484 + PSINJECT_PLATECOLOR = 104, 1485 + PSINJECT_SHOWPAGE = 105, 1486 + PSINJECT_PAGEBBOX = 106, 1487 + PSINJECT_ENDPAGECOMMENTS = 107, 1488 + 1489 + PSINJECT_VMSAVE = 200, 1490 + PSINJECT_VMRESTORE = 201, 1491 +} 1492 + 1493 +/* Parameter for GET_PS_FEATURESETTING escape */ 1494 +enum { 1495 + FEATURESETTING_NUP = 0, 1496 + FEATURESETTING_OUTPUT = 1, 1497 + FEATURESETTING_PSLEVEL = 2, 1498 + FEATURESETTING_CUSTPAPER = 3, 1499 + FEATURESETTING_MIRROR = 4, 1500 + FEATURESETTING_NEGATIVE = 5, 1501 + FEATURESETTING_PROTOCOL = 6, 1502 +} 1503 + 1504 +enum { 1505 + FEATURESETTING_PRIVATE_BEGIN = 0x1000, 1506 + FEATURESETTING_PRIVATE_END = 0x1FFF, 1507 +} 1508 + 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; 1514 + 1515 +// ---- 1516 + 1517 +const WPARAM PR_JOBSTATUS = 0; 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 + 1573 +// DEVMODE.dmOrientation 1574 +enum : short { 1575 + DMORIENT_PORTRAIT = 1, 1576 + DMORIENT_LANDSCAPE = 2 1577 +} 1578 + 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 1649 +} 1650 +static 1651 + 1652 +if (WINVER >= 0x0500) 1653 +{ 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 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 1720 +enum : short { 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 1742 +enum : short { 1743 + DMRES_DRAFT = -1, 1744 + DMRES_LOW = -2, 1745 + DMRES_MEDIUM = -3, 1746 + DMRES_HIGH = -4 1747 +} 1748 + 1749 +// DEVMODE.dmColor 1750 +enum : short { 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 { 1764 + DMTT_BITMAP = 1, 1765 + DMTT_DOWNLOAD, 1766 + DMTT_SUBDEV, 1767 + DMTT_DOWNLOAD_OUTLINE 1768 +} 1769 + 1770 +// DEVMODE.dmCollate 1771 +enum : short { 1772 + DMCOLLATE_FALSE = 0, 1773 + DMCOLLATE_TRUE 1774 +} 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 + 2085 +struct ABC 2086 +{ 2087 + int abcA; 2088 + UINT abcB; 2089 + int abcC; 2090 +} 2091 +alias ABC*PABC, NPABC, LPABC; 2092 + 2093 +struct ABCFLOAT 2094 +{ 2095 + FLOAT abcfA; 2096 + FLOAT abcfB; 2097 + FLOAT abcfC; 2098 +} 2099 +alias ABCFLOAT*PABCFLOAT, NPABCFLOAT, LPABCFLOAT; 2100 + 2101 +struct BITMAP 2102 +{ 2103 + LONG bmType; 2104 + LONG bmWidth; 2105 + LONG bmHeight; 2106 + LONG bmWidthBytes; 2107 + WORD bmPlanes; 2108 + WORD bmBitsPixel; 2109 + LPVOID bmBits; 2110 +} 2111 +alias BITMAP*PBITMAP, NPBITMAP, LPBITMAP; 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 + 2123 +align (1) : 2124 +struct RGBTRIPLE 2125 +{ 2126 + BYTE rgbtBlue; 2127 + BYTE rgbtGreen; 2128 + BYTE rgbtRed; 2129 +} 2130 +alias RGBTRIPLE*LPRGBTRIPLE; 2131 + 2132 +align (2) : 2133 +struct BITMAPFILEHEADER 2134 +{ 2135 + WORD bfType; 2136 + DWORD bfSize; 2137 + WORD bfReserved1; 2138 + WORD bfReserved2; 2139 + DWORD bfOffBits; 2140 +} 2141 +alias BITMAPFILEHEADER*LPBITMAPFILEHEADER, PBITMAPFILEHEADER; 2142 + 2143 +align : 2144 + 2145 +struct BITMAPCOREINFO 2146 +{ 2147 + BITMAPCOREHEADER bmciHeader; 2148 + RGBTRIPLE[1] bmciColors; 2149 +} 2150 +alias BITMAPCOREINFO*LPBITMAPCOREINFO, PBITMAPCOREINFO; 2151 + 2152 +struct BITMAPINFOHEADER 2153 +{ 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; 2165 +} 2166 + 2167 +alias BITMAPINFOHEADER*LPBITMAPINFOHEADER, PBITMAPINFOHEADER; 2168 + 2169 +struct RGBQUAD 2170 +{ 2171 + BYTE rgbBlue; 2172 + BYTE rgbGreen; 2173 + BYTE rgbRed; 2174 + BYTE rgbReserved; 2175 +}; 2176 +alias RGBQUAD*LPRGBQUAD; 2177 + 2178 +struct BITMAPINFO 2179 +{ 2180 + BITMAPINFOHEADER bmiHeader; 2181 + RGBQUAD[1] bmiColors; 2182 +}; 2183 +alias BITMAPINFO*PBITMAPINFO, LPBITMAPINFO; 554 2184 555 2185 alias int FXPT16DOT16; 556 -alias int* LPFXPT16DOT16; 2186 +alias int*LPFXPT16DOT16; 557 2187 alias int FXPT2DOT30; 558 -alias int* LPFXPT2DOT30; 559 - 560 -struct tagCIEXYZ { 561 - FXPT2DOT30 ciexyzX; 562 - FXPT2DOT30 ciexyzY; 563 - FXPT2DOT30 ciexyzZ; 564 -} 565 -alias tagCIEXYZ CIEXYZ; 566 - 567 -alias CIEXYZ* LPCIEXYZ; 568 - 569 -struct tagICEXYZTRIPLE { 570 - CIEXYZ ciexyzRed; 571 - CIEXYZ ciexyzGreen; 572 - CIEXYZ ciexyzBlue; 573 -} 574 -alias tagICEXYZTRIPLE CIEXYZTRIPLE; 575 - 576 -alias CIEXYZTRIPLE* LPCIEXYZTRIPLE; 577 - 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; 592 - 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; 648 - LONG bV4Width; 649 - LONG bV4Height; 650 - WORD bV4Planes; 651 - WORD bV4BitCount; 652 - DWORD bV4V4Compression; 653 - DWORD bV4SizeImage; 654 - LONG bV4XPelsPerMeter; 655 - LONG bV4YPelsPerMeter; 656 - DWORD bV4ClrUsed; 657 - DWORD bV4ClrImportant; 658 - DWORD bV4RedMask; 659 - DWORD bV4GreenMask; 660 - DWORD bV4BlueMask; 661 - DWORD bV4AlphaMask; 662 - DWORD bV4CSType; 663 - CIEXYZTRIPLE bV4Endpoints; 664 - DWORD bV4GammaRed; 665 - DWORD bV4GammaGreen; 666 - DWORD bV4GammaBlue; 667 -} 668 -alias _0 BITMAPV4HEADER; 669 -alias _0* LPBITMAPV4HEADER; 670 -alias _0* PBITMAPV4HEADER; 671 - 672 -// #endif /* WINVER >= 0x0400 */ 673 - 674 -// #if (WINVER >= 0x0500) 675 -struct _1 { 676 - DWORD bV5Size; 677 - LONG bV5Width; 678 - LONG bV5Height; 679 - WORD bV5Planes; 680 - WORD bV5BitCount; 681 - DWORD bV5Compression; 682 - DWORD bV5SizeImage; 683 - LONG bV5XPelsPerMeter; 684 - LONG bV5YPelsPerMeter; 685 - DWORD bV5ClrUsed; 686 - DWORD bV5ClrImportant; 687 - DWORD bV5RedMask; 688 - DWORD bV5GreenMask; 689 - DWORD bV5BlueMask; 690 - DWORD bV5AlphaMask; 691 - DWORD bV5CSType; 692 - CIEXYZTRIPLE bV5Endpoints; 693 - DWORD bV5GammaRed; 694 - DWORD bV5GammaGreen; 695 - DWORD bV5GammaBlue; 696 - DWORD bV5Intent; 697 - DWORD bV5ProfileData; 698 - DWORD bV5ProfileSize; 699 - DWORD bV5Reserved; 700 -} 701 -alias _1 BITMAPV5HEADER; 702 -alias _1* LPBITMAPV5HEADER; 703 -alias _1* PBITMAPV5HEADER; 704 - 705 -// #define PROFILE_LINKED 'LINK' 706 -// #define PROFILE_EMBEDDED 'MBED' 707 -// #endif 708 - 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 717 - 718 -struct tagBITMAPINFO { 719 - BITMAPINFOHEADER bmiHeader; 720 - RGBQUAD bmiColors[1]; 721 -} 722 -alias tagBITMAPINFO BITMAPINFO; 723 -alias tagBITMAPINFO* LPBITMAPINFO; 724 -alias tagBITMAPINFO* PBITMAPINFO; 725 - 726 -struct tagBITMAPCOREINFO { 727 - BITMAPCOREHEADER bmciHeader; 728 - RGBTRIPLE bmciColors[1]; 729 -} 730 -alias tagBITMAPCOREINFO BITMAPCOREINFO; 731 -alias tagBITMAPCOREINFO* LPBITMAPCOREINFO; 732 -alias tagBITMAPCOREINFO* PBITMAPCOREINFO; 733 - 734 -align(2): 735 -struct tagBITMAPFILEHEADER { 736 - WORD bfType; 737 - DWORD bfSize; 738 - WORD bfReserved1; 739 - WORD bfReserved2; 740 - DWORD bfOffBits; 741 -} 742 -alias tagBITMAPFILEHEADER BITMAPFILEHEADER; 743 -alias tagBITMAPFILEHEADER* LPBITMAPFILEHEADER; 744 -alias tagBITMAPFILEHEADER* PBITMAPFILEHEADER; 745 - 746 -align: 747 - 748 -// #define MAKEPOINTS(l) (*((POINTS FAR *)&(l))) 749 - 750 -// #if(WINVER >= 0x0400) 751 -// #ifndef NOFONTSIG 752 -struct tagFONTSIGNATURE { 753 - DWORD fsUsb[4]; 754 - DWORD fsCsb[2]; 755 -} 756 -alias tagFONTSIGNATURE FONTSIGNATURE; 757 -alias tagFONTSIGNATURE* PFONTSIGNATURE; 758 -alias tagFONTSIGNATURE* LPFONTSIGNATURE; 759 - 760 -struct tagCHARSETINFO { 761 - UINT ciCharset; 762 - UINT ciACP; 763 - FONTSIGNATURE fs; 764 -} 765 -alias tagCHARSETINFO CHARSETINFO; 766 -alias tagCHARSETINFO* PCHARSETINFO; 767 -alias tagCHARSETINFO* NPCHARSETINFO; 768 -alias tagCHARSETINFO* LPCHARSETINFO; 769 - 770 -enum : uint { TCI_SRCCHARSET = 1 } 771 -enum : uint { TCI_SRCCODEPAGE = 2 } 772 -enum : uint { TCI_SRCFONTSIG = 3 } 773 - 774 -struct tagLOCALESIGNATURE { 775 - DWORD lsUsb[4]; 776 - DWORD lsCsbDefault[2]; 777 - DWORD lsCsbSupported[2]; 778 -} 779 -alias tagLOCALESIGNATURE LOCALESIGNATURE; 780 -alias tagLOCALESIGNATURE* PLOCALESIGNATURE; 781 -alias tagLOCALESIGNATURE* LPLOCALESIGNATURE; 782 - 783 -// #endif 784 -// #endif /* WINVER >= 0x0400 */ 785 - 786 -// #ifndef NOMETAFILE 787 - 788 -struct tagHANDLETABLE { 789 - HGDIOBJ objectHandle[1]; 790 -} 791 -alias tagHANDLETABLE HANDLETABLE; 792 -alias tagHANDLETABLE* PHANDLETABLE; 793 -alias tagHANDLETABLE* LPHANDLETABLE; 794 - 795 -struct tagMETARECORD { 796 - DWORD rdSize; 797 - WORD rdFunction; 798 - WORD rdParm[1]; 799 -} 800 -alias tagMETARECORD METARECORD; 801 - 802 -alias tagMETARECORD* PMETARECORD; 803 -alias tagMETARECORD* LPMETARECORD; 804 - 805 -struct tagMETAFILEPICT { 806 - LONG mm; 807 - LONG xExt; 808 - LONG yExt; 809 - HMETAFILE hMF; 810 -} 811 -alias tagMETAFILEPICT METAFILEPICT; 812 -alias tagMETAFILEPICT* LPMETAFILEPICT; 813 - 814 -align(2): 815 -struct tagMETAHEADER { 816 - WORD mtType; 817 - WORD mtHeaderSize; 818 - WORD mtVersion; 819 - DWORD mtSize; 820 - WORD mtNoObjects; 821 - DWORD mtMaxRecord; 822 - WORD mtNoParameters; 823 -} 824 -alias tagMETAHEADER METAHEADER; 825 - 826 -alias tagMETAHEADER* PMETAHEADER; 827 -alias tagMETAHEADER* LPMETAHEADER; 828 - 829 -align: 830 - 831 -struct tagENHMETARECORD { 832 - DWORD iType; 833 - DWORD nSize; 834 - DWORD dParm[1]; 835 -} 836 -alias tagENHMETARECORD ENHMETARECORD; 837 -alias tagENHMETARECORD* PENHMETARECORD; 838 -alias tagENHMETARECORD* LPENHMETARECORD; 839 - 840 -struct tagENHMETAHEADER { 841 - DWORD iType; 842 - DWORD nSize; 843 - 844 - RECTL rclBounds; 845 - RECTL rclFrame; 846 - DWORD dSignature; 847 - DWORD nVersion; 848 - DWORD nBytes; 849 - DWORD nRecords; 850 - WORD nHandles; 851 - 852 - WORD sReserved; 853 - DWORD nDescription; 854 - 855 - DWORD offDescription; 856 - 857 - DWORD nPalEntries; 858 - SIZEL szlDevice; 859 - SIZEL szlMillimeters; 860 -// #if(WINVER >= 0x0400) 861 - DWORD cbPixelFormat; 862 - 863 - DWORD offPixelFormat; 864 - 865 - DWORD bOpenGL; 866 - 867 -// #endif /* WINVER >= 0x0400 */ 868 -// #if(WINVER >= 0x0500) 869 - SIZEL szlMicrometers; 870 -// #endif /* WINVER >= 0x0500 */ 871 - 872 -} 873 -alias tagENHMETAHEADER ENHMETAHEADER; 874 -alias tagENHMETAHEADER* PENHMETAHEADER; 875 -alias tagENHMETAHEADER* LPENHMETAHEADER; 876 - 877 -// #endif /* NOMETAFILE */ 878 - 879 -// #ifndef NOTEXTMETRIC 880 - 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 } 885 - 886 -// #ifdef UNICODE 887 -alias WCHAR BCHAR; 888 -// #else 889 -// ... 890 -// #endif 891 - 892 -// #ifndef _TEXTMETRIC_DEFINED 893 -// #define _TEXTMETRIC_DEFINED 894 -struct tagTEXTMETRICA { 895 - LONG tmHeight; 896 - LONG tmAscent; 897 - LONG tmDescent; 898 - LONG tmInternalLeading; 899 - LONG tmExternalLeading; 900 - LONG tmAveCharWidth; 901 - LONG tmMaxCharWidth; 902 - LONG tmWeight; 903 - LONG tmOverhang; 904 - LONG tmDigitizedAspectX; 905 - LONG tmDigitizedAspectY; 906 - BYTE tmFirstChar; 907 - BYTE tmLastChar; 908 - BYTE tmDefaultChar; 909 - BYTE tmBreakChar; 910 - BYTE tmItalic; 911 - BYTE tmUnderlined; 912 - BYTE tmStruckOut; 913 - BYTE tmPitchAndFamily; 914 - BYTE tmCharSet; 915 -} 916 -alias tagTEXTMETRICA TEXTMETRICA; 917 -alias tagTEXTMETRICA* PTEXTMETRICA; 918 -alias tagTEXTMETRICA* NPTEXTMETRICA; 919 -alias tagTEXTMETRICA* LPTEXTMETRICA; 920 - 921 -struct tagTEXTMETRICW { 922 - LONG tmHeight; 923 - LONG tmAscent; 924 - LONG tmDescent; 925 - LONG tmInternalLeading; 926 - LONG tmExternalLeading; 927 - LONG tmAveCharWidth; 928 - LONG tmMaxCharWidth; 929 - LONG tmWeight; 930 - LONG tmOverhang; 931 - LONG tmDigitizedAspectX; 932 - LONG tmDigitizedAspectY; 933 - WCHAR tmFirstChar; 934 - WCHAR tmLastChar; 935 - WCHAR tmDefaultChar; 936 - WCHAR tmBreakChar; 937 - BYTE tmItalic; 938 - BYTE tmUnderlined; 939 - BYTE tmStruckOut; 940 - BYTE tmPitchAndFamily; 941 - BYTE tmCharSet; 942 -} 943 -alias tagTEXTMETRICW TEXTMETRICW; 944 -alias tagTEXTMETRICW* PTEXTMETRICW; 945 -alias tagTEXTMETRICW* NPTEXTMETRICW; 946 -alias tagTEXTMETRICW* LPTEXTMETRICW; 947 - 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 957 - 958 -enum : uint { NTM_REGULAR = 0x00000040 } 959 -enum : uint { NTM_BOLD = 0x00000020 } 960 -enum : uint { NTM_ITALIC = 0x00000001 } 961 - 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 } 968 - 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; 991 - DWORD ntmFlags; 992 - UINT ntmSizeEM; 993 - UINT ntmCellHeight; 994 - UINT ntmAvgWidth; 995 -} 996 -alias tagNEWTEXTMETRICA NEWTEXTMETRICA; 997 -alias tagNEWTEXTMETRICA* PNEWTEXTMETRICA; 998 -alias tagNEWTEXTMETRICA* NPNEWTEXTMETRICA; 999 -alias tagNEWTEXTMETRICA* LPNEWTEXTMETRICA; 1000 - 1001 -struct tagNEWTEXTMETRICW { 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; 1022 - DWORD ntmFlags; 1023 - UINT ntmSizeEM; 1024 - UINT ntmCellHeight; 1025 - UINT ntmAvgWidth; 1026 -} 1027 -alias tagNEWTEXTMETRICW NEWTEXTMETRICW; 1028 -alias tagNEWTEXTMETRICW* PNEWTEXTMETRICW; 1029 -alias tagNEWTEXTMETRICW* NPNEWTEXTMETRICW; 1030 -alias tagNEWTEXTMETRICW* LPNEWTEXTMETRICW; 1031 - 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: 1041 - 1042 -// #if(WINVER >= 0x0400) 1043 -struct tagNEWTEXTMETRICEXA { 1044 - NEWTEXTMETRICA ntmTm; 1045 - FONTSIGNATURE ntmFontSig; 1046 -} 1047 -alias tagNEWTEXTMETRICEXA NEWTEXTMETRICEXA; 1048 - 1049 -struct tagNEWTEXTMETRICEXW { 1050 - NEWTEXTMETRICW ntmTm; 1051 - FONTSIGNATURE ntmFontSig; 1052 -} 1053 -alias tagNEWTEXTMETRICEXW NEWTEXTMETRICEXW; 1054 - 1055 -// #ifdef UNICODE 1056 -alias NEWTEXTMETRICEXW NEWTEXTMETRICEX; 1057 -// #else 1058 -// ... 1059 -// #endif // UNICODE 1060 -// #endif /* WINVER >= 0x0400 */ 1061 - 1062 -// #endif /* NOTEXTMETRIC */ 1063 - 1064 -struct tagPELARRAY { 1065 - LONG paXCount; 1066 - LONG paYCount; 1067 - LONG paXExt; 1068 - LONG paYExt; 1069 - BYTE paRGBs; 1070 -} 1071 -alias tagPELARRAY PELARRAY; 1072 -alias tagPELARRAY* PPELARRAY; 1073 -alias tagPELARRAY* NPPELARRAY; 1074 -alias tagPELARRAY* LPPELARRAY; 1075 - 1076 -struct tagLOGBRUSH { 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 - 1086 -struct tagLOGBRUSH32 { 1087 - UINT lbStyle; 1088 - COLORREF lbColor; 1089 - ULONG lbHatch; 1090 -} 1091 -alias tagLOGBRUSH32 LOGBRUSH32; 1092 -alias tagLOGBRUSH32* PLOGBRUSH32; 1093 -alias tagLOGBRUSH32* NPLOGBRUSH32; 1094 -alias tagLOGBRUSH32* LPLOGBRUSH32; 1095 - 2188 +alias int*LPFXPT2DOT30; 2189 + 2190 +struct CIEXYZ 2191 +{ 2192 + FXPT2DOT30 ciexyzX; 2193 + FXPT2DOT30 ciexyzY; 2194 + FXPT2DOT30 ciexyzZ; 2195 +} 2196 +alias CIEXYZ*LPCIEXYZ; 2197 + 2198 +struct CIEXYZTRIPLE 2199 +{ 2200 + CIEXYZ ciexyzRed; 2201 + CIEXYZ ciexyzGreen; 2202 + CIEXYZ ciexyzBlue; 2203 +} 2204 +alias CIEXYZTRIPLE*LPCIEXYZTRIPLE; 2205 + 2206 +struct BITMAPV4HEADER 2207 +{ 2208 + DWORD bV4Size; 2209 + LONG bV4Width; 2210 + LONG bV4Height; 2211 + WORD bV4Planes; 2212 + WORD bV4BitCount; 2213 + DWORD bV4V4Compression; 2214 + DWORD bV4SizeImage; 2215 + LONG bV4XPelsPerMeter; 2216 + LONG bV4YPelsPerMeter; 2217 + DWORD bV4ClrUsed; 2218 + DWORD bV4ClrImportant; 2219 + DWORD bV4RedMask; 2220 + DWORD bV4GreenMask; 2221 + DWORD bV4BlueMask; 2222 + DWORD bV4AlphaMask; 2223 + DWORD bV4CSType; 2224 + CIEXYZTRIPLE bV4Endpoints; 2225 + DWORD bV4GammaRed; 2226 + DWORD bV4GammaGreen; 2227 + DWORD bV4GammaBlue; 2228 +} 2229 +alias BITMAPV4HEADER*LPBITMAPV4HEADER, PBITMAPV4HEADER; 2230 + 2231 +struct BITMAPV5HEADER 2232 +{ 2233 + DWORD bV5Size; 2234 + LONG bV5Width; 2235 + LONG bV5Height; 2236 + WORD bV5Planes; 2237 + WORD bV5BitCount; 2238 + DWORD bV5Compression; 2239 + DWORD bV5SizeImage; 2240 + LONG bV5XPelsPerMeter; 2241 + LONG bV5YPelsPerMeter; 2242 + DWORD bV5ClrUsed; 2243 + DWORD bV5ClrImportant; 2244 + DWORD bV5RedMask; 2245 + DWORD bV5GreenMask; 2246 + DWORD bV5BlueMask; 2247 + DWORD bV5AlphaMask; 2248 + DWORD bV5CSType; 2249 + CIEXYZTRIPLE bV5Endpoints; 2250 + DWORD bV5GammaRed; 2251 + DWORD bV5GammaGreen; 2252 + DWORD bV5GammaBlue; 2253 + DWORD bV5Intent; 2254 + DWORD bV5ProfileData; 2255 + DWORD bV5ProfileSize; 2256 + DWORD bV5Reserved; 2257 +} 2258 +alias BITMAPV5HEADER*LPBITMAPV5HEADER, PBITMAPV5HEADER; 2259 + 2260 +struct FONTSIGNATURE 2261 +{ 2262 + DWORD[4] fsUsb; 2263 + DWORD[2] fsCsb; 2264 +} 2265 +alias FONTSIGNATURE*PFONTSIGNATURE, LPFONTSIGNATURE; 2266 + 2267 +struct CHARSETINFO 2268 +{ 2269 + UINT ciCharset; 2270 + UINT ciACP; 2271 + FONTSIGNATURE fs; 2272 +} 2273 +alias CHARSETINFO*PCHARSETINFO, NPCHARSETINFO, LPCHARSETINFO; 2274 + 2275 +struct COLORADJUSTMENT 2276 +{ 2277 + WORD caSize; 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; 2297 + WORD dmSize; 2298 + WORD dmDriverExtra; 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; 2311 + } 2312 + POINTL dmPosition; 2313 + DWORD dmDisplayOrientation; 2314 + DWORD dmDisplayFixedOutput; 2315 + } 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; 2329 + } 2330 + DWORD dmDisplayFrequency; 2331 + static 2332 + 2333 + if (WINVER >= 0x0400) 2334 + { 2335 + DWORD dmICMMethod; 2336 + DWORD dmICMIntent; 2337 + DWORD dmMediaType; 2338 + DWORD dmDitherType; 2339 + DWORD dmReserved1; 2340 + DWORD dmReserved2; 2341 + static 2342 + 2343 + if ((WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400)) 2344 + { 2345 + DWORD dmPanningWidth; 2346 + DWORD dmPanningHeight; 2347 + } 2348 + } 2349 +} 2350 +alias DEVMODEA*PDEVMODEA, NPDEVMODEA, LPDEVMODEA; 2351 + 2352 +struct DEVMODEW 2353 +{ 2354 + WCHAR[CCHDEVICENAME] dmDeviceName; 2355 + WORD dmSpecVersion; 2356 + WORD dmDriverVersion; 2357 + WORD dmSize; 2358 + WORD dmDriverExtra; 2359 + DWORD dmFields; 2360 + union { 2361 + struct 2362 + { 2363 + short dmOrientation; 2364 + short dmPaperSize; 2365 + short dmPaperLength; 2366 + short dmPaperWidth; 2367 + short dmScale; 2368 + short dmCopies; 2369 + short dmDefaultSource; 2370 + short dmPrintQuality; 2371 + } 2372 + POINTL dmPosition; 2373 + DWORD dmDisplayOrientation; 2374 + DWORD dmDisplayFixedOutput; 2375 + } 2376 + 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; 2385 + DWORD dmPelsWidth; 2386 + DWORD dmPelsHeight; 2387 + union { 2388 + DWORD dmDisplayFlags; 2389 + DWORD dmNup; 2390 + } 2391 + DWORD dmDisplayFrequency; 2392 + static 2393 + 2394 + if (WINVER >= 0x0400) 2395 + { 2396 + DWORD dmICMMethod; 2397 + DWORD dmICMIntent; 2398 + DWORD dmMediaType; 2399 + DWORD dmDitherType; 2400 + DWORD dmReserved1; 2401 + DWORD dmReserved2; 2402 + static 2403 + 2404 + if ((WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400)) 2405 + { 2406 + DWORD dmPanningWidth; 2407 + DWORD dmPanningHeight; 2408 + } 2409 + } 2410 +} 2411 +alias DEVMODEW*PDEVMODEW, NPDEVMODEW, LPDEVMODEW; 2412 + 2413 +/* 2414 + * Information about output options 2415 + */ 2416 +struct PSFEATURE_OUTPUT 2417 +{ 2418 + BOOL bPageIndependent; 2419 + BOOL bSetPageDevice; 2420 +} 2421 +alias PSFEATURE_OUTPUT*PPSFEATURE_OUTPUT; 2422 + 2423 +/* 2424 + * Information about custom paper size 2425 + */ 2426 +struct PSFEATURE_CUSTPAPER 2427 +{ 2428 + LONG lOrientation; 2429 + LONG lWidth; 2430 + LONG lHeight; 2431 + LONG lWidthOffset; 2432 + LONG lHeightOffset; 2433 +} 2434 +alias PSFEATURE_CUSTPAPER*PPSFEATURE_CUSTPAPER; 2435 + 2436 +struct DIBSECTION 2437 +{ 2438 + BITMAP dsBm; 2439 + BITMAPINFOHEADER dsBmih; 2440 + DWORD[3] dsBitfields; 2441 + HANDLE dshSection; 2442 + DWORD dsOffset; 2443 +} 2444 +alias DIBSECTION*PDIBSECTION; 2445 + 2446 +struct DOCINFOA 2447 +{ 2448 + int cbSize = DOCINFOA.sizeof; 2449 + LPCSTR lpszDocName; 2450 + LPCSTR lpszOutput; 2451 + LPCSTR lpszDatatype; 2452 + DWORD fwType; 2453 +} 2454 +alias DOCINFOA*LPDOCINFOA; 2455 + 2456 +struct DOCINFOW 2457 +{ 2458 + int cbSize = DOCINFOW.sizeof; 2459 + LPCWSTR lpszDocName; 2460 + LPCWSTR lpszOutput; 2461 + LPCWSTR lpszDatatype; 2462 + DWORD fwType; 2463 +} 2464 +alias DOCINFOW*LPDOCINFOW; 2465 + 2466 +struct PANOSE 2467 +{ 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; 2478 +} 2479 +alias PANOSE*LPPANOSE; 2480 + 2481 +struct LOGFONTA 2482 +{ 2483 + LONG lfHeight; 2484 + LONG lfWidth; 2485 + LONG lfEscapement; 2486 + LONG lfOrientation; 2487 + LONG lfWeight; 2488 + BYTE lfItalic; 2489 + BYTE lfUnderline; 2490 + BYTE lfStrikeOut; 2491 + BYTE lfCharSet; 2492 + BYTE lfOutPrecision; 2493 + BYTE lfClipPrecision; 2494 + BYTE lfQuality; 2495 + BYTE lfPitchAndFamily; 2496 + CHAR[LF_FACESIZE] lfFaceName; 2497 +} 2498 +alias LOGFONTA*PLOGFONTA, NPLOGFONTA, LPLOGFONTA; 2499 + 2500 +struct LOGFONTW 2501 +{ 2502 + LONG lfHeight; 2503 + LONG lfWidth; 2504 + LONG lfEscapement; 2505 + LONG lfOrientation; 2506 + LONG lfWeight; 2507 + BYTE lfItalic; 2508 + BYTE lfUnderline; 2509 + BYTE lfStrikeOut; 2510 + BYTE lfCharSet; 2511 + BYTE lfOutPrecision; 2512 + BYTE lfClipPrecision; 2513 + BYTE lfQuality; 2514 + BYTE lfPitchAndFamily; 2515 + WCHAR[LF_FACESIZE] lfFaceName; 2516 +} 2517 +alias LOGFONTW*PLOGFONTW, NPLOGFONTW, LPLOGFONTW; 2518 + 2519 +struct EXTLOGFONTA 2520 +{ 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; 2531 +} 2532 +alias EXTLOGFONTA*PEXTLOGFONTA, NPEXTLOGFONTA, LPEXTLOGFONTA; 2533 + 2534 +struct EXTLOGFONTW 2535 +{ 2536 + LOGFONTW elfLogFont; 2537 + WCHAR[LF_FULLFACESIZE] elfFullName; 2538 + WCHAR[LF_FACESIZE] elfStyle; 2539 + DWORD elfVersion; 2540 + DWORD elfStyleSize; 2541 + DWORD elfMatch; 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; 2552 + POINT lopnWidth; 2553 + COLORREF lopnColor; 2554 +} 2555 +alias LOGPEN*PLOGPEN, NPLOGPEN, LPLOGPEN; 2556 + 2557 +// ---------------------- EMR ------------ 2558 + 2559 +struct EMR 2560 +{ 2561 + DWORD iType; 2562 + DWORD nSize; 2563 +} 2564 +alias EMR*PEMR; 2565 + 2566 +struct EMRANGLEARC 2567 +{ 2568 + EMR emr; 2569 + POINTL ptlCenter; 2570 + DWORD nRadius; 2571 + FLOAT eStartAngle; 2572 + FLOAT eSweepAngle; 2573 +} 2574 +alias EMRANGLEARC*PEMRANGLEARC; 2575 + 2576 +struct EMRARC 2577 +{ 2578 + EMR emr; 2579 + RECTL rclBox; 2580 + POINTL ptlStart; 2581 + POINTL ptlEnd; 2582 +} 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; 2590 + 2591 +struct XFORM 2592 +{ 2593 + FLOAT eM11; 2594 + FLOAT eM12; 2595 + FLOAT eM21; 2596 + FLOAT eM22; 2597 + FLOAT eDx; 2598 + FLOAT eDy; 2599 +} 2600 +alias XFORM*PXFORM, LPXFORM; 2601 + 2602 +struct EMRBITBLT 2603 +{ 2604 + EMR emr; 2605 + RECTL rclBounds; 2606 + LONG xDest; 2607 + LONG yDest; 2608 + LONG cxDest; 2609 + LONG cyDest; 2610 + DWORD dwRop; 2611 + LONG xSrc; 2612 + LONG ySrc; 2613 + XFORM xformSrc; 2614 + COLORREF crBkColorSrc; 2615 + DWORD iUsageSrc; 2616 + DWORD offBmiSrc; 2617 + DWORD cbBmiSrc; 2618 + DWORD offBitsSrc; 2619 + DWORD cbBitsSrc; 2620 +} 2621 +alias EMRBITBLT*PEMRBITBLT; 2622 + 2623 +struct LOGBRUSH 2624 +{ 2625 + UINT lbStyle; 2626 + COLORREF lbColor; 2627 + LONG lbHatch; 2628 +} 1096 2629 alias LOGBRUSH PATTERN; 1097 -alias PATTERN* PPATTERN; 1098 -alias PATTERN* NPPATTERN; 1099 -alias PATTERN* LPPATTERN; 1100 - 1101 -struct tagLOGPEN { 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 - 1111 -struct tagEXTLOGPEN { 1112 - DWORD elpPenStyle; 1113 - DWORD elpWidth; 1114 - UINT elpBrushStyle; 1115 - COLORREF elpColor; 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; 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 -} 1172 -alias tagLOGFONTA LOGFONTA; 1173 -alias tagLOGFONTA* PLOGFONTA; 1174 -alias tagLOGFONTA* NPLOGFONTA; 1175 -alias tagLOGFONTA* LPLOGFONTA; 1176 - 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)cast(WORD)(i))); } 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 { 1857 - short dmOrientation; 1858 - short dmPaperSize; 1859 - short dmPaperLength; 1860 - short dmPaperWidth; 1861 -} 1862 - 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; 1882 - DWORD dmNup; 1883 -} 1884 - 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 */ 1898 -} 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 { 1913 - short dmOrientation; 1914 - short dmPaperSize; 1915 - short dmPaperLength; 1916 - short dmPaperWidth; 1917 -} 1918 - 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; 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; 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; 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 { 2278 - DWORD dwSize; 2279 - DWORD iType; 2280 - DWORD nCount; 2281 - DWORD nRgnSize; 2282 - RECT rcBound; 2283 -} 2284 -alias _RGNDATAHEADER RGNDATAHEADER; 2285 -alias _RGNDATAHEADER* PRGNDATAHEADER; 2286 - 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 { 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 - 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; 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; 2619 - DWORD dwFlags; 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) OLDFONTENUMPROCA; 2677 -extern(Windows) alias int function( LOGFONTW *, TEXTMETRICW *, DWORD, LPARAM) OLDFONTENUMPROCW; 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, VOID *, BITMAPINFO *, UINT); 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, LPCSTR); 2796 -extern(Windows) export BOOL CreateScalableFontResourceW(DWORD, LPCWSTR, 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, LPPIXELFORMATDESCRIPTOR); 2808 - 2809 -extern(Windows) alias UINT function(HWND, HMODULE, LPDEVMODE, LPSTR, LPSTR, LPDEVMODE, LPSTR, UINT) LPFNDEVMODE; 2810 - 2811 -extern(Windows) alias DWORD function(LPSTR, LPSTR, UINT, LPSTR, LPDEVMODE) LPFNDEVCAPS; 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, LPARAM, DWORD); 2899 -extern(Windows) export int EnumFontFamiliesExW(HDC, LPLOGFONTW, FONTENUMPROCW, LPARAM, DWORD); 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, LPBITMAPINFO, UINT); 2995 -extern(Windows) export DWORD GetFontData(HDC, DWORD, DWORD, LPVOID, DWORD); 2996 -extern(Windows) export DWORD GetGlyphOutlineA(HDC, UINT, UINT, LPGLYPHMETRICS, DWORD, LPVOID, MAT2 *); 2997 -extern(Windows) export DWORD GetGlyphOutlineW(HDC, UINT, UINT, LPGLYPHMETRICS, DWORD, LPVOID, MAT2 *); 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, LPOUTLINETEXTMETRICA); 3020 -extern(Windows) export UINT GetOutlineTextMetricsW(HDC, UINT, LPOUTLINETEXTMETRICW); 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, LPPALETTEENTRY); 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, LPPALETTEENTRY); 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, DWORD dwFlags); 3101 -extern(Windows) export BOOL TranslateCharsetInfo(DWORD *lpSrc, LPCHARSETINFO lpCs, DWORD dwFlags); 3102 -extern(Windows) export DWORD GetFontLanguageInfo(HDC ); 3103 -extern(Windows) export DWORD GetCharacterPlacementA(HDC, LPCSTR, int, int, LPGCP_RESULTSA, DWORD); 3104 -extern(Windows) export DWORD GetCharacterPlacementW(HDC, LPCWSTR, int, int, LPGCP_RESULTSW, DWORD); 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 { 3123 - DWORD cbThis; 3124 - DWORD flAccel; 3125 - DWORD cGlyphsSupported; 3126 - DWORD cRanges; 3127 - WCRANGE ranges[1]; 3128 -} 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, LPINT, LPSIZE); 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 *, BITMAPINFO *, UINT); 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, int, int, DWORD); 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, 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) 2630 +alias LOGBRUSH*PLOGBRUSH, NPLOGBRUSH, LPLOGBRUSH; 2631 +alias PATTERN *PPATTERN, NPPATTERN, LPPATTERN; 2632 + 2633 +struct LOGBRUSH32 2634 +{ 2635 + UINT lbStyle; 2636 + COLORREF lbColor; 2637 + ULONG lbHatch; 2638 +} 2639 +alias LOGBRUSH32*PLOGBRUSH32, NPLOGBRUSH32, LPLOGBRUSH32; 2640 + 2641 +struct EMRCREATEBRUSHINDIRECT 2642 +{ 2643 + EMR emr; 2644 + DWORD ihBrush; 2645 + LOGBRUSH32 lb; 2646 +} 2647 +alias EMRCREATEBRUSHINDIRECT*PEMRCREATEBRUSHINDIRECT; 2648 + 2649 +alias LONG LCSCSTYPE, LCSGAMUTMATCH; 2650 + 2651 +struct LOGCOLORSPACEA 2652 +{ 2653 + DWORD lcsSignature; 2654 + DWORD lcsVersion; 2655 + DWORD lcsSize; 2656 + LCSCSTYPE lcsCSType; 2657 + LCSGAMUTMATCH lcsIntent; 2658 + CIEXYZTRIPLE lcsEndpoints; 2659 + DWORD lcsGammaRed; 2660 + DWORD lcsGammaGreen; 2661 + DWORD lcsGammaBlue; 2662 + CHAR[MAX_PATH] lcsFilename; 2663 +} 2664 +alias LOGCOLORSPACEA*LPLOGCOLORSPACEA; 2665 + 2666 +struct LOGCOLORSPACEW 2667 +{ 2668 + DWORD lcsSignature; 2669 + DWORD lcsVersion; 2670 + DWORD lcsSize; 2671 + LCSCSTYPE lcsCSType; 2672 + LCSGAMUTMATCH lcsIntent; 2673 + CIEXYZTRIPLE lcsEndpoints; 2674 + DWORD lcsGammaRed; 2675 + DWORD lcsGammaGreen; 2676 + DWORD lcsGammaBlue; 2677 + WCHAR[MAX_PATH] lcsFilename; 2678 +} 2679 +alias LOGCOLORSPACEW*LPLOGCOLORSPACEW; 3390 2680 3391 2681 alias USHORT COLOR16; 3392 - 3393 -struct _TRIVERTEX { 3394 - LONG x; 3395 - LONG y; 3396 - COLOR16 Red; 3397 - COLOR16 Green; 3398 - COLOR16 Blue; 3399 - COLOR16 Alpha; 2682 +struct TRIVERTEX 2683 +{ 2684 + LONG x; 2685 + LONG y; 2686 + COLOR16 Red; 2687 + COLOR16 Green; 2688 + COLOR16 Blue; 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, LPOUTLINETEXTMETRICA; 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, LPOUTLINETEXTMETRICW; 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) ENHMFENUMPROC; 4278 + 4279 +alias int function(CPtr!(LOGFONTA), CPtr!(TEXTMETRICA), DWORD, LPARAM) FONTENUMPROCA, OLDFONTENUMPROCA; 4280 + 4281 +alias int function(CPtr!(LOGFONTW), CPtr!(TEXTMETRICW), DWORD, LPARAM) FONTENUMPROCW, OLDFONTENUMPROCW; 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, UINT) LPFNDEVMODE; 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 { 3406 - ULONG Vertex1; 3407 - ULONG Vertex2; 3408 - ULONG Vertex3; 4364 + 4365 +COLORREF PALETTERGB(BYTE r, BYTE g, BYTE b) 4366 +{ 4367 + return 0x02000000 | RGB(r, g, b); 3409 4368 } 3410 -alias _GRADIENT_TRIANGLE GRADIENT_TRIANGLE; 3411 -alias _GRADIENT_TRIANGLE* PGRADIENT_TRIANGLE; 3412 -alias _GRADIENT_TRIANGLE* LPGRADIENT_TRIANGLE; 3413 - 3414 -struct _GRADIENT_RECT { 3415 - ULONG UpperLeft; 3416 - ULONG LowerRight; 3417 -} 3418 -alias _GRADIENT_RECT GRADIENT_RECT; 3419 -alias _GRADIENT_RECT* PGRADIENT_RECT; 3420 -alias _GRADIENT_RECT* LPGRADIENT_RECT; 3421 - 3422 -struct _BLENDFUNCTION { 3423 - BYTE BlendOp; 3424 - BYTE BlendFlags; 3425 - BYTE SourceConstantAlpha; 3426 - BYTE AlphaFormat; 4369 + 4370 + 4371 +extern (Windows) { 4372 +int AbortDoc(HDC); 4373 + 4374 +BOOL AbortPath(HDC); 4375 + 4376 +int AddFontResourceA(LPCSTR); 4377 + 4378 +int AddFontResourceW(LPCWSTR); 4379 + 4380 +BOOL AngleArc(HDC, int, int, DWORD, FLOAT, FLOAT); 4381 + 4382 +BOOL AnimatePalette(HPALETTE, UINT, UINT, CPtr!(PALETTEENTRY)); 4383 + 4384 +BOOL Arc(HDC, int, int, int, int, int, int, int, int); 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!(BITMAPINFO), UINT); 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, DWORD, DWORD, DWORD, LPCSTR); 4459 + 4460 +HFONT CreateFontW(int, int, int, int, int, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, LPCWSTR); 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, CPtr!(BITMAPINFO), UINT); 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; 3429 -alias _BLENDFUNCTION* PBLENDFUNCTION; 3430 - 3431 -enum : uint { AC_SRC_OVER = 0x00 } 3432 - 3433 -enum : uint { AC_SRC_ALPHA = 0x01 } 3434 - 3435 -extern(Windows) export BOOL AlphaBlend(HDC, int, int, int, int, HDC, int, int, int, int, BLENDFUNCTION); 3436 - 3437 -extern(Windows) export BOOL TransparentBlt(HDC, int, int, int, int, HDC, int, int, int, int, UINT); 3438 - 3439 -enum : uint { GRADIENT_FILL_RECT_H = 0x00000000 } 3440 -enum : uint { GRADIENT_FILL_RECT_V = 0x00000001 } 3441 -enum : uint { GRADIENT_FILL_TRIANGLE = 0x00000002 } 3442 -enum : uint { GRADIENT_FILL_OP_FLAG = 0x000000ff } 3443 - 3444 -extern(Windows) export BOOL GradientFill(HDC, PTRIVERTEX, ULONG, PVOID, ULONG, ULONG); 3445 - 3446 -// #endif 3447 - 3448 -// #ifndef NOMETAFILE 3449 - 3450 -extern(Windows) export BOOL PlayMetaFileRecord(HDC, LPHANDLETABLE, LPMETARECORD, UINT); 3451 -extern(Windows) alias int function( HDC, HANDLETABLE *, METARECORD *, int, LPARAM) MFENUMPROC; 3452 -extern(Windows) export BOOL EnumMetaFile(HDC, HMETAFILE, MFENUMPROC, LPARAM); 3453 - 3454 -extern(Windows) alias int function(HDC, HANDLETABLE *, ENHMETARECORD *, int, LPARAM) ENHMFENUMPROC; 3455 - 3456 -extern(Windows) export HENHMETAFILE CloseEnhMetaFile(HDC); 3457 -extern(Windows) export HENHMETAFILE CopyEnhMetaFileA(HENHMETAFILE, LPCSTR); 3458 -extern(Windows) export HENHMETAFILE CopyEnhMetaFileW(HENHMETAFILE, LPCWSTR); 3459 -// #ifdef UNICODE 3460 -alias CopyEnhMetaFileW CopyEnhMetaFile; 3461 -// #else 3462 -// #... 3463 -// #endif // !UNICODE 3464 -extern(Windows) export HDC CreateEnhMetaFileA(HDC, LPCSTR, RECT *, LPCSTR); 3465 -extern(Windows) export HDC CreateEnhMetaFileW(HDC, LPCWSTR, RECT *, LPCWSTR); 3466 -// #ifdef UNICODE 3467 -alias CreateEnhMetaFileW CreateEnhMetaFile; 3468 -// #else 3469 -// #... 3470 -// #endif // !UNICODE 3471 -extern(Windows) export BOOL DeleteEnhMetaFile(HENHMETAFILE); 3472 -extern(Windows) export BOOL EnumEnhMetaFile(HDC, HENHMETAFILE, ENHMFENUMPROC, 3473 - LPVOID, RECT *); 3474 -extern(Windows) export HENHMETAFILE GetEnhMetaFileA(LPCSTR); 3475 -extern(Windows) export HENHMETAFILE GetEnhMetaFileW(LPCWSTR); 3476 -// #ifdef UNICODE 3477 -alias GetEnhMetaFileW GetEnhMetaFile; 3478 -// #else 3479 -// #... 3480 -// #endif // !UNICODE 3481 -extern(Windows) export UINT GetEnhMetaFileBits(HENHMETAFILE, UINT, LPBYTE); 3482 -extern(Windows) export UINT GetEnhMetaFileDescriptionA(HENHMETAFILE, UINT, LPSTR ); 3483 -extern(Windows) export UINT GetEnhMetaFileDescriptionW(HENHMETAFILE, UINT, LPWSTR ); 3484 -// #ifdef UNICODE 3485 -alias GetEnhMetaFileDescriptionW GetEnhMetaFileDescription; 3486 -// #else 3487 -// #... 3488 -// #endif // !UNICODE 3489 -extern(Windows) export UINT GetEnhMetaFileHeader(HENHMETAFILE, UINT, LPENHMETAHEADER ); 3490 -extern(Windows) export UINT GetEnhMetaFilePaletteEntries(HENHMETAFILE, UINT, LPPALETTEENTRY ); 3491 -extern(Windows) export UINT GetEnhMetaFilePixelFormat(HENHMETAFILE, UINT, 3492 - PIXELFORMATDESCRIPTOR *); 3493 -extern(Windows) export UINT GetWinMetaFileBits(HENHMETAFILE, UINT, LPBYTE, INT, HDC); 3494 -extern(Windows) export BOOL PlayEnhMetaFile(HDC, HENHMETAFILE, RECT *); 3495 -extern(Windows) export BOOL PlayEnhMetaFileRecord(HDC, LPHANDLETABLE, ENHMETARECORD *, UINT); 3496 -extern(Windows) export HENHMETAFILE SetEnhMetaFileBits(UINT, BYTE *); 3497 -extern(Windows) export HENHMETAFILE SetWinMetaFileBits(UINT, BYTE *, HDC, METAFILEPICT *); 3498 -extern(Windows) export BOOL GdiComment(HDC, UINT, BYTE *); 3499 - 3500 -// #endif /* NOMETAFILE */ 3501 - 3502 -// #ifndef NOTEXTMETRIC 3503 - 3504 -extern(Windows) export BOOL GetTextMetricsA(HDC, LPTEXTMETRICA); 3505 -extern(Windows) export BOOL GetTextMetricsW(HDC, LPTEXTMETRICW); 3506 -// #ifdef UNICODE 3507 -alias GetTextMetricsW GetTextMetrics; 3508 -// #else 3509 -// #... 3510 -// #endif // !UNICODE 3511 - 3512 -// #endif 3513 - 3514 -struct tagDIBSECTION { 3515 - BITMAP dsBm; 3516 - BITMAPINFOHEADER dsBmih; 3517 - DWORD dsBitfields[3]; 3518 - HANDLE dshSection; 3519 - DWORD dsOffset; 4944 + 4945 +DWORD SetMapperFlags(HDC, DWORD); 4946 + 4947 +HMETAFILE SetMetaFileBitsEx(UINT, CPtr!(BYTE)); 4948 + 4949 +int SetMetaRgn(HDC); 4950 + 4951 +BOOL SetMiterLimit(HDC, FLOAT, PFLOAT); 4952 + 4953 +UINT SetPaletteEntries(HPALETTE, UINT, UINT, CPtr!(PALETTEENTRY)); 4954 + 4955 +COLORREF SetPixel(HDC, int, int, COLORREF); 4956 + 4957 +BOOL SetPixelFormat(HDC, int, CPtr!(PIXELFORMATDESCRIPTOR)); 4958 + 4959 +BOOL SetPixelV(HDC, int, int, COLORREF); 4960 + 4961 +int SetPolyFillMode(HDC, int); 4962 + 4963 +BOOL SetRectRgn(HRGN, int, int, int, int); 4964 + 4965 +int SetROP2(HDC, int); 4966 + 4967 +int SetStretchBltMode(HDC, int); 4968 + 4969 +UINT SetSystemPaletteUse(HDC, UINT); 4970 + 4971 +UINT SetTextAlign(HDC, UINT); 4972 + 4973 +int SetTextCharacterExtra(HDC, int); 4974 + 4975 +COLORREF SetTextColor(HDC, COLORREF); 4976 + 4977 +BOOL SetTextJustification(HDC, int, int); 4978 + 4979 +BOOL SetViewportExtEx(HDC, int, int, LPSIZE); 4980 + 4981 +BOOL SetViewportOrgEx(HDC, int, int, LPPOINT); 4982 + 4983 +BOOL SetWindowExtEx(HDC, int, int, LPSIZE); 4984 + 4985 +BOOL SetWindowOrgEx(HDC, int, int, LPPOINT); 4986 + 4987 +HENHMETAFILE SetWinMetaFileBits(UINT, CPtr!(BYTE), HDC, CPtr!(METAFILEPICT)); 4988 + 4989 +BOOL SetWorldTransform(HDC, CPtr!(XFORM)); 4990 + 4991 +int StartDocA(HDC, CPtr!(DOCINFOA)); 4992 + 4993 +int StartDocW(HDC, CPtr!(DOCINFOW)); 4994 + 4995 +int StartPage(HDC); 4996 + 4997 +BOOL StretchBlt(HDC, int, int, int, int, HDC, int, int, int, int, DWORD); 4998 + 4999 +int StretchDIBits(HDC, int, int, int, int, int, int, int, int, CPtr!(VOID), CPtr!(BITMAPINFO), UINT, DWORD); 5000 + 5001 +BOOL StrokeAndFillPath(HDC); 5002 + 5003 +BOOL StrokePath(HDC); 5004 + 5005 +BOOL SwapBuffers(HDC); 5006 + 5007 +BOOL TextOutA(HDC, int, int, LPCSTR, int); 5008 + 5009 +BOOL TextOutW(HDC, int, int, LPCWSTR, int); 5010 + 5011 +BOOL TranslateCharsetInfo(PDWORD, LPCHARSETINFO, DWORD); 5012 + 5013 +BOOL UnrealizeObject(HGDIOBJ); 5014 + 5015 +BOOL UpdateColors(HDC); 5016 + 5017 +BOOL UpdateICMRegKeyA(DWORD, DWORD, LPSTR, UINT); 5018 + 5019 +BOOL UpdateICMRegKeyW(DWORD, DWORD, LPWSTR, UINT); 5020 + 5021 +BOOL WidenPath(HDC); 5022 + 5023 +BOOL wglCopyContext(HGLRC, HGLRC, UINT); 5024 + 5025 +HGLRC wglCreateContext(HDC); 5026 + 5027 +HGLRC wglCreateLayerContext(HDC, int); 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, LPGLYPHMETRICSFLOAT); 5056 + 5057 +BOOL wglUseFontOutlinesW(HDC, DWORD, DWORD, DWORD, FLOAT, FLOAT, int, LPGLYPHMETRICSFLOAT); 5058 + 5059 +static 5060 + 5061 +if (WINVER >= 0x0500) 5062 +{ 5063 + alias WGLSWAP*PWGLSWAP; 5064 + struct WGLSWAP 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 - 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 **, HANDLE, DWORD); 3532 -extern(Windows) export UINT GetDIBColorTable(HDC, UINT, UINT, RGBQUAD *); 3533 -extern(Windows) export UINT SetDIBColorTable(HDC, UINT, UINT, RGBQUAD *); 3534 - 3535 -enum : uint { CA_NEGATIVE = 0x0001 } 3536 -enum : uint { CA_LOG_FILTER = 0x0002 } 3537 - 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; 3548 - 3549 -alias ILLUMINANT_A ILLUMINANT_TUNGSTEN; 3550 -alias ILLUMINANT_C ILLUMINANT_DAYLIGHT; 3551 -alias ILLUMINANT_F2 ILLUMINANT_FLUORESCENT; 3552 -alias ILLUMINANT_C ILLUMINANT_NTSC; 3553 - 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; 5072 + 5073 +static 5074 + 5075 +if (WINVER >= 0x0500) 5076 +{ 5077 + BOOL GdiAlphaBlend(HDC, int, int, int, int, HDC, int, int, int, int, BLENDFUNCTION); 5078 + 5079 + BOOL GradientFill(HDC, PTRIVERTEX, ULONG, PVOID, ULONG, ULONG); 5080 + 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 *); 3584 -extern(Windows) export BOOL GetColorAdjustment(HDC, LPCOLORADJUSTMENT); 3585 -extern(Windows) export HPALETTE CreateHalftonePalette(HDC); 5084 +static 3586 5085 3587 -// #ifdef STRICT 3588 -extern(Windows) alias BOOL function( HDC, int) ABORTPROC; 3589 -// #else 3590 -// ... 3591 -// #endif 5086 +if (_WIN32_WINNT >= 0x0500) 5087 +{ 5088 + COLORREF SetDCBrushColor(HDC, COLORREF); 5089 + 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 { 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; 5112 + BOOL GetTextExtentExPointI(HDC, LPWORD, int, int, LPINT, LPINT, LPSIZE); 3604 5113 3605 -struct _DOCINFOW { 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; 5114 + BOOL GetCharWidthI(HDC, UINT, UINT, LPWORD, LPINT); 3616 5115 3617 -// #ifdef UNICODE 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, UINT, INT *); 3678 -extern(Windows) export BOOL ExtTextOutW(HDC, int, int, UINT, RECT *, LPCWSTR, UINT, INT *); 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; 5116 + BOOL GetCharABCWidthsI(HDC, UINT, UINT, LPWORD, LPABC); 3728 5117 } 3729 -alias tagKERNINGPAIR KERNINGPAIR; 3730 -alias tagKERNINGPAIR* LPKERNINGPAIR; 5118 +} // extern (Windows) 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); 3733 -extern(Windows) export DWORD GetKerningPairsW(HDC, DWORD, LPKERNINGPAIR); 3734 -// #ifdef UNICODE 3735 -alias GetKerningPairsW GetKerningPairs; 3736 -// #else 3737 -// #... 3738 -// #endif // !UNICODE 5126 + alias TEXTMETRICW TEXTMETRIC; 5127 + alias NPTEXTMETRICW NPTEXTMETRIC; 5128 + alias ICMENUMPROCW ICMENUMPROC; 5129 + alias FONTENUMPROCW FONTENUMPROC; 5130 + alias DEVMODEW DEVMODE; 3739 5131 3740 -extern(Windows) export BOOL GetDCOrgEx(HDC, LPPOINT); 3741 -extern(Windows) export BOOL FixBrushOrgEx(HDC, int, int, LPPOINT); 3742 -extern(Windows) export BOOL UnrealizeObject(HGDIOBJ); 3743 - 3744 -extern(Windows) export BOOL GdiFlush(); 3745 -extern(Windows) export DWORD GdiSetBatchLimit(DWORD); 3746 -extern(Windows) export DWORD GdiGetBatchLimit(); 3747 - 3748 -// #if(WINVER >= 0x0400) 5132 + alias EXTLOGFONTW EXTLOGFONT; 5133 + alias GCP_RESULTSW GCP_RESULTS; 5134 + alias OUTLINETEXTMETRICW OUTLINETEXTMETRIC; 5135 + alias POLYTEXTW POLYTEXT; 5136 + alias LOGCOLORSPACEW LOGCOLORSPACE; 5137 + alias NEWTEXTMETRICW NEWTEXTMETRIC; 5138 + alias NEWTEXTMETRICEXW NEWTEXTMETRICEX; 5139 + alias ENUMLOGFONTW ENUMLOGFONT; 5140 + alias ENUMLOGFONTEXW ENUMLOGFONTEX; 5141 + alias DISPLAY_DEVICEW DISPLAY_DEVICE; 5142 + alias AddFontResourceW AddFontResource; 3749 5143 3750 -enum : uint { ICM_OFF = 1 } 3751 -enum : uint { ICM_ON = 2 } 3752 -enum : uint { ICM_QUERY = 3 } 3753 -enum : uint { ICM_DONE_OUTSIDEDC = 4 } 3754 - 3755 -extern(Windows) alias int function(LPSTR, LPARAM) ICMENUMPROCA; 3756 -extern(Windows) alias int function(LPWSTR, LPARAM) ICMENUMPROCW; 3757 -// #ifdef UNICODE 3758 -alias ICMENUMPROCW ICMENUMPROC; 3759 -// #else 3760 -// #... 3761 -// #endif // !UNICODE 5144 + alias CopyEnhMetaFileW CopyEnhMetaFile; 5145 + alias CopyMetaFileW CopyMetaFile; 5146 + alias CreateColorSpaceW CreateColorSpace; 5147 + alias CreateDCW CreateDC; 5148 + alias CreateEnhMetaFileW CreateEnhMetaFile; 5149 + alias CreateFontW CreateFont; 5150 + alias CreateFontIndirectW CreateFontIndirect; 5151 + alias CreateICW CreateIC; 5152 + alias CreateMetaFileW CreateMetaFile; 5153 + alias CreateScalableFontResourceW CreateScalableFontResource; 5154 + alias DeviceCapabilitiesW DeviceCapabilities; 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); 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, DWORD); 3767 -extern(Windows) export BOOL GetLogColorSpaceW(HCOLORSPACE, LPLOGCOLORSPACEW, DWORD); 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; 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 3809 -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 5183 + alias ResetDCW ResetDC; 5184 + alias SetICMProfileW SetICMProfile; 5185 + alias StartDocW StartDoc; 5186 + alias TextOutW TextOut; 5187 + alias UpdateICMRegKeyW UpdateICMRegKey; 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) 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 - 3958 -enum : uint { EMR_MIN = 1 } 3959 - 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 - 5192 + if (_WIN32_WINNT >= 0x0500) 5193 + { 5194 + alias ENUMLOGFONTEXDVW ENUMLOGFONTEXDV; 5195 + alias PENUMLOGFONTEXDVW PENUMLOGFONTEXDV; 5196 + alias LPENUMLOGFONTEXDVW LPENUMLOGFONTEXDV; 5197 + alias AddFontResourceExW AddFontResourceEx; 5198 + alias RemoveFontResourceExW RemoveFontResourceEx; 5199 + alias GetGlyphIndicesW GetGlyphIndices; 5200 + } 3972 5201 } 3973 -alias tagEMR EMR; 3974 -alias tagEMR* PEMR; 3975 - 3976 -struct tagEMRTEXT { 3977 - POINTL ptlReference; 3978 - DWORD nChars; 3979 - DWORD offString; 3980 - DWORD fOptions; 3981 - RECTL rcl; 3982 - DWORD offDx; 3983 - 3984 -} 3985 -alias tagEMRTEXT EMRTEXT; 3986 -alias tagEMRTEXT* PEMRTEXT; 3987 - 3988 -struct tagABORTPATH { 3989 - EMR emr; 3990 -} 3991 -alias tagABORTPATH EMRABORTPATH; 3992 -alias tagABORTPATH* PEMRABORTPATH; 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; 5202 +else /* non-unicode build */ 5203 +{ 5204 + alias BYTE BCHAR; 5205 + alias DOCINFOA DOCINFO; 5206 + alias LOGFONTA LOGFONT; 5207 + alias TEXTMETRICA TEXTMETRIC; 5208 + alias NPTEXTMETRICA NPTEXTMETRIC; 5209 + alias ICMENUMPROCA ICMENUMPROC; 5210 + alias FONTENUMPROCA FONTENUMPROC; 5211 + alias DEVMODEA DEVMODE; 5212 + alias EXTLOGFONTA EXTLOGFONT; 5213 + alias GCP_RESULTSA GCP_RESULTS; 5214 + alias OUTLINETEXTMETRICA OUTLINETEXTMETRIC; 5215 + alias POLYTEXTA POLYTEXT; 5216 + alias LOGCOLORSPACEA LOGCOLORSPACE; 5217 + alias NEWTEXTMETRICA NEWTEXTMETRIC; 5218 + alias NEWTEXTMETRICEXA NEWTEXTMETRICEX; 5219 + alias ENUMLOGFONTA ENUMLOGFONT; 5220 + alias ENUMLOGFONTEXA ENUMLOGFONTEX; 5221 + alias DISPLAY_DEVICEA DISPLAY_DEVICE; 4009 5222 4010 -struct tagEMRSELECTCLIPPATH { 4011 - EMR emr; 4012 - DWORD iMode; 4013 -} 4014 -alias tagEMRSELECTCLIPPATH EMRSELECTCLIPPATH; 4015 -alias tagEMRSELECTCLIPPATH* PEMRSELECTCLIPPATH; 4016 -alias tagEMRSELECTCLIPPATH EMRSETBKMODE; 4017 -alias tagEMRSELECTCLIPPATH* PEMRSETBKMODE; 4018 -alias tagEMRSELECTCLIPPATH EMRSETMAPMODE; 4019 -alias tagEMRSELECTCLIPPATH* PEMRSETMAPMODE; 4020 -alias tagEMRSELECTCLIPPATH EMRSETLAYOUT; 4021 -alias tagEMRSELECTCLIPPATH* PEMRSETLAYOUT; 4022 -alias tagEMRSELECTCLIPPATH EMRSETPOLYFILLMODE; 4023 -alias tagEMRSELECTCLIPPATH* PEMRSETPOLYFILLMODE; 4024 -alias tagEMRSELECTCLIPPATH EMRSETROP2; 4025 -alias tagEMRSELECTCLIPPATH* PEMRSETROP2; 4026 -alias tagEMRSELECTCLIPPATH EMRSETSTRETCHBLTMODE; 4027 -alias tagEMRSELECTCLIPPATH* PEMRSETSTRETCHBLTMODE; 4028 -alias tagEMRSELECTCLIPPATH EMRSETICMMODE; 4029 -alias tagEMRSELECTCLIPPATH* PEMRSETICMMODE; 4030 -alias tagEMRSELECTCLIPPATH EMRSETTEXTALIGN; 4031 -alias tagEMRSELECTCLIPPATH* PEMRSETTEXTALIGN; 4032 - 4033 -struct tagEMRSETMITERLIMIT { 4034 - EMR emr; 4035 - FLOAT eMiterLimit; 4036 -} 4037 -alias tagEMRSETMITERLIMIT EMRSETMITERLIMIT; 4038 -alias tagEMRSETMITERLIMIT* PEMRSETMITERLIMIT; 4039 - 4040 -struct tagEMRRESTOREDC { 4041 - EMR emr; 4042 - LONG iRelative; 4043 -} 4044 -alias tagEMRRESTOREDC EMRRESTOREDC; 4045 -alias tagEMRRESTOREDC* PEMRRESTOREDC; 4046 - 4047 -struct tagEMRSETARCDIRECTION { 4048 - EMR emr; 4049 - DWORD iArcDirection; 5223 + alias AddFontResourceA AddFontResource; 5224 + alias CopyEnhMetaFileA CopyEnhMetaFile; 5225 + alias CopyMetaFileA CopyMetaFile; 5226 + alias CreateColorSpaceA CreateColorSpace; 5227 + alias CreateDCA CreateDC; 5228 + alias CreateEnhMetaFileA CreateEnhMetaFile; 5229 + alias CreateFontA CreateFont; 5230 + alias CreateFontIndirectA CreateFontIndirect; 5231 + alias CreateICA CreateIC; 5232 + alias CreateMetaFileA CreateMetaFile; 5233 + alias CreateScalableFontResourceA CreateScalableFontResource; 5234 + alias DeviceCapabilitiesA DeviceCapabilities; 5235 + alias EnumFontFamiliesA EnumFontFamilies; 5236 + alias EnumFontFamiliesExA EnumFontFamiliesEx; 5237 + alias EnumFontsA EnumFonts; 5238 + alias EnumICMProfilesA EnumICMProfiles; 5239 + alias ExtTextOutA ExtTextOut; 5240 + alias GetCharWidthFloatA GetCharWidthFloat; 5241 + alias GetCharWidthA GetCharWidth; 5242 + alias GetCharacterPlacementA GetCharacterPlacement; 5243 + alias GetCharABCWidthsA GetCharABCWidths; 5244 + alias GetCharABCWidthsFloatA GetCharABCWidthsFloat; 5245 + alias GetCharWidth32A GetCharWidth32; 5246 + alias GetEnhMetaFileA GetEnhMetaFile; 5247 + alias GetEnhMetaFileDescriptionA GetEnhMetaFileDescription; 5248 + alias GetGlyphOutlineA GetGlyphOutline; 5249 + alias GetICMProfileA GetICMProfile; 5250 + alias GetKerningPairsA GetKerningPairs; 5251 + alias GetLogColorSpaceA GetLogColorSpace; 5252 + alias GetMetaFileA GetMetaFile; 5253 + alias GetObjectA GetObject; 5254 + alias GetOutlineTextMetricsA GetOutlineTextMetrics; 5255 + alias GetTextExtentPointA GetTextExtentPoint; 5256 + alias GetTextExtentExPointA GetTextExtentExPoint; 5257 + alias GetTextExtentPoint32A GetTextExtentPoint32; 5258 + alias GetTextFaceA GetTextFace; 5259 + alias GetTextMetricsA GetTextMetrics; 5260 + alias PolyTextOutA PolyTextOut; 5261 + alias RemoveFontResourceA RemoveFontResource; 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; 4054 - 4055 -struct tagEMRSETMAPPERFLAGS { 4056 - EMR emr; 4057 - DWORD dwFlags; 4058 -} 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; 5271 + if (_WIN32_WINNT >= 0x0500) 5272 + { 5273 + alias ENUMLOGFONTEXDVA ENUMLOGFONTEXDV; 5274 + alias PENUMLOGFONTEXDVA PENUMLOGFONTEXDV; 5275 + alias LPENUMLOGFONTEXDVA LPENUMLOGFONTEXDV; 5276 + alias AddFontResourceExA AddFontResourceEx; 5277 + alias RemoveFontResourceExA RemoveFontResourceEx; 5278 + alias GetGlyphIndicesA GetGlyphIndices; 5279 + } 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 { 4222 - EMR emr; 4223 - POINTL ptlStart; 4224 - COLORREF crColor; 4225 - DWORD iMode; 4226 -} 4227 -alias tagEMREXTFLOODFILL EMREXTFLOODFILL; 4228 -alias tagEMREXTFLOODFILL* PEMREXTFLOODFILL; 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; 4676 - LOGCOLORSPACEA lcs; 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 - 5282 +// Common to both ASCII & UNICODE 5283 +alias DOCINFO*LPDOCINFO; 5284 +alias LOGFONT*PLOGFONT, NPLOGFONT, LPLOGFONT; 5285 +alias TEXTMETRIC*PTEXTMETRIC, LPTEXTMETRIC; 5286 +alias DEVMODE*PDEVMODE, NPDEVMODE, LPDEVMODE; 5287 +alias EXTLOGFONT *PEXTLOGFONT, NPEXTLOGFONT, LPEXTLOGFONT; 5288 +alias GCP_RESULTS*LPGCP_RESULTS; 5289 +alias OUTLINETEXTMETRIC*POUTLINETEXTMETRIC, NPOUTLINETEXTMETRIC, LPOUTLINETEXTMETRIC; 5290 +alias POLYTEXT*PPOLYTEXT, NPPOLYTEXT, LPPOLYTEXT; 5291 +alias LOGCOLORSPACE*LPLOGCOLORSPACE; 5292 +alias NEWTEXTMETRIC*PNEWTEXTMETRIC, NPNEWTEXTMETRIC, LPNEWTEXTMETRIC; 5293 +alias ENUMLOGFONT*LPENUMLOGFONT; 5294 +alias ENUMLOGFONTEX *LPENUMLOGFONTEX; 5295 +alias DISPLAY_DEVICE*PDISPLAY_DEVICE, LPDISPLAY_DEVICE;