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