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