windowscodecs: Fix crash when PNG decoder is freed without successful init.
[wine.git] / include / gdiplusenums.h
blob3223d2b63b6932fa9991fd211a16d5573f3ae26e
1 /*
2 * Copyright (C) 2007 Google (Evan Stade)
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.
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.
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
19 #ifndef _GDIPLUSENUMS_H
20 #define _GDIPLUSENUMS_H
22 typedef UINT GraphicsState;
23 typedef UINT GraphicsContainer;
25 enum Unit
27 UnitWorld = 0,
28 UnitDisplay = 1,
29 UnitPixel = 2,
30 UnitPoint = 3,
31 UnitInch = 4,
32 UnitDocument = 5,
33 UnitMillimeter = 6
36 enum BrushType
38 BrushTypeSolidColor = 0,
39 BrushTypeHatchFill = 1,
40 BrushTypeTextureFill = 2,
41 BrushTypePathGradient = 3,
42 BrushTypeLinearGradient = 4
45 enum DriverStringOptions
47 DriverStringOptionsCmapLookup = 1,
48 DriverStringOptionsVertical = 2,
49 DriverStringOptionsRealizedAdvance = 4,
50 DriverStringOptionsLimitSubpixel = 4
53 enum FillMode
55 FillModeAlternate = 0,
56 FillModeWinding = 1
59 enum LineCap
61 LineCapFlat = 0x00,
62 LineCapSquare = 0x01,
63 LineCapRound = 0x02,
64 LineCapTriangle = 0x03,
66 LineCapNoAnchor = 0x10,
67 LineCapSquareAnchor = 0x11,
68 LineCapRoundAnchor = 0x12,
69 LineCapDiamondAnchor = 0x13,
70 LineCapArrowAnchor = 0x14,
72 LineCapCustom = 0xff,
73 LineCapAnchorMask = 0xf0
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
87 enum PenType
89 PenTypeSolidColor = BrushTypeSolidColor,
90 PenTypeHatchFill = BrushTypeHatchFill,
91 PenTypeTextureFill = BrushTypeTextureFill,
92 PenTypePathGradient = BrushTypePathGradient,
93 PenTypeLinearGradient = BrushTypeLinearGradient,
94 PenTypeUnknown = -1
97 enum LineJoin
99 LineJoinMiter = 0,
100 LineJoinBevel = 1,
101 LineJoinRound = 2,
102 LineJoinMiterClipped = 3
105 enum QualityMode
107 QualityModeInvalid = -1,
108 QualityModeDefault = 0,
109 QualityModeLow = 1,
110 QualityModeHigh = 2
113 enum SmoothingMode
115 SmoothingModeInvalid = QualityModeInvalid,
116 SmoothingModeDefault = QualityModeDefault,
117 SmoothingModeHighSpeed = QualityModeLow,
118 SmoothingModeHighQuality = QualityModeHigh,
119 SmoothingModeNone,
120 SmoothingModeAntiAlias
123 enum CompositingQuality
125 CompositingQualityInvalid = QualityModeInvalid,
126 CompositingQualityDefault = QualityModeDefault,
127 CompositingQualityHighSpeed = QualityModeLow,
128 CompositingQualityHighQuality = QualityModeHigh,
129 CompositingQualityGammaCorrected,
130 CompositingQualityAssumeLinear
133 enum InterpolationMode
135 InterpolationModeInvalid = QualityModeInvalid,
136 InterpolationModeDefault = QualityModeDefault,
137 InterpolationModeLowQuality = QualityModeLow,
138 InterpolationModeHighQuality = QualityModeHigh,
139 InterpolationModeBilinear,
140 InterpolationModeBicubic,
141 InterpolationModeNearestNeighbor,
142 InterpolationModeHighQualityBilinear,
143 InterpolationModeHighQualityBicubic
146 enum PenAlignment
148 PenAlignmentCenter = 0,
149 PenAlignmentInset = 1
152 enum PixelOffsetMode
154 PixelOffsetModeInvalid = QualityModeInvalid,
155 PixelOffsetModeDefault = QualityModeDefault,
156 PixelOffsetModeHighSpeed = QualityModeLow,
157 PixelOffsetModeHighQuality = QualityModeHigh,
158 PixelOffsetModeNone,
159 PixelOffsetModeHalf
162 enum DashCap
164 DashCapFlat = 0,
165 DashCapRound = 2,
166 DashCapTriangle = 3
169 enum DashStyle
171 DashStyleSolid,
172 DashStyleDash,
173 DashStyleDot,
174 DashStyleDashDot,
175 DashStyleDashDotDot,
176 DashStyleCustom
179 enum MatrixOrder
181 MatrixOrderPrepend = 0,
182 MatrixOrderAppend = 1
185 enum ImageType
187 ImageTypeUnknown,
188 ImageTypeBitmap,
189 ImageTypeMetafile
192 enum WarpMode {
193 WarpModePerspective,
194 WarpModeBilinear
197 enum WrapMode
199 WrapModeTile,
200 WrapModeTileFlipX,
201 WrapModeTileFlipY,
202 WrapModeTileFlipXY,
203 WrapModeClamp
206 enum MetafileType
208 MetafileTypeInvalid,
209 MetafileTypeWmf,
210 MetafileTypeWmfPlaceable,
211 MetafileTypeEmf,
212 MetafileTypeEmfPlusOnly,
213 MetafileTypeEmfPlusDual
216 enum LinearGradientMode
218 LinearGradientModeHorizontal,
219 LinearGradientModeVertical,
220 LinearGradientModeForwardDiagonal,
221 LinearGradientModeBackwardDiagonal
224 enum EmfType
226 EmfTypeEmfOnly = MetafileTypeEmf,
227 EmfTypeEmfPlusOnly = MetafileTypeEmfPlusOnly,
228 EmfTypeEmfPlusDual = MetafileTypeEmfPlusDual
231 enum CompositingMode
233 CompositingModeSourceOver,
234 CompositingModeSourceCopy
237 enum TextRenderingHint
239 TextRenderingHintSystemDefault = 0,
240 TextRenderingHintSingleBitPerPixelGridFit,
241 TextRenderingHintSingleBitPerPixel,
242 TextRenderingHintAntiAliasGridFit,
243 TextRenderingHintAntiAlias,
244 TextRenderingHintClearTypeGridFit
247 enum StringAlignment
249 StringAlignmentNear = 0,
250 StringAlignmentCenter = 1,
251 StringAlignmentFar = 2
254 enum StringDigitSubstitute
256 StringDigitSubstituteUser = 0,
257 StringDigitSubstituteNone = 1,
258 StringDigitSubstituteNational = 2,
259 StringDigitSubstituteTraditional = 3
262 enum StringFormatFlags
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
275 enum StringTrimming
277 StringTrimmingNone = 0,
278 StringTrimmingCharacter = 1,
279 StringTrimmingWord = 2,
280 StringTrimmingEllipsisCharacter = 3,
281 StringTrimmingEllipsisWord = 4,
282 StringTrimmingEllipsisPath = 5
285 enum FontStyle
287 FontStyleRegular = 0,
288 FontStyleBold = 1,
289 FontStyleItalic = 2,
290 FontStyleBoldItalic = 3,
291 FontStyleUnderline = 4,
292 FontStyleStrikeout = 8
295 enum HotkeyPrefix
297 HotkeyPrefixNone = 0,
298 HotkeyPrefixShow = 1,
299 HotkeyPrefixHide = 2
302 enum ImageCodecFlags
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
315 enum ImageFlags
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
333 enum CombineMode
335 CombineModeReplace,
336 CombineModeIntersect,
337 CombineModeUnion,
338 CombineModeXor,
339 CombineModeExclude,
340 CombineModeComplement
343 enum FlushIntention
345 FlushIntentionFlush = 0,
346 FlushIntentionSync = 1
349 enum CoordinateSpace
351 CoordinateSpaceWorld,
352 CoordinateSpacePage,
353 CoordinateSpaceDevice
356 enum GpTestControlEnum
358 TestControlForceBilinear = 0,
359 TestControlNoICM = 1,
360 TestControlGetBuildNumber = 2
363 enum MetafileFrameUnit
365 MetafileFrameUnitPixel = UnitPixel,
366 MetafileFrameUnitPoint = UnitPoint,
367 MetafileFrameUnitInch = UnitInch,
368 MetafileFrameUnitDocument = UnitDocument,
369 MetafileFrameUnitMillimeter = UnitMillimeter,
370 MetafileFrameUnitGdi
373 enum HatchStyle
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
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)
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 EmfPlusRecordTypeSetInterpolationMode,
676 EmfPlusRecordTypeSetPixelOffsetMode,
677 EmfPlusRecordTypeSetCompositingMode,
678 EmfPlusRecordTypeSetCompositingQuality,
679 EmfPlusRecordTypeSave,
680 EmfPlusRecordTypeRestore,
681 EmfPlusRecordTypeBeginContainer,
682 EmfPlusRecordTypeBeginContainerNoParams,
683 EmfPlusRecordTypeEndContainer,
684 EmfPlusRecordTypeSetWorldTransform,
685 EmfPlusRecordTypeResetWorldTransform,
686 EmfPlusRecordTypeMultiplyWorldTransform,
687 EmfPlusRecordTypeTranslateWorldTransform,
688 EmfPlusRecordTypeScaleWorldTransform,
689 EmfPlusRecordTypeRotateWorldTransform,
690 EmfPlusRecordTypeSetPageTransform,
691 EmfPlusRecordTypeResetClip,
692 EmfPlusRecordTypeSetClipRect,
693 EmfPlusRecordTypeSetClipPath,
694 EmfPlusRecordTypeSetClipRegion,
695 EmfPlusRecordTypeOffsetClip,
696 EmfPlusRecordTypeDrawDriverString,
697 EmfPlusRecordTypeStrokeFillPath,
698 EmfPlusRecordTypeSerializableObject,
699 EmfPlusRecordTypeSetTSGraphics,
700 EmfPlusRecordTypeSetTSClip,
701 EmfPlusRecordTotal,
702 EmfPlusRecordTypeMax = EmfPlusRecordTotal-1,
703 EmfPlusRecordTypeMin = EmfPlusRecordTypeHeader
706 #define FlatnessDefault 0.25f
708 #ifndef __cplusplus
710 typedef enum Unit Unit;
711 typedef enum BrushType BrushType;
712 typedef enum DriverStringOptions DriverStringOptions;
713 typedef enum FillMode FillMode;
714 typedef enum LineCap LineCap;
715 typedef enum PathPointType PathPointType;
716 typedef enum LineJoin LineJoin;
717 typedef enum QualityMode QualityMode;
718 typedef enum SmoothingMode SmoothingMode;
719 typedef enum CompositingQuality CompositingQuality;
720 typedef enum InterpolationMode InterpolationMode;
721 typedef enum PixelOffsetMode PixelOffsetMode;
722 typedef enum DashCap DashCap;
723 typedef enum DashStyle DashStyle;
724 typedef enum MatrixOrder MatrixOrder;
725 typedef enum ImageType ImageType;
726 typedef enum ImageFlags ImageFlags;
727 typedef enum WarpMode WarpMode;
728 typedef enum WrapMode WrapMode;
729 typedef enum MetafileType MetafileType;
730 typedef enum LinearGradientMode LinearGradientMode;
731 typedef enum EmfType EmfType;
732 typedef enum CompositingMode CompositingMode;
733 typedef enum TextRenderingHint TextRenderingHint;
734 typedef enum StringAlignment StringAlignment;
735 typedef enum StringDigitSubstitute StringDigitSubstitute;
736 typedef enum StringTrimming StringTrimming;
737 typedef enum FontStyle FontStyle;
738 typedef enum StringFormatFlags StringFormatFlags;
739 typedef enum HotkeyPrefix HotkeyPrefix;
740 typedef enum PenAlignment PenAlignment;
741 typedef enum PaletteFlags PaletteFlags;
742 typedef enum ImageCodecFlags ImageCodecFlags;
743 typedef enum CombineMode CombineMode;
744 typedef enum FlushIntention FlushIntention;
745 typedef enum CoordinateSpace CoordinateSpace;
746 typedef enum GpTestControlEnum GpTestControlEnum;
747 typedef enum MetafileFrameUnit MetafileFrameUnit;
748 typedef enum PenType PenType;
749 typedef enum HatchStyle HatchStyle;
750 typedef enum EmfPlusRecordType EmfPlusRecordType;
752 #endif /* end of c typedefs */
754 #undef GDIP_WMF_RECORD_TO_EMFPLUS
755 #define GDIP_WMF_RECORD_TO_EMFPLUS(x) ((EmfPlusRecordType)((x)|GDIP_WMF_RECORD_BASE))
757 #endif