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