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