OSDN Git Service

Avoid an implication that the API is exclusively 32-bit.
[mingw/mingw-org-wsl.git] / wslapi / include / gdiplus / gdiplusenums.h
1 /*\r
2  * gdiplusenums.h\r
3  *\r
4  * GDI+ enumerations\r
5  *\r
6  * This file is part of the w32api package.\r
7  *\r
8  * Contributors:\r
9  *   Created by Markus Koenig <markus@stber-koenig.de>\r
10  *\r
11  * THIS SOFTWARE IS NOT COPYRIGHTED\r
12  *\r
13  * This source code is offered for use in the public domain. You may\r
14  * use, modify or distribute it freely.\r
15  *\r
16  * This code is distributed in the hope that it will be useful but\r
17  * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY\r
18  * DISCLAIMED. This includes but is not limited to warranties of\r
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\r
20  *\r
21  */\r
22 \r
23 #ifndef __GDIPLUS_ENUMS_H\r
24 #define __GDIPLUS_ENUMS_H\r
25 #if __GNUC__ >=3\r
26 #pragma GCC system_header\r
27 #endif\r
28 \r
29 typedef enum BrushType {\r
30         BrushTypeSolidColor = 0,\r
31         BrushTypeHatchFill = 1,\r
32         BrushTypeTextureFill = 2,\r
33         BrushTypePathGradient = 3,\r
34         BrushTypeLinearGradient = 4\r
35 } BrushType;\r
36 \r
37 typedef enum CombineMode {\r
38         CombineModeReplace = 0,\r
39         CombineModeIntersect = 1,\r
40         CombineModeUnion = 2,\r
41         CombineModeXor = 3,\r
42         CombineModeExclude = 4,\r
43         CombineModeComplement = 5\r
44 } CombineMode;\r
45 \r
46 typedef enum CompositingMode {\r
47         CompositingModeSourceOver = 0,\r
48         CompositingModeSourceCopy = 1\r
49 } CompositingMode;\r
50 \r
51 typedef enum CompositingQuality {\r
52         CompositingQualityDefault = 0,\r
53         CompositingQualityHighSpeed = 1,\r
54         CompositingQualityHighQuality = 2,\r
55         CompositingQualityGammaCorrected = 3,\r
56         CompositingQualityAssumeLinear = 4\r
57 } CompositingQuality;\r
58 \r
59 typedef enum CoordinateSpace {\r
60         CoordinateSpaceWorld = 0,\r
61         CoordinateSpacePage = 1,\r
62         CoordinateSpaceDevice = 2\r
63 } CoordinateSpace;\r
64 \r
65 typedef enum CustomLineCapType {\r
66         CustomLineCapTypeDefault = 0,\r
67         CustomLineCapTypeAdjustableArrow = 1\r
68 } CustomLineCapType;\r
69 \r
70 typedef enum DashCap {\r
71         DashCapFlat = 0,\r
72         DashCapRound = 2,\r
73         DashCapTriangle = 3\r
74 } DashCap;\r
75 \r
76 typedef enum DashStyle {\r
77         DashStyleSolid = 0,\r
78         DashStyleDash = 1,\r
79         DashStyleDot = 2,\r
80         DashStyleDashDot = 3,\r
81         DashStyleDashDotDot = 4,\r
82         DashStyleCustom = 5\r
83 } DashStyle;\r
84 \r
85 typedef enum DitherType {\r
86         DitherTypeNone = 0,\r
87         DitherTypeSolid = 1,\r
88         DitherTypeOrdered4x4 = 2,\r
89         DitherTypeOrdered8x8 = 3,\r
90         DitherTypeOrdered16x16 = 4,\r
91         DitherTypeOrdered91x91 = 5,\r
92         DitherTypeSpiral4x4 = 6,\r
93         DitherTypeSpiral8x8 = 7,\r
94         DitherTypeDualSpiral4x4 = 8,\r
95         DitherTypeDualSpiral8x8 = 9,\r
96         DitherTypeErrorDiffusion = 10\r
97 } DitherType;\r
98 \r
99 typedef enum DriverStringOptions {\r
100         DriverStringOptionsCmapLookup = 1,\r
101         DriverStringOptionsVertical = 2,\r
102         DriverStringOptionsRealizedAdvance = 4,\r
103         DriverStringOptionsLimitSubpixel = 8\r
104 } DriverStringOptions;\r
105 \r
106 #define GDIP_WMF_RECORD_TO_EMFPLUS(meta) ((meta) | 0x10000)\r
107 #define GDIP_EMFPLUS_RECORD_BASE (0x4000)\r
108 typedef enum EmfPlusRecordType {\r
109         WmfRecordTypeSetBkColor                    = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETBKCOLOR),\r
110         WmfRecordTypeSetBkMode                     = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETBKMODE),\r
111         WmfRecordTypeSetMapMode                    = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETMAPMODE),\r
112         WmfRecordTypeSetROP2                       = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETROP2),\r
113         WmfRecordTypeSetRelAbs                     = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETRELABS),\r
114         WmfRecordTypeSetPolyFillMode               = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETPOLYFILLMODE),\r
115         WmfRecordTypeSetStretchBltMode             = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETSTRETCHBLTMODE),\r
116         WmfRecordTypeSetTextCharExtra              = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETTEXTCHAREXTRA),\r
117         WmfRecordTypeSetTextColor                  = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETTEXTCOLOR),\r
118         WmfRecordTypeSetTextJustification          = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETTEXTJUSTIFICATION),\r
119         WmfRecordTypeSetWindowOrg                  = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETWINDOWORG),\r
120         WmfRecordTypeSetWindowExt                  = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETWINDOWEXT),\r
121         WmfRecordTypeSetViewportOrg                = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETVIEWPORTORG),\r
122         WmfRecordTypeSetViewportExt                = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETVIEWPORTEXT),\r
123         WmfRecordTypeOffsetWindowOrg               = GDIP_WMF_RECORD_TO_EMFPLUS(META_OFFSETWINDOWORG),\r
124         WmfRecordTypeScaleWindowExt                = GDIP_WMF_RECORD_TO_EMFPLUS(META_SCALEWINDOWEXT),\r
125         WmfRecordTypeOffsetViewportOrg             = GDIP_WMF_RECORD_TO_EMFPLUS(META_OFFSETVIEWPORTORG),\r
126         WmfRecordTypeScaleViewportExt              = GDIP_WMF_RECORD_TO_EMFPLUS(META_SCALEVIEWPORTEXT),\r
127         WmfRecordTypeLineTo                        = GDIP_WMF_RECORD_TO_EMFPLUS(META_LINETO),\r
128         WmfRecordTypeMoveTo                        = GDIP_WMF_RECORD_TO_EMFPLUS(META_MOVETO),\r
129         WmfRecordTypeExcludeClipRect               = GDIP_WMF_RECORD_TO_EMFPLUS(META_EXCLUDECLIPRECT),\r
130         WmfRecordTypeIntersectClipRect             = GDIP_WMF_RECORD_TO_EMFPLUS(META_INTERSECTCLIPRECT),\r
131         WmfRecordTypeArc                           = GDIP_WMF_RECORD_TO_EMFPLUS(META_ARC),\r
132         WmfRecordTypeEllipse                       = GDIP_WMF_RECORD_TO_EMFPLUS(META_ELLIPSE),\r
133         WmfRecordTypeFloodFill                     = GDIP_WMF_RECORD_TO_EMFPLUS(META_FLOODFILL),\r
134         WmfRecordTypePie                           = GDIP_WMF_RECORD_TO_EMFPLUS(META_PIE),\r
135         WmfRecordTypeRectangle                     = GDIP_WMF_RECORD_TO_EMFPLUS(META_RECTANGLE),\r
136         WmfRecordTypeRoundRect                     = GDIP_WMF_RECORD_TO_EMFPLUS(META_ROUNDRECT),\r
137         WmfRecordTypePatBlt                        = GDIP_WMF_RECORD_TO_EMFPLUS(META_PATBLT),\r
138         WmfRecordTypeSaveDC                        = GDIP_WMF_RECORD_TO_EMFPLUS(META_SAVEDC),\r
139         WmfRecordTypeSetPixel                      = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETPIXEL),\r
140         WmfRecordTypeOffsetClipRgn                 = GDIP_WMF_RECORD_TO_EMFPLUS(META_OFFSETCLIPRGN),\r
141         WmfRecordTypeTextOut                       = GDIP_WMF_RECORD_TO_EMFPLUS(META_TEXTOUT),\r
142         WmfRecordTypeBitBlt                        = GDIP_WMF_RECORD_TO_EMFPLUS(META_BITBLT),\r
143         WmfRecordTypeStretchBlt                    = GDIP_WMF_RECORD_TO_EMFPLUS(META_STRETCHBLT),\r
144         WmfRecordTypePolygon                       = GDIP_WMF_RECORD_TO_EMFPLUS(META_POLYGON),\r
145         WmfRecordTypePolyline                      = GDIP_WMF_RECORD_TO_EMFPLUS(META_POLYLINE),\r
146         WmfRecordTypeEscape                        = GDIP_WMF_RECORD_TO_EMFPLUS(META_ESCAPE),\r
147         WmfRecordTypeRestoreDC                     = GDIP_WMF_RECORD_TO_EMFPLUS(META_RESTOREDC),\r
148         WmfRecordTypeFillRegion                    = GDIP_WMF_RECORD_TO_EMFPLUS(META_FILLREGION),\r
149         WmfRecordTypeFrameRegion                   = GDIP_WMF_RECORD_TO_EMFPLUS(META_FRAMEREGION),\r
150         WmfRecordTypeInvertRegion                  = GDIP_WMF_RECORD_TO_EMFPLUS(META_INVERTREGION),\r
151         WmfRecordTypePaintRegion                   = GDIP_WMF_RECORD_TO_EMFPLUS(META_PAINTREGION),\r
152         WmfRecordTypeSelectClipRegion              = GDIP_WMF_RECORD_TO_EMFPLUS(META_SELECTCLIPREGION),\r
153         WmfRecordTypeSelectObject                  = GDIP_WMF_RECORD_TO_EMFPLUS(META_SELECTOBJECT),\r
154         WmfRecordTypeSetTextAlign                  = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETTEXTALIGN),\r
155         WmfRecordTypeDrawText                      = GDIP_WMF_RECORD_TO_EMFPLUS(0x062F),\r
156         WmfRecordTypeChord                         = GDIP_WMF_RECORD_TO_EMFPLUS(META_CHORD),\r
157         WmfRecordTypeSetMapperFlags                = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETMAPPERFLAGS),\r
158         WmfRecordTypeExtTextOut                    = GDIP_WMF_RECORD_TO_EMFPLUS(META_EXTTEXTOUT),\r
159         WmfRecordTypeSetDIBToDev                   = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETDIBTODEV),\r
160         WmfRecordTypeSelectPalette                 = GDIP_WMF_RECORD_TO_EMFPLUS(META_SELECTPALETTE),\r
161         WmfRecordTypeRealizePalette                = GDIP_WMF_RECORD_TO_EMFPLUS(META_REALIZEPALETTE),\r
162         WmfRecordTypeAnimatePalette                = GDIP_WMF_RECORD_TO_EMFPLUS(META_ANIMATEPALETTE),\r
163         WmfRecordTypeSetPalEntries                 = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETPALENTRIES),\r
164         WmfRecordTypePolyPolygon                   = GDIP_WMF_RECORD_TO_EMFPLUS(META_POLYPOLYGON),\r
165         WmfRecordTypeResizePalette                 = GDIP_WMF_RECORD_TO_EMFPLUS(META_RESIZEPALETTE),\r
166         WmfRecordTypeDIBBitBlt                     = GDIP_WMF_RECORD_TO_EMFPLUS(META_DIBBITBLT),\r
167         WmfRecordTypeDIBStretchBlt                 = GDIP_WMF_RECORD_TO_EMFPLUS(META_DIBSTRETCHBLT),\r
168         WmfRecordTypeDIBCreatePatternBrush         = GDIP_WMF_RECORD_TO_EMFPLUS(META_DIBCREATEPATTERNBRUSH),\r
169         WmfRecordTypeStretchDIB                    = GDIP_WMF_RECORD_TO_EMFPLUS(META_STRETCHDIB),\r
170         WmfRecordTypeExtFloodFill                  = GDIP_WMF_RECORD_TO_EMFPLUS(META_EXTFLOODFILL),\r
171         WmfRecordTypeSetLayout                     = GDIP_WMF_RECORD_TO_EMFPLUS(0x0149),\r
172         WmfRecordTypeResetDC                       = GDIP_WMF_RECORD_TO_EMFPLUS(0x014C),\r
173         WmfRecordTypeStartDoc                      = GDIP_WMF_RECORD_TO_EMFPLUS(0x014D),\r
174         WmfRecordTypeStartPage                     = GDIP_WMF_RECORD_TO_EMFPLUS(0x004F),\r
175         WmfRecordTypeEndPage                       = GDIP_WMF_RECORD_TO_EMFPLUS(0x0050),\r
176         WmfRecordTypeAbortDoc                      = GDIP_WMF_RECORD_TO_EMFPLUS(0x0052),\r
177         WmfRecordTypeEndDoc                        = GDIP_WMF_RECORD_TO_EMFPLUS(0x005E),\r
178         WmfRecordTypeDeleteObject                  = GDIP_WMF_RECORD_TO_EMFPLUS(META_DELETEOBJECT),\r
179         WmfRecordTypeCreatePalette                 = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEPALETTE),\r
180         WmfRecordTypeCreateBrush                   = GDIP_WMF_RECORD_TO_EMFPLUS(0x00F8),\r
181         WmfRecordTypeCreatePatternBrush            = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEPATTERNBRUSH),\r
182         WmfRecordTypeCreatePenIndirect             = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEPENINDIRECT),\r
183         WmfRecordTypeCreateFontIndirect            = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEFONTINDIRECT),\r
184         WmfRecordTypeCreateBrushIndirect           = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEBRUSHINDIRECT),\r
185         WmfRecordTypeCreateBitmapIndirect          = GDIP_WMF_RECORD_TO_EMFPLUS(0x02FD),\r
186         WmfRecordTypeCreateBitmap                  = GDIP_WMF_RECORD_TO_EMFPLUS(0x06FE),\r
187         WmfRecordTypeCreateRegion                  = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEREGION),\r
188         EmfRecordTypeHeader                        = EMR_HEADER,\r
189         EmfRecordTypePolyBezier                    = EMR_POLYBEZIER,\r
190         EmfRecordTypePolygon                       = EMR_POLYGON,\r
191         EmfRecordTypePolyline                      = EMR_POLYLINE,\r
192         EmfRecordTypePolyBezierTo                  = EMR_POLYBEZIERTO,\r
193         EmfRecordTypePolyLineTo                    = EMR_POLYLINETO,\r
194         EmfRecordTypePolyPolyline                  = EMR_POLYPOLYLINE,\r
195         EmfRecordTypePolyPolygon                   = EMR_POLYPOLYGON,\r
196         EmfRecordTypeSetWindowExtEx                = EMR_SETWINDOWEXTEX,\r
197         EmfRecordTypeSetWindowOrgEx                = EMR_SETWINDOWORGEX,\r
198         EmfRecordTypeSetViewportExtEx              = EMR_SETVIEWPORTEXTEX,\r
199         EmfRecordTypeSetViewportOrgEx              = EMR_SETVIEWPORTORGEX,\r
200         EmfRecordTypeSetBrushOrgEx                 = EMR_SETBRUSHORGEX,\r
201         EmfRecordTypeEOF                           = EMR_EOF,\r
202         EmfRecordTypeSetPixelV                     = EMR_SETPIXELV,\r
203         EmfRecordTypeSetMapperFlags                = EMR_SETMAPPERFLAGS,\r
204         EmfRecordTypeSetMapMode                    = EMR_SETMAPMODE,\r
205         EmfRecordTypeSetBkMode                     = EMR_SETBKMODE,\r
206         EmfRecordTypeSetPolyFillMode               = EMR_SETPOLYFILLMODE,\r
207         EmfRecordTypeSetROP2                       = EMR_SETROP2,\r
208         EmfRecordTypeSetStretchBltMode             = EMR_SETSTRETCHBLTMODE,\r
209         EmfRecordTypeSetTextAlign                  = EMR_SETTEXTALIGN,\r
210         EmfRecordTypeSetColorAdjustment            = EMR_SETCOLORADJUSTMENT,\r
211         EmfRecordTypeSetTextColor                  = EMR_SETTEXTCOLOR,\r
212         EmfRecordTypeSetBkColor                    = EMR_SETBKCOLOR,\r
213         EmfRecordTypeOffsetClipRgn                 = EMR_OFFSETCLIPRGN,\r
214         EmfRecordTypeMoveToEx                      = EMR_MOVETOEX,\r
215         EmfRecordTypeSetMetaRgn                    = EMR_SETMETARGN,\r
216         EmfRecordTypeExcludeClipRect               = EMR_EXCLUDECLIPRECT,\r
217         EmfRecordTypeIntersectClipRect             = EMR_INTERSECTCLIPRECT,\r
218         EmfRecordTypeScaleViewportExtEx            = EMR_SCALEVIEWPORTEXTEX,\r
219         EmfRecordTypeScaleWindowExtEx              = EMR_SCALEWINDOWEXTEX,\r
220         EmfRecordTypeSaveDC                        = EMR_SAVEDC,\r
221         EmfRecordTypeRestoreDC                     = EMR_RESTOREDC,\r
222         EmfRecordTypeSetWorldTransform             = EMR_SETWORLDTRANSFORM,\r
223         EmfRecordTypeModifyWorldTransform          = EMR_MODIFYWORLDTRANSFORM,\r
224         EmfRecordTypeSelectObject                  = EMR_SELECTOBJECT,\r
225         EmfRecordTypeCreatePen                     = EMR_CREATEPEN,\r
226         EmfRecordTypeCreateBrushIndirect           = EMR_CREATEBRUSHINDIRECT,\r
227         EmfRecordTypeDeleteObject                  = EMR_DELETEOBJECT,\r
228         EmfRecordTypeAngleArc                      = EMR_ANGLEARC,\r
229         EmfRecordTypeEllipse                       = EMR_ELLIPSE,\r
230         EmfRecordTypeRectangle                     = EMR_RECTANGLE,\r
231         EmfRecordTypeRoundRect                     = EMR_ROUNDRECT,\r
232         EmfRecordTypeArc                           = EMR_ARC,\r
233         EmfRecordTypeChord                         = EMR_CHORD,\r
234         EmfRecordTypePie                           = EMR_PIE,\r
235         EmfRecordTypeSelectPalette                 = EMR_SELECTPALETTE,\r
236         EmfRecordTypeCreatePalette                 = EMR_CREATEPALETTE,\r
237         EmfRecordTypeSetPaletteEntries             = EMR_SETPALETTEENTRIES,\r
238         EmfRecordTypeResizePalette                 = EMR_RESIZEPALETTE,\r
239         EmfRecordTypeRealizePalette                = EMR_REALIZEPALETTE,\r
240         EmfRecordTypeExtFloodFill                  = EMR_EXTFLOODFILL,\r
241         EmfRecordTypeLineTo                        = EMR_LINETO,\r
242         EmfRecordTypeArcTo                         = EMR_ARCTO,\r
243         EmfRecordTypePolyDraw                      = EMR_POLYDRAW,\r
244         EmfRecordTypeSetArcDirection               = EMR_SETARCDIRECTION,\r
245         EmfRecordTypeSetMiterLimit                 = EMR_SETMITERLIMIT,\r
246         EmfRecordTypeBeginPath                     = EMR_BEGINPATH,\r
247         EmfRecordTypeEndPath                       = EMR_ENDPATH,\r
248         EmfRecordTypeCloseFigure                   = EMR_CLOSEFIGURE,\r
249         EmfRecordTypeFillPath                      = EMR_FILLPATH,\r
250         EmfRecordTypeStrokeAndFillPath             = EMR_STROKEANDFILLPATH,\r
251         EmfRecordTypeStrokePath                    = EMR_STROKEPATH,\r
252         EmfRecordTypeFlattenPath                   = EMR_FLATTENPATH,\r
253         EmfRecordTypeWidenPath                     = EMR_WIDENPATH,\r
254         EmfRecordTypeSelectClipPath                = EMR_SELECTCLIPPATH,\r
255         EmfRecordTypeAbortPath                     = EMR_ABORTPATH,\r
256         EmfRecordTypeReserved_069                  = 69,\r
257         EmfRecordTypeGdiComment                    = EMR_GDICOMMENT,\r
258         EmfRecordTypeFillRgn                       = EMR_FILLRGN,\r
259         EmfRecordTypeFrameRgn                      = EMR_FRAMERGN,\r
260         EmfRecordTypeInvertRgn                     = EMR_INVERTRGN,\r
261         EmfRecordTypePaintRgn                      = EMR_PAINTRGN,\r
262         EmfRecordTypeExtSelectClipRgn              = EMR_EXTSELECTCLIPRGN,\r
263         EmfRecordTypeBitBlt                        = EMR_BITBLT,\r
264         EmfRecordTypeStretchBlt                    = EMR_STRETCHBLT,\r
265         EmfRecordTypeMaskBlt                       = EMR_MASKBLT,\r
266         EmfRecordTypePlgBlt                        = EMR_PLGBLT,\r
267         EmfRecordTypeSetDIBitsToDevice             = EMR_SETDIBITSTODEVICE,\r
268         EmfRecordTypeStretchDIBits                 = EMR_STRETCHDIBITS,\r
269         EmfRecordTypeExtCreateFontIndirect         = EMR_EXTCREATEFONTINDIRECTW,\r
270         EmfRecordTypeExtTextOutA                   = EMR_EXTTEXTOUTA,\r
271         EmfRecordTypeExtTextOutW                   = EMR_EXTTEXTOUTW,\r
272         EmfRecordTypePolyBezier16                  = EMR_POLYBEZIER16,\r
273         EmfRecordTypePolygon16                     = EMR_POLYGON16,\r
274         EmfRecordTypePolyline16                    = EMR_POLYLINE16,\r
275         EmfRecordTypePolyBezierTo16                = EMR_POLYBEZIERTO16,\r
276         EmfRecordTypePolylineTo16                  = EMR_POLYLINETO16,\r
277         EmfRecordTypePolyPolyline16                = EMR_POLYPOLYLINE16,\r
278         EmfRecordTypePolyPolygon16                 = EMR_POLYPOLYGON16,\r
279         EmfRecordTypePolyDraw16                    = EMR_POLYDRAW16,\r
280         EmfRecordTypeCreateMonoBrush               = EMR_CREATEMONOBRUSH,\r
281         EmfRecordTypeCreateDIBPatternBrushPt       = EMR_CREATEDIBPATTERNBRUSHPT,\r
282         EmfRecordTypeExtCreatePen                  = EMR_EXTCREATEPEN,\r
283         EmfRecordTypePolyTextOutA                  = EMR_POLYTEXTOUTA,\r
284         EmfRecordTypePolyTextOutW                  = EMR_POLYTEXTOUTW,\r
285         EmfRecordTypeSetICMMode                    = 98,\r
286         EmfRecordTypeCreateColorSpace              = 99,\r
287         EmfRecordTypeSetColorSpace                 = 100,\r
288         EmfRecordTypeDeleteColorSpace              = 101,\r
289         EmfRecordTypeGLSRecord                     = 102,\r
290         EmfRecordTypeGLSBoundedRecord              = 103,\r
291         EmfRecordTypePixelFormat                   = 104,\r
292         EmfRecordTypeDrawEscape                    = 105,\r
293         EmfRecordTypeExtEscape                     = 106,\r
294         EmfRecordTypeStartDoc                      = 107,\r
295         EmfRecordTypeSmallTextOut                  = 108,\r
296         EmfRecordTypeForceUFIMapping               = 109,\r
297         EmfRecordTypeNamedEscape                   = 110,\r
298         EmfRecordTypeColorCorrectPalette           = 111,\r
299         EmfRecordTypeSetICMProfileA                = 112,\r
300         EmfRecordTypeSetICMProfileW                = 113,\r
301         EmfRecordTypeAlphaBlend                    = 114,\r
302         EmfRecordTypeSetLayout                     = 115,\r
303         EmfRecordTypeTransparentBlt                = 116,\r
304         EmfRecordTypeReserved_117                  = 117,\r
305         EmfRecordTypeGradientFill                  = 118,\r
306         EmfRecordTypeSetLinkedUFIs                 = 119,\r
307         EmfRecordTypeSetTextJustification          = 120,\r
308         EmfRecordTypeColorMatchToTargetW           = 121,\r
309         EmfRecordTypeCreateColorSpaceW             = 122,\r
310         EmfRecordTypeMax                           = 122,\r
311         EmfRecordTypeMin                           = 1,\r
312         EmfPlusRecordTypeInvalid                   = GDIP_EMFPLUS_RECORD_BASE,\r
313         EmfPlusRecordTypeHeader,\r
314         EmfPlusRecordTypeEndOfFile,\r
315         EmfPlusRecordTypeComment,\r
316         EmfPlusRecordTypeGetDC,\r
317         EmfPlusRecordTypeMultiFormatStart,\r
318         EmfPlusRecordTypeMultiFormatSection,\r
319         EmfPlusRecordTypeMultiFormatEnd,\r
320         EmfPlusRecordTypeObject,\r
321         EmfPlusRecordTypeClear,\r
322         EmfPlusRecordTypeFillRects,\r
323         EmfPlusRecordTypeDrawRects,\r
324         EmfPlusRecordTypeFillPolygon,\r
325         EmfPlusRecordTypeDrawLines,\r
326         EmfPlusRecordTypeFillEllipse,\r
327         EmfPlusRecordTypeDrawEllipse,\r
328         EmfPlusRecordTypeFillPie,\r
329         EmfPlusRecordTypeDrawPie,\r
330         EmfPlusRecordTypeDrawArc,\r
331         EmfPlusRecordTypeFillRegion,\r
332         EmfPlusRecordTypeFillPath,\r
333         EmfPlusRecordTypeDrawPath,\r
334         EmfPlusRecordTypeFillClosedCurve,\r
335         EmfPlusRecordTypeDrawClosedCurve,\r
336         EmfPlusRecordTypeDrawCurve,\r
337         EmfPlusRecordTypeDrawBeziers,\r
338         EmfPlusRecordTypeDrawImage,\r
339         EmfPlusRecordTypeDrawImagePoints,\r
340         EmfPlusRecordTypeDrawString,\r
341         EmfPlusRecordTypeSetRenderingOrigin,\r
342         EmfPlusRecordTypeSetAntiAliasMode,\r
343         EmfPlusRecordTypeSetTextRenderingHint,\r
344         EmfPlusRecordTypeSetTextContrast,\r
345         EmfPlusRecordTypeSetGammaValue,\r
346         EmfPlusRecordTypeSetInterpolationMode,\r
347         EmfPlusRecordTypeSetPixelOffsetMode,\r
348         EmfPlusRecordTypeSetCompositingMode,\r
349         EmfPlusRecordTypeSetCompositingQuality,\r
350         EmfPlusRecordTypeSave,\r
351         EmfPlusRecordTypeRestore,\r
352         EmfPlusRecordTypeBeginContainer,\r
353         EmfPlusRecordTypeBeginContainerNoParams,\r
354         EmfPlusRecordTypeEndContainer,\r
355         EmfPlusRecordTypeSetWorldTransform,\r
356         EmfPlusRecordTypeResetWorldTransform,\r
357         EmfPlusRecordTypeMultiplyWorldTransform,\r
358         EmfPlusRecordTypeTranslateWorldTransform,\r
359         EmfPlusRecordTypeScaleWorldTransform,\r
360         EmfPlusRecordTypeRotateWorldTransform,\r
361         EmfPlusRecordTypeSetPageTransform,\r
362         EmfPlusRecordTypeResetClip,\r
363         EmfPlusRecordTypeSetClipRect,\r
364         EmfPlusRecordTypeSetClipPath,\r
365         EmfPlusRecordTypeSetClipRegion,\r
366         EmfPlusRecordTypeOffsetClip,\r
367         EmfPlusRecordTypeDrawDriverString,\r
368         EmfPlusRecordTypeStrokeFillPath,\r
369         EmfPlusRecordTypeSerializableObject,\r
370         EmfPlusRecordTypeSetTSGraphics,\r
371         EmfPlusRecordTypeSetTSClip,\r
372         EmfPlusRecordTotal,\r
373         EmfPlusRecordTypeMax = EmfPlusRecordTotal-1,\r
374         EmfPlusRecordTypeMin = EmfPlusRecordTypeHeader\r
375 } EmfPlusRecordType;\r
376 \r
377 typedef enum EmfToWmfBitsFlags {\r
378         EmfToWmfBitsFlagsDefault = 0,\r
379         EmfToWmfBitsFlagsEmbedEmf = 1,\r
380         EmfToWmfBitsFlagsIncludePlaceable = 2,\r
381         EmfToWmfBitsFlagsNoXORClip = 4\r
382 } EmfToWmfBitsFlags;\r
383 \r
384 typedef enum EmfType {\r
385         EmfTypeEmfOnly = 3,\r
386         EmfTypeEmfPlusOnly = 4,\r
387         EmfTypeEmfPlusDual = 5\r
388 } EmfType;\r
389 \r
390 typedef enum EncoderParameterValueType {\r
391         EncoderParameterValueTypeByte = 1,\r
392         EncoderParameterValueTypeASCII = 2,\r
393         EncoderParameterValueTypeShort = 3,\r
394         EncoderParameterValueTypeLong = 4,\r
395         EncoderParameterValueTypeRational = 5,\r
396         EncoderParameterValueTypeLongRange = 6,\r
397         EncoderParameterValueTypeUndefined = 7,\r
398         EncoderParameterValueTypeRationalRange = 8,\r
399         EncoderParameterValueTypePointer = 9\r
400 } EncoderParameterValueType;\r
401 \r
402 typedef enum EncoderValue {\r
403         EncoderValueColorTypeCMYK = 0,\r
404         EncoderValueColorTypeYCCK = 1,\r
405         EncoderValueCompressionLZW = 2,\r
406         EncoderValueCompressionCCITT3 = 3,\r
407         EncoderValueCompressionCCITT4 = 4,\r
408         EncoderValueCompressionRle = 5,\r
409         EncoderValueCompressionNone = 6,\r
410         EncoderValueScanMethodInterlaced = 7,\r
411         EncoderValueScanMethodNonInterlaced = 8,\r
412         EncoderValueVersionGif87 = 9,\r
413         EncoderValueVersionGif89 = 10,\r
414         EncoderValueRenderProgressive = 11,\r
415         EncoderValueRenderNonProgressive = 12,\r
416         EncoderValueTransformRotate90 = 13,\r
417         EncoderValueTransformRotate180 = 14,\r
418         EncoderValueTransformRotate270 = 15,\r
419         EncoderValueTransformFlipHorizontal = 16,\r
420         EncoderValueTransformFlipVertical = 17,\r
421         EncoderValueMultiFrame = 18,\r
422         EncoderValueLastFrame = 19,\r
423         EncoderValueFlush = 20,\r
424         EncoderValueFrameDimensionTime = 21,\r
425         EncoderValueFrameDimensionResolution = 22,\r
426         EncoderValueFrameDimensionPage = 23\r
427 } EncoderValue;\r
428 \r
429 typedef enum FillMode {\r
430         FillModeAlternate = 0,\r
431         FillModeWinding = 1\r
432 } FillMode;\r
433 \r
434 typedef enum FlushIntention {\r
435         FlushIntentionFlush = 0,\r
436         FlushIntentionSync = 1\r
437 } FlushIntention;\r
438 \r
439 typedef enum FontStyle {\r
440         FontStyleRegular = 0,\r
441         FontStyleBold = 1,\r
442         FontStyleItalic = 2,\r
443         FontStyleBoldItalic = 3,\r
444         FontStyleUnderline = 4,\r
445         FontStyleStrikeout = 8\r
446 } FontStyle;\r
447 \r
448 typedef enum HatchStyle {\r
449         HatchStyleHorizontal = 0,\r
450         HatchStyleVertical = 1,\r
451         HatchStyleForwardDiagonal = 2,\r
452         HatchStyleBackwardDiagonal = 3,\r
453         HatchStyleCross = 4,\r
454         HatchStyleLargeGrid = 4,\r
455         HatchStyleDiagonalCross = 5,\r
456         HatchStyle05Percent = 6,\r
457         HatchStyle10Percent = 7,\r
458         HatchStyle20Percent = 8,\r
459         HatchStyle25Percent = 9,\r
460         HatchStyle30Percent = 10,\r
461         HatchStyle40Percent = 11,\r
462         HatchStyle50Percent = 12,\r
463         HatchStyle60Percent = 13,\r
464         HatchStyle70Percent = 14,\r
465         HatchStyle75Percent = 15,\r
466         HatchStyle80Percent = 16,\r
467         HatchStyle90Percent = 17,\r
468         HatchStyleLightDownwardDiagonal = 18,\r
469         HatchStyleLightUpwardDiagonal = 19,\r
470         HatchStyleDarkDownwardDiagonal = 20,\r
471         HatchStyleDarkUpwardDiagonal = 21,\r
472         HatchStyleWideDownwardDiagonal = 22,\r
473         HatchStyleWideUpwardDiagonal = 23,\r
474         HatchStyleLightVertical = 24,\r
475         HatchStyleLightHorizontal = 25,\r
476         HatchStyleNarrowVertical = 26,\r
477         HatchStyleNarrowHorizontal = 27,\r
478         HatchStyleDarkVertical = 28,\r
479         HatchStyleDarkHorizontal = 29,\r
480         HatchStyleDashedDownwardDiagonal = 30,\r
481         HatchStyleDashedUpwardDiagonal = 31,\r
482         HatchStyleDashedHorizontal = 32,\r
483         HatchStyleDashedVertical = 33,\r
484         HatchStyleSmallConfetti = 34,\r
485         HatchStyleLargeConfetti = 35,\r
486         HatchStyleZigZag = 36,\r
487         HatchStyleWave = 37,\r
488         HatchStyleDiagonalBrick = 38,\r
489         HatchStyleHorizontalBrick = 39,\r
490         HatchStyleWeave = 40,\r
491         HatchStylePlaid = 41,\r
492         HatchStyleDivot = 42,\r
493         HatchStyleDottedGrid = 43,\r
494         HatchStyleDottedDiamond = 44,\r
495         HatchStyleShingle = 45,\r
496         HatchStyleTrellis = 46,\r
497         HatchStyleSphere = 47,\r
498         HatchStyleSmallGrid = 48,\r
499         HatchStyleSmallCheckerBoard = 49,\r
500         HatchStyleLargeCheckerBoard = 50,\r
501         HatchStyleOutlinedDiamond = 51,\r
502         HatchStyleSolidDiamond = 52,\r
503         HatchStyleTotal = 53,\r
504         HatchStyleMin = HatchStyleHorizontal,\r
505         HatchStyleMax = HatchStyleTotal - 1\r
506 } HatchStyle;\r
507 \r
508 typedef enum HotkeyPrefix {\r
509         HotkeyPrefixNone = 0,\r
510         HotkeyPrefixShow = 1,\r
511         HotkeyPrefixHide = 2\r
512 } HotkeyPrefix;\r
513 \r
514 typedef enum ImageType {\r
515         ImageTypeUnknown = 0,\r
516         ImageTypeBitmap = 1,\r
517         ImageTypeMetafile = 2\r
518 } ImageType;\r
519 \r
520 /* TODO: InterpolationMode */\r
521 typedef enum InterpolationMode {\r
522         /*InterpolationModeInvalid = QualityModeInvalid,*/\r
523         InterpolationModeDefault = 0,\r
524         InterpolationModeLowQuality = 1,\r
525         InterpolationModeHighQuality = 2,\r
526         InterpolationModeBilinear = 3,\r
527         InterpolationModeBicubic = 4,\r
528         InterpolationModeNearestNeighbor = 5,\r
529         InterpolationModeHighQualityBilinear = 6,\r
530         InterpolationModeHighQualityBicubic = 7\r
531 } InterpolationMode;\r
532 \r
533 typedef enum LinearGradientMode {\r
534         LinearGradientModeHorizontal = 0,\r
535         LinearGradientModeVertical = 1,\r
536         LinearGradientModeForwardDiagonal = 2,\r
537         LinearGradientModeBackwardDiagonal = 3 \r
538 } LinearGradientMode;\r
539 \r
540 typedef enum LineCap {\r
541         LineCapFlat = 0,\r
542         LineCapSquare = 1,\r
543         LineCapRound = 2,\r
544         LineCapTriangle = 3,\r
545         LineCapNoAnchor = 16,\r
546         LineCapSquareAnchor = 17,\r
547         LineCapRoundAnchor = 18,\r
548         LineCapDiamondAnchor = 19,\r
549         LineCapArrowAnchor = 20,\r
550         LineCapCustom = 255\r
551 } LineCap;\r
552 \r
553 typedef enum LineJoin {\r
554         LineJoinMiter = 0,\r
555         LineJoinBevel = 1,\r
556         LineJoinRound = 2,\r
557         LineJoinMiterClipped = 3\r
558 } LineJoin;\r
559 \r
560 typedef enum MatrixOrder {\r
561         MatrixOrderPrepend = 0,\r
562         MatrixOrderAppend = 1\r
563 } MatrixOrder;\r
564 \r
565 typedef enum MetafileFrameUnit {\r
566         MetafileFrameUnitPixel = 2,\r
567         MetafileFrameUnitPoint = 3,\r
568         MetafileFrameUnitInch = 4,\r
569         MetafileFrameUnitDocument = 5,\r
570         MetafileFrameUnitMillimeter = 6,\r
571         MetafileFrameUnitGdi = 7\r
572 } MetafileFrameUnit;\r
573 \r
574 typedef enum MetafileType {\r
575         MetafileTypeInvalid = 0,\r
576         MetafileTypeWmf = 1,\r
577         MetafileTypeWmfPlaceable = 2,\r
578         MetafileTypeEmf = 3,\r
579         MetafileTypeEmfPlusOnly = 4,\r
580         MetafileTypeEmfPlusDual = 5\r
581 } MetafileType;\r
582 \r
583 typedef enum ObjectType {\r
584         ObjectTypeInvalid = 0,\r
585         ObjectTypeBrush = 1,\r
586         ObjectTypePen = 2,\r
587         ObjectTypePath = 3,\r
588         ObjectTypeRegion = 4,\r
589         ObjectTypeFont = 5,\r
590         ObjectTypeStringFormat = 6,\r
591         ObjectTypeImageAttributes = 7,\r
592         ObjectTypeCustomLineCap = 8,\r
593         ObjectTypeGraphics = 9,\r
594         ObjectTypeMin = ObjectTypeBrush,\r
595         ObjectTypeMax = ObjectTypeGraphics\r
596 } ObjectType;\r
597 \r
598 typedef enum PathPointType {\r
599         PathPointTypeStart = 0x00,\r
600         PathPointTypeLine = 0x01,\r
601         PathPointTypeBezier = 0x03,\r
602         PathPointTypeBezier3 = 0x03,\r
603         PathPointTypePathTypeMask = 0x07,\r
604         PathPointTypePathDashMode = 0x10,\r
605         PathPointTypePathMarker = 0x20,\r
606         PathPointTypeCloseSubpath = 0x80\r
607 } PathPointType;\r
608 \r
609 typedef enum PenAlignment {\r
610         PenAlignmentCenter = 0,\r
611         PenAlignmentInset = 1\r
612 } PenAlignment;\r
613 \r
614 typedef enum PenType {\r
615         PenTypeUnknown = -1, \r
616         PenTypeSolidColor = 0,\r
617         PenTypeHatchFill = 1,\r
618         PenTypeTextureFill = 2,\r
619         PenTypePathGradient = 3,\r
620         PenTypeLinearGradient = 4\r
621 } PenType;\r
622 \r
623 /* TODO: PixelOffsetMode */\r
624 typedef enum PixelOffsetMode {\r
625         /*PixelOffsetModeInvalid = QualityModeInvalid,*/\r
626         PixelOffsetModeDefault = 0,\r
627         PixelOffsetModeHighSpeed = 1,\r
628         PixelOffsetModeHighQuality = 2,\r
629         PixelOffsetModeNone = 3,\r
630         PixelOffsetModeHalf = 4\r
631 } PixelOffsetMode;\r
632 \r
633 /* TODO: QualityMode */\r
634 typedef enum QualityMode {\r
635         /*QualityModeInvalid = ?,*/\r
636         QualityModeDefault = 0,\r
637         QualityModeLow = 1,\r
638         QualityModeHigh = 2\r
639 } QualityMode;\r
640 \r
641 /* TODO: SmoothingMode */\r
642 typedef enum SmoothingMode {\r
643         /*SmoothingModeInvalid = QualityModeInvalid,*/\r
644         SmoothingModeDefault = 0,\r
645         SmoothingModeHighSpeed = 1,\r
646         SmoothingModeHighQuality = 2,\r
647         SmoothingModeNone = 3,\r
648         SmoothingModeAntiAlias8x4 = 4,\r
649         SmoothingModeAntiAlias = 4,\r
650         SmoothingModeAntiAlias8x8 = 5\r
651 } SmoothingMode;\r
652 \r
653 typedef enum StringAlignment {\r
654         StringAlignmentNear = 0,\r
655         StringAlignmentCenter = 1,\r
656         StringAlignmentFar = 2\r
657 } StringAlignment;\r
658 \r
659 typedef enum StringDigitSubstitute {\r
660         StringDigitSubstituteUser = 0,\r
661         StringDigitSubstituteNone = 1,\r
662         StringDigitSubstituteNational = 2,\r
663         StringDigitSubstituteTraditional = 3\r
664 } StringDigitSubstitute;\r
665 \r
666 typedef enum StringFormatFlags {\r
667         StringFormatFlagsDirectionRightToLeft = 0x00000001,\r
668         StringFormatFlagsDirectionVertical = 0x00000002,\r
669         StringFormatFlagsNoFitBlackBox = 0x00000004,\r
670         StringFormatFlagsDisplayFormatControl = 0x00000020,\r
671         StringFormatFlagsNoFontFallback = 0x00000400,\r
672         StringFormatFlagsMeasureTrailingSpaces = 0x00000800,\r
673         StringFormatFlagsNoWrap = 0x00001000,\r
674         StringFormatFlagsLineLimit = 0x00002000,\r
675         StringFormatFlagsNoClip = 0x00004000\r
676 } StringFormatFlags;\r
677 \r
678 typedef enum StringTrimming {\r
679         StringTrimmingNone = 0,\r
680         StringTrimmingCharacter = 1,\r
681         StringTrimmingWord = 2,\r
682         StringTrimmingEllipsisCharacter = 3,\r
683         StringTrimmingEllipsisWord = 4,\r
684         StringTrimmingEllipsisPath = 5\r
685 } StringTrimming;\r
686 \r
687 typedef enum TextRenderingHint {\r
688         TextRenderingHintSystemDefault = 0,\r
689         TextRenderingHintSingleBitPerPixelGridFit = 1,\r
690         TextRenderingHintSingleBitPerPixel = 2,\r
691         TextRenderingHintAntiAliasGridFit = 3,\r
692         TextRenderingHintAntiAlias = 4,\r
693         TextRenderingHintClearTypeGridFit = 5\r
694 } TextRenderingHint;\r
695 \r
696 typedef enum Unit {\r
697         UnitWorld = 0,\r
698         UnitDisplay = 1,\r
699         UnitPixel = 2,\r
700         UnitPoint = 3,\r
701         UnitInch = 4,\r
702         UnitDocument = 5,\r
703         UnitMillimeter = 6\r
704 } Unit;\r
705 \r
706 typedef enum WarpMode {\r
707         WarpModePerspective = 0,\r
708         WarpModeBilinear = 1\r
709 } WarpMode;\r
710 \r
711 typedef enum WrapMode {\r
712         WrapModeTile = 0,\r
713         WrapModeTileFlipX = 1,\r
714         WrapModeTileFlipY = 2,\r
715         WrapModeTileFlipXY = 3,\r
716         WrapModeClamp = 4\r
717 } WrapMode;\r
718 \r
719 typedef enum GpTestControlEnum {\r
720         TestControlForceBilinear = 0,\r
721         TestControlForceNoICM = 1,\r
722         TestControlGetBuildNumber = 2\r
723 } GpTestControlEnum;\r
724 \r
725 /* Opaque handles to information blocks on an internal GDI+ stack. */\r
726 typedef DWORD GraphicsContainer;\r
727 typedef DWORD GraphicsState;\r
728 \r
729 /* Default flatness for GraphicsPath methods Flatten, Outline, Warp, Widen */\r
730 /* FIXME: Is FlatnessDefault = 0.25f correct? */\r
731 #ifdef __cplusplus\r
732 const REAL FlatnessDefault = 0.25f;\r
733 #else\r
734 #define FlatnessDefault ((REAL) 0.25f)\r
735 #endif\r
736 \r
737 static __inline__ BOOL ObjectTypeIsValid(ObjectType type)\r
738 {\r
739         switch (type) {\r
740                 case ObjectTypeBrush:\r
741                 case ObjectTypePen:\r
742                 case ObjectTypePath:\r
743                 case ObjectTypeRegion:\r
744                 case ObjectTypeFont:\r
745                 case ObjectTypeStringFormat:\r
746                 case ObjectTypeImageAttributes:\r
747                 case ObjectTypeCustomLineCap:\r
748                 case ObjectTypeGraphics:\r
749                         return TRUE;\r
750                 default:\r
751                         return FALSE;\r
752         }\r
753 }\r
754 \r
755 #endif /* __GDIPLUS_ENUMS_H */\r