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