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
239 CompositingModeSourceOver
,
240 CompositingModeSourceCopy
243 enum TextRenderingHint
245 TextRenderingHintSystemDefault
= 0,
246 TextRenderingHintSingleBitPerPixelGridFit
,
247 TextRenderingHintSingleBitPerPixel
,
248 TextRenderingHintAntiAliasGridFit
,
249 TextRenderingHintAntiAlias
,
250 TextRenderingHintClearTypeGridFit
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
283 StringTrimmingNone
= 0,
284 StringTrimmingCharacter
= 1,
285 StringTrimmingWord
= 2,
286 StringTrimmingEllipsisCharacter
= 3,
287 StringTrimmingEllipsisWord
= 4,
288 StringTrimmingEllipsisPath
= 5
293 FontStyleRegular
= 0,
296 FontStyleBoldItalic
= 3,
297 FontStyleUnderline
= 4,
298 FontStyleStrikeout
= 8
303 HotkeyPrefixNone
= 0,
304 HotkeyPrefixShow
= 1,
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
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
342 CombineModeIntersect
,
346 CombineModeComplement
351 FlushIntentionFlush
= 0,
352 FlushIntentionSync
= 1
357 CoordinateSpaceWorld
,
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
,
381 HatchStyleHorizontal
= 0,
382 HatchStyleVertical
= 1,
383 HatchStyleForwardDiagonal
= 2,
384 HatchStyleBackwardDiagonal
= 3,
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,
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
,
708 EmfPlusRecordTypeMax
= EmfPlusRecordTotal
-1,
709 EmfPlusRecordTypeMin
= EmfPlusRecordTypeHeader
712 #define FlatnessDefault 0.25f
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))