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