ntdll/tests: Add tests for NtCompareObjects.
[wine.git] / include / gdiplusenums.h
blob522c82f67be2e94af402d172415674263bdff3bd
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 EncoderParameterValueType {
340 EncoderParameterValueTypeByte = 1,
341 EncoderParameterValueTypeASCII = 2,
342 EncoderParameterValueTypeShort = 3,
343 EncoderParameterValueTypeLong = 4,
344 EncoderParameterValueTypeRational = 5,
345 EncoderParameterValueTypeLongRange = 6,
346 EncoderParameterValueTypeUndefined = 7,
347 EncoderParameterValueTypeRationalRange = 8,
348 EncoderParameterValueTypePointer = 9
351 enum EncoderValue {
352 EncoderValueColorTypeCMYK = 0,
353 EncoderValueColorTypeYCCK = 1,
354 EncoderValueCompressionLZW = 2,
355 EncoderValueCompressionCCITT3 = 3,
356 EncoderValueCompressionCCITT4 = 4,
357 EncoderValueCompressionRle = 5,
358 EncoderValueCompressionNone = 6,
359 EncoderValueScanMethodInterlaced = 7,
360 EncoderValueScanMethodNonInterlaced = 8,
361 EncoderValueVersionGif87 = 9,
362 EncoderValueVersionGif89 = 10,
363 EncoderValueRenderProgressive = 11,
364 EncoderValueRenderNonProgressive = 12,
365 EncoderValueTransformRotate90 = 13,
366 EncoderValueTransformRotate180 = 14,
367 EncoderValueTransformRotate270 = 15,
368 EncoderValueTransformFlipHorizontal = 16,
369 EncoderValueTransformFlipVertical = 17,
370 EncoderValueMultiFrame = 18,
371 EncoderValueLastFrame = 19,
372 EncoderValueFlush = 20,
373 EncoderValueFrameDimensionTime = 21,
374 EncoderValueFrameDimensionResolution = 22,
375 EncoderValueFrameDimensionPage = 23
378 enum CombineMode
380 CombineModeReplace,
381 CombineModeIntersect,
382 CombineModeUnion,
383 CombineModeXor,
384 CombineModeExclude,
385 CombineModeComplement
388 enum FlushIntention
390 FlushIntentionFlush = 0,
391 FlushIntentionSync = 1
394 enum CoordinateSpace
396 CoordinateSpaceWorld,
397 CoordinateSpacePage,
398 CoordinateSpaceDevice
401 enum GpTestControlEnum
403 TestControlForceBilinear = 0,
404 TestControlNoICM = 1,
405 TestControlGetBuildNumber = 2
408 enum MetafileFrameUnit
410 MetafileFrameUnitPixel = UnitPixel,
411 MetafileFrameUnitPoint = UnitPoint,
412 MetafileFrameUnitInch = UnitInch,
413 MetafileFrameUnitDocument = UnitDocument,
414 MetafileFrameUnitMillimeter = UnitMillimeter,
415 MetafileFrameUnitGdi
418 enum HatchStyle
420 HatchStyleHorizontal = 0,
421 HatchStyleVertical = 1,
422 HatchStyleForwardDiagonal = 2,
423 HatchStyleBackwardDiagonal = 3,
424 HatchStyleCross = 4,
425 HatchStyleDiagonalCross = 5,
426 HatchStyle05Percent = 6,
427 HatchStyle10Percent = 7,
428 HatchStyle20Percent = 8,
429 HatchStyle25Percent = 9,
430 HatchStyle30Percent = 10,
431 HatchStyle40Percent = 11,
432 HatchStyle50Percent = 12,
433 HatchStyle60Percent = 13,
434 HatchStyle70Percent = 14,
435 HatchStyle75Percent = 15,
436 HatchStyle80Percent = 16,
437 HatchStyle90Percent = 17,
438 HatchStyleLightDownwardDiagonal = 18,
439 HatchStyleLightUpwardDiagonal = 19,
440 HatchStyleDarkDownwardDiagonal = 20,
441 HatchStyleDarkUpwardDiagonal = 21,
442 HatchStyleWideDownwardDiagonal = 22,
443 HatchStyleWideUpwardDiagonal = 23,
444 HatchStyleLightVertical = 24,
445 HatchStyleLightHorizontal = 25,
446 HatchStyleNarrowVertical = 26,
447 HatchStyleNarrowHorizontal = 27,
448 HatchStyleDarkVertical = 28,
449 HatchStyleDarkHorizontal = 29,
450 HatchStyleDashedDownwardDiagonal = 30,
451 HatchStyleDashedUpwardDiagonal = 31,
452 HatchStyleDashedHorizontal = 32,
453 HatchStyleDashedVertical = 33,
454 HatchStyleSmallConfetti = 34,
455 HatchStyleLargeConfetti = 35,
456 HatchStyleZigZag = 36,
457 HatchStyleWave = 37,
458 HatchStyleDiagonalBrick = 38,
459 HatchStyleHorizontalBrick = 39,
460 HatchStyleWeave = 40,
461 HatchStylePlaid = 41,
462 HatchStyleDivot = 42,
463 HatchStyleDottedGrid = 43,
464 HatchStyleDottedDiamond = 44,
465 HatchStyleShingle = 45,
466 HatchStyleTrellis = 46,
467 HatchStyleSphere = 47,
468 HatchStyleSmallGrid = 48,
469 HatchStyleSmallCheckerBoard = 49,
470 HatchStyleLargeCheckerBoard = 50,
471 HatchStyleOutlinedDiamond = 51,
472 HatchStyleSolidDiamond = 52,
473 HatchStyleTotal = 53,
474 HatchStyleLargeGrid = HatchStyleCross,
475 HatchStyleMin = HatchStyleHorizontal,
476 HatchStyleMax = HatchStyleTotal - 1
479 #define GDIP_EMFPLUS_RECORD_BASE 0x00004000
480 #define GDIP_WMF_RECORD_BASE 0x00010000
481 #define GDIP_WMF_RECORD_TO_EMFPLUS(x) ((x)|GDIP_WMF_RECORD_BASE)
483 enum EmfPlusRecordType {
484 WmfRecordTypeSetBkColor = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETBKCOLOR),
485 WmfRecordTypeSetBkMode = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETBKMODE),
486 WmfRecordTypeSetMapMode = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETMAPMODE),
487 WmfRecordTypeSetROP2 = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETROP2),
488 WmfRecordTypeSetRelAbs = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETRELABS),
489 WmfRecordTypeSetPolyFillMode = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETPOLYFILLMODE),
490 WmfRecordTypeSetStretchBltMode = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETSTRETCHBLTMODE),
491 WmfRecordTypeSetTextCharExtra = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETTEXTCHAREXTRA),
492 WmfRecordTypeSetTextColor = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETTEXTCOLOR),
493 WmfRecordTypeSetTextJustification = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETTEXTJUSTIFICATION),
494 WmfRecordTypeSetWindowOrg = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETWINDOWORG),
495 WmfRecordTypeSetWindowExt = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETWINDOWEXT),
496 WmfRecordTypeSetViewportOrg = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETVIEWPORTORG),
497 WmfRecordTypeSetViewportExt = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETVIEWPORTEXT),
498 WmfRecordTypeOffsetWindowOrg = GDIP_WMF_RECORD_TO_EMFPLUS(META_OFFSETWINDOWORG),
499 WmfRecordTypeScaleWindowExt = GDIP_WMF_RECORD_TO_EMFPLUS(META_SCALEWINDOWEXT),
500 WmfRecordTypeOffsetViewportOrg = GDIP_WMF_RECORD_TO_EMFPLUS(META_OFFSETVIEWPORTORG),
501 WmfRecordTypeScaleViewportExt = GDIP_WMF_RECORD_TO_EMFPLUS(META_SCALEVIEWPORTEXT),
502 WmfRecordTypeLineTo = GDIP_WMF_RECORD_TO_EMFPLUS(META_LINETO),
503 WmfRecordTypeMoveTo = GDIP_WMF_RECORD_TO_EMFPLUS(META_MOVETO),
504 WmfRecordTypeExcludeClipRect = GDIP_WMF_RECORD_TO_EMFPLUS(META_EXCLUDECLIPRECT),
505 WmfRecordTypeIntersectClipRect = GDIP_WMF_RECORD_TO_EMFPLUS(META_INTERSECTCLIPRECT),
506 WmfRecordTypeArc = GDIP_WMF_RECORD_TO_EMFPLUS(META_ARC),
507 WmfRecordTypeEllipse = GDIP_WMF_RECORD_TO_EMFPLUS(META_ELLIPSE),
508 WmfRecordTypeFloodFill = GDIP_WMF_RECORD_TO_EMFPLUS(META_FLOODFILL),
509 WmfRecordTypePie = GDIP_WMF_RECORD_TO_EMFPLUS(META_PIE),
510 WmfRecordTypeRectangle = GDIP_WMF_RECORD_TO_EMFPLUS(META_RECTANGLE),
511 WmfRecordTypeRoundRect = GDIP_WMF_RECORD_TO_EMFPLUS(META_ROUNDRECT),
512 WmfRecordTypePatBlt = GDIP_WMF_RECORD_TO_EMFPLUS(META_PATBLT),
513 WmfRecordTypeSaveDC = GDIP_WMF_RECORD_TO_EMFPLUS(META_SAVEDC),
514 WmfRecordTypeSetPixel = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETPIXEL),
515 WmfRecordTypeOffsetClipRgn = GDIP_WMF_RECORD_TO_EMFPLUS(META_OFFSETCLIPRGN),
516 WmfRecordTypeTextOut = GDIP_WMF_RECORD_TO_EMFPLUS(META_TEXTOUT),
517 WmfRecordTypeBitBlt = GDIP_WMF_RECORD_TO_EMFPLUS(META_BITBLT),
518 WmfRecordTypeStretchBlt = GDIP_WMF_RECORD_TO_EMFPLUS(META_STRETCHBLT),
519 WmfRecordTypePolygon = GDIP_WMF_RECORD_TO_EMFPLUS(META_POLYGON),
520 WmfRecordTypePolyline = GDIP_WMF_RECORD_TO_EMFPLUS(META_POLYLINE),
521 WmfRecordTypeEscape = GDIP_WMF_RECORD_TO_EMFPLUS(META_ESCAPE),
522 WmfRecordTypeRestoreDC = GDIP_WMF_RECORD_TO_EMFPLUS(META_RESTOREDC),
523 WmfRecordTypeFillRegion = GDIP_WMF_RECORD_TO_EMFPLUS(META_FILLREGION),
524 WmfRecordTypeFrameRegion = GDIP_WMF_RECORD_TO_EMFPLUS(META_FRAMEREGION),
525 WmfRecordTypeInvertRegion = GDIP_WMF_RECORD_TO_EMFPLUS(META_INVERTREGION),
526 WmfRecordTypePaintRegion = GDIP_WMF_RECORD_TO_EMFPLUS(META_PAINTREGION),
527 WmfRecordTypeSelectClipRegion = GDIP_WMF_RECORD_TO_EMFPLUS(META_SELECTCLIPREGION),
528 WmfRecordTypeSelectObject = GDIP_WMF_RECORD_TO_EMFPLUS(META_SELECTOBJECT),
529 WmfRecordTypeSetTextAlign = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETTEXTALIGN),
530 WmfRecordTypeDrawText = GDIP_WMF_RECORD_TO_EMFPLUS(0x062F),
531 WmfRecordTypeChord = GDIP_WMF_RECORD_TO_EMFPLUS(META_CHORD),
532 WmfRecordTypeSetMapperFlags = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETMAPPERFLAGS),
533 WmfRecordTypeExtTextOut = GDIP_WMF_RECORD_TO_EMFPLUS(META_EXTTEXTOUT),
534 WmfRecordTypeSetDIBToDev = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETDIBTODEV),
535 WmfRecordTypeSelectPalette = GDIP_WMF_RECORD_TO_EMFPLUS(META_SELECTPALETTE),
536 WmfRecordTypeRealizePalette = GDIP_WMF_RECORD_TO_EMFPLUS(META_REALIZEPALETTE),
537 WmfRecordTypeAnimatePalette = GDIP_WMF_RECORD_TO_EMFPLUS(META_ANIMATEPALETTE),
538 WmfRecordTypeSetPalEntries = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETPALENTRIES),
539 WmfRecordTypePolyPolygon = GDIP_WMF_RECORD_TO_EMFPLUS(META_POLYPOLYGON),
540 WmfRecordTypeResizePalette = GDIP_WMF_RECORD_TO_EMFPLUS(META_RESIZEPALETTE),
541 WmfRecordTypeDIBBitBlt = GDIP_WMF_RECORD_TO_EMFPLUS(META_DIBBITBLT),
542 WmfRecordTypeDIBStretchBlt = GDIP_WMF_RECORD_TO_EMFPLUS(META_DIBSTRETCHBLT),
543 WmfRecordTypeDIBCreatePatternBrush = GDIP_WMF_RECORD_TO_EMFPLUS(META_DIBCREATEPATTERNBRUSH),
544 WmfRecordTypeStretchDIB = GDIP_WMF_RECORD_TO_EMFPLUS(META_STRETCHDIB),
545 WmfRecordTypeExtFloodFill = GDIP_WMF_RECORD_TO_EMFPLUS(META_EXTFLOODFILL),
546 WmfRecordTypeSetLayout = GDIP_WMF_RECORD_TO_EMFPLUS(0x0149),
547 WmfRecordTypeResetDC = GDIP_WMF_RECORD_TO_EMFPLUS(0x014C),
548 WmfRecordTypeStartDoc = GDIP_WMF_RECORD_TO_EMFPLUS(0x014D),
549 WmfRecordTypeStartPage = GDIP_WMF_RECORD_TO_EMFPLUS(0x004F),
550 WmfRecordTypeEndPage = GDIP_WMF_RECORD_TO_EMFPLUS(0x0050),
551 WmfRecordTypeAbortDoc = GDIP_WMF_RECORD_TO_EMFPLUS(0x0052),
552 WmfRecordTypeEndDoc = GDIP_WMF_RECORD_TO_EMFPLUS(0x005E),
553 WmfRecordTypeDeleteObject = GDIP_WMF_RECORD_TO_EMFPLUS(META_DELETEOBJECT),
554 WmfRecordTypeCreatePalette = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEPALETTE),
555 WmfRecordTypeCreateBrush = GDIP_WMF_RECORD_TO_EMFPLUS(0x00F8),
556 WmfRecordTypeCreatePatternBrush = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEPATTERNBRUSH),
557 WmfRecordTypeCreatePenIndirect = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEPENINDIRECT),
558 WmfRecordTypeCreateFontIndirect = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEFONTINDIRECT),
559 WmfRecordTypeCreateBrushIndirect = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEBRUSHINDIRECT),
560 WmfRecordTypeCreateBitmapIndirect = GDIP_WMF_RECORD_TO_EMFPLUS(0x02FD),
561 WmfRecordTypeCreateBitmap = GDIP_WMF_RECORD_TO_EMFPLUS(0x06FE),
562 WmfRecordTypeCreateRegion = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEREGION),
563 EmfRecordTypeHeader = EMR_HEADER,
564 EmfRecordTypePolyBezier = EMR_POLYBEZIER,
565 EmfRecordTypePolygon = EMR_POLYGON,
566 EmfRecordTypePolyline = EMR_POLYLINE,
567 EmfRecordTypePolyBezierTo = EMR_POLYBEZIERTO,
568 EmfRecordTypePolyLineTo = EMR_POLYLINETO,
569 EmfRecordTypePolyPolyline = EMR_POLYPOLYLINE,
570 EmfRecordTypePolyPolygon = EMR_POLYPOLYGON,
571 EmfRecordTypeSetWindowExtEx = EMR_SETWINDOWEXTEX,
572 EmfRecordTypeSetWindowOrgEx = EMR_SETWINDOWORGEX,
573 EmfRecordTypeSetViewportExtEx = EMR_SETVIEWPORTEXTEX,
574 EmfRecordTypeSetViewportOrgEx = EMR_SETVIEWPORTORGEX,
575 EmfRecordTypeSetBrushOrgEx = EMR_SETBRUSHORGEX,
576 EmfRecordTypeEOF = EMR_EOF,
577 EmfRecordTypeSetPixelV = EMR_SETPIXELV,
578 EmfRecordTypeSetMapperFlags = EMR_SETMAPPERFLAGS,
579 EmfRecordTypeSetMapMode = EMR_SETMAPMODE,
580 EmfRecordTypeSetBkMode = EMR_SETBKMODE,
581 EmfRecordTypeSetPolyFillMode = EMR_SETPOLYFILLMODE,
582 EmfRecordTypeSetROP2 = EMR_SETROP2,
583 EmfRecordTypeSetStretchBltMode = EMR_SETSTRETCHBLTMODE,
584 EmfRecordTypeSetTextAlign = EMR_SETTEXTALIGN,
585 EmfRecordTypeSetColorAdjustment = EMR_SETCOLORADJUSTMENT,
586 EmfRecordTypeSetTextColor = EMR_SETTEXTCOLOR,
587 EmfRecordTypeSetBkColor = EMR_SETBKCOLOR,
588 EmfRecordTypeOffsetClipRgn = EMR_OFFSETCLIPRGN,
589 EmfRecordTypeMoveToEx = EMR_MOVETOEX,
590 EmfRecordTypeSetMetaRgn = EMR_SETMETARGN,
591 EmfRecordTypeExcludeClipRect = EMR_EXCLUDECLIPRECT,
592 EmfRecordTypeIntersectClipRect = EMR_INTERSECTCLIPRECT,
593 EmfRecordTypeScaleViewportExtEx = EMR_SCALEVIEWPORTEXTEX,
594 EmfRecordTypeScaleWindowExtEx = EMR_SCALEWINDOWEXTEX,
595 EmfRecordTypeSaveDC = EMR_SAVEDC,
596 EmfRecordTypeRestoreDC = EMR_RESTOREDC,
597 EmfRecordTypeSetWorldTransform = EMR_SETWORLDTRANSFORM,
598 EmfRecordTypeModifyWorldTransform = EMR_MODIFYWORLDTRANSFORM,
599 EmfRecordTypeSelectObject = EMR_SELECTOBJECT,
600 EmfRecordTypeCreatePen = EMR_CREATEPEN,
601 EmfRecordTypeCreateBrushIndirect = EMR_CREATEBRUSHINDIRECT,
602 EmfRecordTypeDeleteObject = EMR_DELETEOBJECT,
603 EmfRecordTypeAngleArc = EMR_ANGLEARC,
604 EmfRecordTypeEllipse = EMR_ELLIPSE,
605 EmfRecordTypeRectangle = EMR_RECTANGLE,
606 EmfRecordTypeRoundRect = EMR_ROUNDRECT,
607 EmfRecordTypeArc = EMR_ARC,
608 EmfRecordTypeChord = EMR_CHORD,
609 EmfRecordTypePie = EMR_PIE,
610 EmfRecordTypeSelectPalette = EMR_SELECTPALETTE,
611 EmfRecordTypeCreatePalette = EMR_CREATEPALETTE,
612 EmfRecordTypeSetPaletteEntries = EMR_SETPALETTEENTRIES,
613 EmfRecordTypeResizePalette = EMR_RESIZEPALETTE,
614 EmfRecordTypeRealizePalette = EMR_REALIZEPALETTE,
615 EmfRecordTypeExtFloodFill = EMR_EXTFLOODFILL,
616 EmfRecordTypeLineTo = EMR_LINETO,
617 EmfRecordTypeArcTo = EMR_ARCTO,
618 EmfRecordTypePolyDraw = EMR_POLYDRAW,
619 EmfRecordTypeSetArcDirection = EMR_SETARCDIRECTION,
620 EmfRecordTypeSetMiterLimit = EMR_SETMITERLIMIT,
621 EmfRecordTypeBeginPath = EMR_BEGINPATH,
622 EmfRecordTypeEndPath = EMR_ENDPATH,
623 EmfRecordTypeCloseFigure = EMR_CLOSEFIGURE,
624 EmfRecordTypeFillPath = EMR_FILLPATH,
625 EmfRecordTypeStrokeAndFillPath = EMR_STROKEANDFILLPATH,
626 EmfRecordTypeStrokePath = EMR_STROKEPATH,
627 EmfRecordTypeFlattenPath = EMR_FLATTENPATH,
628 EmfRecordTypeWidenPath = EMR_WIDENPATH,
629 EmfRecordTypeSelectClipPath = EMR_SELECTCLIPPATH,
630 EmfRecordTypeAbortPath = EMR_ABORTPATH,
631 EmfRecordTypeReserved_069 = 69,
632 EmfRecordTypeGdiComment = EMR_GDICOMMENT,
633 EmfRecordTypeFillRgn = EMR_FILLRGN,
634 EmfRecordTypeFrameRgn = EMR_FRAMERGN,
635 EmfRecordTypeInvertRgn = EMR_INVERTRGN,
636 EmfRecordTypePaintRgn = EMR_PAINTRGN,
637 EmfRecordTypeExtSelectClipRgn = EMR_EXTSELECTCLIPRGN,
638 EmfRecordTypeBitBlt = EMR_BITBLT,
639 EmfRecordTypeStretchBlt = EMR_STRETCHBLT,
640 EmfRecordTypeMaskBlt = EMR_MASKBLT,
641 EmfRecordTypePlgBlt = EMR_PLGBLT,
642 EmfRecordTypeSetDIBitsToDevice = 80,
643 EmfRecordTypeStretchDIBits = EMR_STRETCHDIBITS,
644 EmfRecordTypeExtCreateFontIndirect = EMR_EXTCREATEFONTINDIRECTW,
645 EmfRecordTypeExtTextOutA = EMR_EXTTEXTOUTA,
646 EmfRecordTypeExtTextOutW = EMR_EXTTEXTOUTW,
647 EmfRecordTypePolyBezier16 = EMR_POLYBEZIER16,
648 EmfRecordTypePolygon16 = EMR_POLYGON16,
649 EmfRecordTypePolyline16 = EMR_POLYLINE16,
650 EmfRecordTypePolyBezierTo16 = EMR_POLYBEZIERTO16,
651 EmfRecordTypePolylineTo16 = EMR_POLYLINETO16,
652 EmfRecordTypePolyPolyline16 = EMR_POLYPOLYLINE16,
653 EmfRecordTypePolyPolygon16 = EMR_POLYPOLYGON16,
654 EmfRecordTypePolyDraw16 = EMR_POLYDRAW16,
655 EmfRecordTypeCreateMonoBrush = EMR_CREATEMONOBRUSH,
656 EmfRecordTypeCreateDIBPatternBrushPt = EMR_CREATEDIBPATTERNBRUSHPT,
657 EmfRecordTypeExtCreatePen = EMR_EXTCREATEPEN,
658 EmfRecordTypePolyTextOutA = EMR_POLYTEXTOUTA,
659 EmfRecordTypePolyTextOutW = EMR_POLYTEXTOUTW,
660 EmfRecordTypeSetICMMode = 98,
661 EmfRecordTypeCreateColorSpace = 99,
662 EmfRecordTypeSetColorSpace = 100,
663 EmfRecordTypeDeleteColorSpace = 101,
664 EmfRecordTypeGLSRecord = 102,
665 EmfRecordTypeGLSBoundedRecord = 103,
666 EmfRecordTypePixelFormat = 104,
667 EmfRecordTypeDrawEscape = 105,
668 EmfRecordTypeExtEscape = 106,
669 EmfRecordTypeStartDoc = 107,
670 EmfRecordTypeSmallTextOut = 108,
671 EmfRecordTypeForceUFIMapping = 109,
672 EmfRecordTypeNamedEscape = 110,
673 EmfRecordTypeColorCorrectPalette = 111,
674 EmfRecordTypeSetICMProfileA = 112,
675 EmfRecordTypeSetICMProfileW = 113,
676 EmfRecordTypeAlphaBlend = 114,
677 EmfRecordTypeSetLayout = 115,
678 EmfRecordTypeTransparentBlt = 116,
679 EmfRecordTypeReserved_117 = 117,
680 EmfRecordTypeGradientFill = 118,
681 EmfRecordTypeSetLinkedUFIs = 119,
682 EmfRecordTypeSetTextJustification = 120,
683 EmfRecordTypeColorMatchToTargetW = 121,
684 EmfRecordTypeCreateColorSpaceW = 122,
685 EmfRecordTypeMax = 122,
686 EmfRecordTypeMin = 1,
687 EmfPlusRecordTypeInvalid = GDIP_EMFPLUS_RECORD_BASE,
688 EmfPlusRecordTypeHeader,
689 EmfPlusRecordTypeEndOfFile,
690 EmfPlusRecordTypeComment,
691 EmfPlusRecordTypeGetDC,
692 EmfPlusRecordTypeMultiFormatStart,
693 EmfPlusRecordTypeMultiFormatSection,
694 EmfPlusRecordTypeMultiFormatEnd,
695 EmfPlusRecordTypeObject,
696 EmfPlusRecordTypeClear,
697 EmfPlusRecordTypeFillRects,
698 EmfPlusRecordTypeDrawRects,
699 EmfPlusRecordTypeFillPolygon,
700 EmfPlusRecordTypeDrawLines,
701 EmfPlusRecordTypeFillEllipse,
702 EmfPlusRecordTypeDrawEllipse,
703 EmfPlusRecordTypeFillPie,
704 EmfPlusRecordTypeDrawPie,
705 EmfPlusRecordTypeDrawArc,
706 EmfPlusRecordTypeFillRegion,
707 EmfPlusRecordTypeFillPath,
708 EmfPlusRecordTypeDrawPath,
709 EmfPlusRecordTypeFillClosedCurve,
710 EmfPlusRecordTypeDrawClosedCurve,
711 EmfPlusRecordTypeDrawCurve,
712 EmfPlusRecordTypeDrawBeziers,
713 EmfPlusRecordTypeDrawImage,
714 EmfPlusRecordTypeDrawImagePoints,
715 EmfPlusRecordTypeDrawString,
716 EmfPlusRecordTypeSetRenderingOrigin,
717 EmfPlusRecordTypeSetAntiAliasMode,
718 EmfPlusRecordTypeSetTextRenderingHint,
719 EmfPlusRecordTypeSetTextContrast,
720 EmfPlusRecordTypeSetInterpolationMode,
721 EmfPlusRecordTypeSetPixelOffsetMode,
722 EmfPlusRecordTypeSetCompositingMode,
723 EmfPlusRecordTypeSetCompositingQuality,
724 EmfPlusRecordTypeSave,
725 EmfPlusRecordTypeRestore,
726 EmfPlusRecordTypeBeginContainer,
727 EmfPlusRecordTypeBeginContainerNoParams,
728 EmfPlusRecordTypeEndContainer,
729 EmfPlusRecordTypeSetWorldTransform,
730 EmfPlusRecordTypeResetWorldTransform,
731 EmfPlusRecordTypeMultiplyWorldTransform,
732 EmfPlusRecordTypeTranslateWorldTransform,
733 EmfPlusRecordTypeScaleWorldTransform,
734 EmfPlusRecordTypeRotateWorldTransform,
735 EmfPlusRecordTypeSetPageTransform,
736 EmfPlusRecordTypeResetClip,
737 EmfPlusRecordTypeSetClipRect,
738 EmfPlusRecordTypeSetClipPath,
739 EmfPlusRecordTypeSetClipRegion,
740 EmfPlusRecordTypeOffsetClip,
741 EmfPlusRecordTypeDrawDriverString,
742 EmfPlusRecordTypeStrokeFillPath,
743 EmfPlusRecordTypeSerializableObject,
744 EmfPlusRecordTypeSetTSGraphics,
745 EmfPlusRecordTypeSetTSClip,
746 EmfPlusRecordTotal,
747 EmfPlusRecordTypeMax = EmfPlusRecordTotal-1,
748 EmfPlusRecordTypeMin = EmfPlusRecordTypeHeader
751 #define FlatnessDefault 0.25f
753 #ifndef __cplusplus
755 typedef enum Unit Unit;
756 typedef enum BrushType BrushType;
757 typedef enum DriverStringOptions DriverStringOptions;
758 typedef enum FillMode FillMode;
759 typedef enum LineCap LineCap;
760 typedef enum CustomLineCapType CustomLineCapType;
761 typedef enum PathPointType PathPointType;
762 typedef enum LineJoin LineJoin;
763 typedef enum QualityMode QualityMode;
764 typedef enum SmoothingMode SmoothingMode;
765 typedef enum CompositingQuality CompositingQuality;
766 typedef enum InterpolationMode InterpolationMode;
767 typedef enum PixelOffsetMode PixelOffsetMode;
768 typedef enum DashCap DashCap;
769 typedef enum DashStyle DashStyle;
770 typedef enum MatrixOrder MatrixOrder;
771 typedef enum ImageType ImageType;
772 typedef enum ImageFlags ImageFlags;
773 typedef enum WarpMode WarpMode;
774 typedef enum WrapMode WrapMode;
775 typedef enum MetafileType MetafileType;
776 typedef enum LinearGradientMode LinearGradientMode;
777 typedef enum EmfType EmfType;
778 typedef enum CompositingMode CompositingMode;
779 typedef enum TextRenderingHint TextRenderingHint;
780 typedef enum StringAlignment StringAlignment;
781 typedef enum StringDigitSubstitute StringDigitSubstitute;
782 typedef enum StringTrimming StringTrimming;
783 typedef enum FontStyle FontStyle;
784 typedef enum StringFormatFlags StringFormatFlags;
785 typedef enum HotkeyPrefix HotkeyPrefix;
786 typedef enum PenAlignment PenAlignment;
787 typedef enum ImageCodecFlags ImageCodecFlags;
788 typedef enum EncoderParameterValueType EncoderParameterValueType;
789 typedef enum EncoderValue EncoderValue;
790 typedef enum CombineMode CombineMode;
791 typedef enum FlushIntention FlushIntention;
792 typedef enum CoordinateSpace CoordinateSpace;
793 typedef enum GpTestControlEnum GpTestControlEnum;
794 typedef enum MetafileFrameUnit MetafileFrameUnit;
795 typedef enum PenType PenType;
796 typedef enum HatchStyle HatchStyle;
797 typedef enum EmfPlusRecordType EmfPlusRecordType;
799 #endif /* end of c typedefs */
801 #undef GDIP_WMF_RECORD_TO_EMFPLUS
802 #define GDIP_WMF_RECORD_TO_EMFPLUS(x) ((EmfPlusRecordType)((x)|GDIP_WMF_RECORD_BASE))
804 #endif