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