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