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