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