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