4080 lines · 118.5 KB · C
RawDownload
/** * This file has no copyright assigned and is placed in the Public Domain. * This file is part of the w64 mingw-runtime package. * No warranty is given; refer to the file DISCLAIMER within this package. */#ifndef _WINGDI_#define _WINGDI_ #define WINGDIAPI DECLSPEC_IMPORT#define WINSPOOLAPI DECLSPEC_IMPORT #ifdef __cplusplusextern "C" {#endif #ifndef WINVER#define WINVER 0x0502#endif #ifndef NOGDI#ifndef NORASTEROPS#define R2_BLACK 1#define R2_NOTMERGEPEN 2#define R2_MASKNOTPEN 3#define R2_NOTCOPYPEN 4#define R2_MASKPENNOT 5#define R2_NOT 6#define R2_XORPEN 7#define R2_NOTMASKPEN 8#define R2_MASKPEN 9#define R2_NOTXORPEN 10#define R2_NOP 11#define R2_MERGENOTPEN 12#define R2_COPYPEN 13#define R2_MERGEPENNOT 14#define R2_MERGEPEN 15#define R2_WHITE 16#define R2_LAST 16 #define SRCCOPY (DWORD)0x00CC0020#define SRCPAINT (DWORD)0x00EE0086#define SRCAND (DWORD)0x008800C6#define SRCINVERT (DWORD)0x00660046#define SRCERASE (DWORD)0x00440328#define NOTSRCCOPY (DWORD)0x00330008#define NOTSRCERASE (DWORD)0x001100A6#define MERGECOPY (DWORD)0x00C000CA#define MERGEPAINT (DWORD)0x00BB0226#define PATCOPY (DWORD)0x00F00021#define PATPAINT (DWORD)0x00FB0A09#define PATINVERT (DWORD)0x005A0049#define DSTINVERT (DWORD)0x00550009#define BLACKNESS (DWORD)0x00000042#define WHITENESS (DWORD)0x00FF0062#define NOMIRRORBITMAP (DWORD)0x80000000#define CAPTUREBLT (DWORD)0x40000000#define MAKEROP4(fore,back) (DWORD)((((back) << 8) & 0xFF000000) | (fore))#endif #define GDI_ERROR (0xFFFFFFFFL)#define HGDI_ERROR (LongToHandle(0xFFFFFFFFL)) #define ERROR 0#define NULLREGION 1#define SIMPLEREGION 2#define COMPLEXREGION 3#define RGN_ERROR ERROR #define RGN_AND 1#define RGN_OR 2#define RGN_XOR 3#define RGN_DIFF 4#define RGN_COPY 5#define RGN_MIN RGN_AND#define RGN_MAX RGN_COPY #define BLACKONWHITE 1#define WHITEONBLACK 2#define COLORONCOLOR 3#define HALFTONE 4#define MAXSTRETCHBLTMODE 4 #define STRETCH_ANDSCANS BLACKONWHITE#define STRETCH_ORSCANS WHITEONBLACK#define STRETCH_DELETESCANS COLORONCOLOR#define STRETCH_HALFTONE HALFTONE #define ALTERNATE 1#define WINDING 2#define POLYFILL_LAST 2 #define LAYOUT_RTL 0x00000001#define LAYOUT_BTT 0x00000002#define LAYOUT_VBH 0x00000004#define LAYOUT_ORIENTATIONMASK (LAYOUT_RTL | LAYOUT_BTT | LAYOUT_VBH)#define LAYOUT_BITMAPORIENTATIONPRESERVED 0x00000008 #define TA_NOUPDATECP 0#define TA_UPDATECP 1 #define TA_LEFT 0#define TA_RIGHT 2#define TA_CENTER 6 #define TA_TOP 0#define TA_BOTTOM 8#define TA_BASELINE 24#define TA_RTLREADING 256#define TA_MASK (TA_BASELINE+TA_CENTER+TA_UPDATECP+TA_RTLREADING) #define VTA_BASELINE TA_BASELINE#define VTA_LEFT TA_BOTTOM#define VTA_RIGHT TA_TOP#define VTA_CENTER TA_CENTER#define VTA_BOTTOM TA_RIGHT#define VTA_TOP TA_LEFT #define ETO_OPAQUE 0x0002#define ETO_CLIPPED 0x0004#define ETO_GLYPH_INDEX 0x0010#define ETO_RTLREADING 0x0080#define ETO_NUMERICSLOCAL 0x0400#define ETO_NUMERICSLATIN 0x0800#define ETO_IGNORELANGUAGE 0x1000#define ETO_PDY 0x2000 #define ASPECT_FILTERING 0x0001 #define DCB_RESET 0x0001#define DCB_ACCUMULATE 0x0002#define DCB_DIRTY DCB_ACCUMULATE#define DCB_SET (DCB_RESET | DCB_ACCUMULATE)#define DCB_ENABLE 0x0004#define DCB_DISABLE 0x0008 #ifndef NOMETAFILE #define META_SETBKCOLOR 0x0201#define META_SETBKMODE 0x0102#define META_SETMAPMODE 0x0103#define META_SETROP2 0x0104#define META_SETRELABS 0x0105#define META_SETPOLYFILLMODE 0x0106#define META_SETSTRETCHBLTMODE 0x0107#define META_SETTEXTCHAREXTRA 0x0108#define META_SETTEXTCOLOR 0x0209#define META_SETTEXTJUSTIFICATION 0x020A#define META_SETWINDOWORG 0x020B#define META_SETWINDOWEXT 0x020C#define META_SETVIEWPORTORG 0x020D#define META_SETVIEWPORTEXT 0x020E#define META_OFFSETWINDOWORG 0x020F#define META_SCALEWINDOWEXT 0x0410#define META_OFFSETVIEWPORTORG 0x0211#define META_SCALEVIEWPORTEXT 0x0412#define META_LINETO 0x0213#define META_MOVETO 0x0214#define META_EXCLUDECLIPRECT 0x0415#define META_INTERSECTCLIPRECT 0x0416#define META_ARC 0x0817#define META_ELLIPSE 0x0418#define META_FLOODFILL 0x0419#define META_PIE 0x081A#define META_RECTANGLE 0x041B#define META_ROUNDRECT 0x061C#define META_PATBLT 0x061D#define META_SAVEDC 0x001E#define META_SETPIXEL 0x041F#define META_OFFSETCLIPRGN 0x0220#define META_TEXTOUT 0x0521#define META_BITBLT 0x0922#define META_STRETCHBLT 0x0B23#define META_POLYGON 0x0324#define META_POLYLINE 0x0325#define META_ESCAPE 0x0626#define META_RESTOREDC 0x0127#define META_FILLREGION 0x0228#define META_FRAMEREGION 0x0429#define META_INVERTREGION 0x012A#define META_PAINTREGION 0x012B#define META_SELECTCLIPREGION 0x012C#define META_SELECTOBJECT 0x012D#define META_SETTEXTALIGN 0x012E#define META_CHORD 0x0830#define META_SETMAPPERFLAGS 0x0231#define META_EXTTEXTOUT 0x0a32#define META_SETDIBTODEV 0x0d33#define META_SELECTPALETTE 0x0234#define META_REALIZEPALETTE 0x0035#define META_ANIMATEPALETTE 0x0436#define META_SETPALENTRIES 0x0037#define META_POLYPOLYGON 0x0538#define META_RESIZEPALETTE 0x0139#define META_DIBBITBLT 0x0940#define META_DIBSTRETCHBLT 0x0b41#define META_DIBCREATEPATTERNBRUSH 0x0142#define META_STRETCHDIB 0x0f43#define META_EXTFLOODFILL 0x0548#define META_SETLAYOUT 0x0149#define META_DELETEOBJECT 0x01f0#define META_CREATEPALETTE 0x00f7#define META_CREATEPATTERNBRUSH 0x01F9#define META_CREATEPENINDIRECT 0x02FA#define META_CREATEFONTINDIRECT 0x02FB#define META_CREATEBRUSHINDIRECT 0x02FC#define META_CREATEREGION 0x06FF   typedef struct _DRAWPATRECT {    POINT ptPosition;    POINT ptSize;    WORD wStyle;    WORD wPattern;  } DRAWPATRECT,*PDRAWPATRECT;#endif #define NEWFRAME 1#define ABORTDOC 2#define NEXTBAND 3#define SETCOLORTABLE 4#define GETCOLORTABLE 5#define FLUSHOUTPUT 6#define DRAFTMODE 7#define QUERYESCSUPPORT 8#define SETABORTPROC 9#define STARTDOC 10#define ENDDOC 11#define GETPHYSPAGESIZE 12#define GETPRINTINGOFFSET 13#define GETSCALINGFACTOR 14#define MFCOMMENT 15#define GETPENWIDTH 16#define SETCOPYCOUNT 17#define SELECTPAPERSOURCE 18#define DEVICEDATA 19#define PASSTHROUGH 19#define GETTECHNOLGY 20#define GETTECHNOLOGY 20#define SETLINECAP 21#define SETLINEJOIN 22#define SETMITERLIMIT 23#define BANDINFO 24#define DRAWPATTERNRECT 25#define GETVECTORPENSIZE 26#define GETVECTORBRUSHSIZE 27#define ENABLEDUPLEX 28#define GETSETPAPERBINS 29#define GETSETPRINTORIENT 30#define ENUMPAPERBINS 31#define SETDIBSCALING 32#define EPSPRINTING 33#define ENUMPAPERMETRICS 34#define GETSETPAPERMETRICS 35#define POSTSCRIPT_DATA 37#define POSTSCRIPT_IGNORE 38#define MOUSETRAILS 39#define GETDEVICEUNITS 42 #define GETEXTENDEDTEXTMETRICS 256#define GETEXTENTTABLE 257#define GETPAIRKERNTABLE 258#define GETTRACKKERNTABLE 259#define EXTTEXTOUT 512#define GETFACENAME 513#define DOWNLOADFACE 514#define ENABLERELATIVEWIDTHS 768#define ENABLEPAIRKERNING 769#define SETKERNTRACK 770#define SETALLJUSTVALUES 771#define SETCHARSET 772 #define STRETCHBLT 2048#define METAFILE_DRIVER 2049#define GETSETSCREENPARAMS 3072#define QUERYDIBSUPPORT 3073#define BEGIN_PATH 4096#define CLIP_TO_PATH 4097#define END_PATH 4098#define EXT_DEVICE_CAPS 4099#define RESTORE_CTM 4100#define SAVE_CTM 4101#define SET_ARC_DIRECTION 4102#define SET_BACKGROUND_COLOR 4103#define SET_POLY_MODE 4104#define SET_SCREEN_ANGLE 4105#define SET_SPREAD 4106#define TRANSFORM_CTM 4107#define SET_CLIP_BOX 4108#define SET_BOUNDS 4109#define SET_MIRROR_MODE 4110#define OPENCHANNEL 4110#define DOWNLOADHEADER 4111#define CLOSECHANNEL 4112#define POSTSCRIPT_PASSTHROUGH 4115#define ENCAPSULATED_POSTSCRIPT 4116 #define POSTSCRIPT_IDENTIFY 4117#define POSTSCRIPT_INJECTION 4118 #define CHECKJPEGFORMAT 4119#define CHECKPNGFORMAT 4120 #define GET_PS_FEATURESETTING 4121 #define SPCLPASSTHROUGH2 4568 #define PSIDENT_GDICENTRIC 0#define PSIDENT_PSCENTRIC 1   typedef struct _PSINJECTDATA {    DWORD DataBytes;    WORD InjectionPoint;    WORD PageNumber;  } PSINJECTDATA,*PPSINJECTDATA; #define PSINJECT_BEGINSTREAM 1#define PSINJECT_PSADOBE 2#define PSINJECT_PAGESATEND 3#define PSINJECT_PAGES 4 #define PSINJECT_DOCNEEDEDRES 5#define PSINJECT_DOCSUPPLIEDRES 6#define PSINJECT_PAGEORDER 7#define PSINJECT_ORIENTATION 8#define PSINJECT_BOUNDINGBOX 9#define PSINJECT_DOCUMENTPROCESSCOLORS 10 #define PSINJECT_COMMENTS 11#define PSINJECT_BEGINDEFAULTS 12#define PSINJECT_ENDDEFAULTS 13#define PSINJECT_BEGINPROLOG 14#define PSINJECT_ENDPROLOG 15#define PSINJECT_BEGINSETUP 16#define PSINJECT_ENDSETUP 17#define PSINJECT_TRAILER 18#define PSINJECT_EOF 19#define PSINJECT_ENDSTREAM 20#define PSINJECT_DOCUMENTPROCESSCOLORSATEND 21 #define PSINJECT_PAGENUMBER 100#define PSINJECT_BEGINPAGESETUP 101#define PSINJECT_ENDPAGESETUP 102#define PSINJECT_PAGETRAILER 103#define PSINJECT_PLATECOLOR 104 #define PSINJECT_SHOWPAGE 105#define PSINJECT_PAGEBBOX 106#define PSINJECT_ENDPAGECOMMENTS 107 #define PSINJECT_VMSAVE 200#define PSINJECT_VMRESTORE 201 #define FEATURESETTING_NUP 0#define FEATURESETTING_OUTPUT 1#define FEATURESETTING_PSLEVEL 2#define FEATURESETTING_CUSTPAPER 3#define FEATURESETTING_MIRROR 4#define FEATURESETTING_NEGATIVE 5#define FEATURESETTING_PROTOCOL 6 #define FEATURESETTING_PRIVATE_BEGIN 0x1000#define FEATURESETTING_PRIVATE_END 0x1FFF   typedef struct _PSFEATURE_OUTPUT {    WINBOOL bPageIndependent;    WINBOOL bSetPageDevice;  } PSFEATURE_OUTPUT,*PPSFEATURE_OUTPUT;   typedef struct _PSFEATURE_CUSTPAPER {    LONG lOrientation;    LONG lWidth;    LONG lHeight;    LONG lWidthOffset;    LONG lHeightOffset;  } PSFEATURE_CUSTPAPER,*PPSFEATURE_CUSTPAPER; #define PSPROTOCOL_ASCII 0#define PSPROTOCOL_BCP 1#define PSPROTOCOL_TBCP 2#define PSPROTOCOL_BINARY 3 #define QDI_SETDIBITS 1#define QDI_GETDIBITS 2#define QDI_DIBTOSCREEN 4#define QDI_STRETCHDIB 8 #define SP_NOTREPORTED 0x4000#define SP_ERROR (-1)#define SP_APPABORT (-2)#define SP_USERABORT (-3)#define SP_OUTOFDISK (-4)#define SP_OUTOFMEMORY (-5) #define PR_JOBSTATUS 0x0000 #define OBJ_PEN 1#define OBJ_BRUSH 2#define OBJ_DC 3#define OBJ_METADC 4#define OBJ_PAL 5#define OBJ_FONT 6#define OBJ_BITMAP 7#define OBJ_REGION 8#define OBJ_METAFILE 9#define OBJ_MEMDC 10#define OBJ_EXTPEN 11#define OBJ_ENHMETADC 12#define OBJ_ENHMETAFILE 13#define OBJ_COLORSPACE 14 #define MWT_IDENTITY 1#define MWT_LEFTMULTIPLY 2#define MWT_RIGHTMULTIPLY 3 #define MWT_MIN MWT_IDENTITY#define MWT_MAX MWT_RIGHTMULTIPLY #define _XFORM_  typedef struct tagXFORM {    FLOAT eM11;    FLOAT eM12;    FLOAT eM21;    FLOAT eM22;    FLOAT eDx;    FLOAT eDy;  } XFORM,*PXFORM,*LPXFORM;   typedef struct tagBITMAP {    LONG bmType;    LONG bmWidth;    LONG bmHeight;    LONG bmWidthBytes;    WORD bmPlanes;    WORD bmBitsPixel;    LPVOID bmBits;  } BITMAP,*PBITMAP,*NPBITMAP,*LPBITMAP; #include <pshpack1.h>  typedef struct tagRGBTRIPLE {    BYTE rgbtBlue;    BYTE rgbtGreen;    BYTE rgbtRed;  } RGBTRIPLE;#include <poppack.h>   typedef struct tagRGBQUAD {    BYTE rgbBlue;    BYTE rgbGreen;    BYTE rgbRed;    BYTE rgbReserved;  } RGBQUAD;  typedef RGBQUAD *LPRGBQUAD; #define CS_ENABLE 0x00000001L#define CS_DISABLE 0x00000002L#define CS_DELETE_TRANSFORM 0x00000003L //!__TINYC__: #define LCS_SIGNATURE 'PSOC'//!__TINYC__: #define LCS_sRGB 'sRGB'//!__TINYC__: #define LCS_WINDOWS_COLOR_SPACE 'Win '   typedef LONG LCSCSTYPE;#define LCS_CALIBRATED_RGB 0x00000000L   typedef LONG LCSGAMUTMATCH;#define LCS_GM_BUSINESS 0x00000001L#define LCS_GM_GRAPHICS 0x00000002L#define LCS_GM_IMAGES 0x00000004L#define LCS_GM_ABS_COLORIMETRIC 0x00000008L #define CM_OUT_OF_GAMUT 255#define CM_IN_GAMUT 0 #define ICM_ADDPROFILE 1#define ICM_DELETEPROFILE 2#define ICM_QUERYPROFILE 3#define ICM_SETDEFAULTPROFILE 4#define ICM_REGISTERICMATCHER 5#define ICM_UNREGISTERICMATCHER 6#define ICM_QUERYMATCH 7 #define GetKValue(cmyk) ((BYTE)(cmyk))#define GetYValue(cmyk) ((BYTE)((cmyk)>> 8))#define GetMValue(cmyk) ((BYTE)((cmyk)>>16))#define GetCValue(cmyk) ((BYTE)((cmyk)>>24)) #define CMYK(c,m,y,k) ((COLORREF)((((BYTE)(k)|((WORD)((BYTE)(y))<<8))|(((DWORD)(BYTE)(m))<<16))|(((DWORD)(BYTE)(c))<<24)))   typedef long FXPT16DOT16,*LPFXPT16DOT16;  typedef long FXPT2DOT30,*LPFXPT2DOT30;   typedef struct tagCIEXYZ {    FXPT2DOT30 ciexyzX;    FXPT2DOT30 ciexyzY;    FXPT2DOT30 ciexyzZ;  } CIEXYZ;  typedef CIEXYZ *LPCIEXYZ;   typedef struct tagICEXYZTRIPLE {    CIEXYZ ciexyzRed;    CIEXYZ ciexyzGreen;

Lines 1–500 of 4080.