Diff

Not logged in

Differences From Artifact [831d9d5a2951cb99]:

To Artifact [5fb8f5b21d4e8b04]:


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