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
709 typedef enum Unit Unit;
710 typedef enum BrushType BrushType;
711 typedef enum DriverStringOptions DriverStringOptions;
712 typedef enum FillMode FillMode;
713 typedef enum LineCap LineCap;
714 typedef enum PathPointType PathPointType;
715 typedef enum LineJoin LineJoin;
716 typedef enum QualityMode QualityMode;
717 typedef enum SmoothingMode SmoothingMode;
718 typedef enum CompositingQuality CompositingQuality;
719 typedef enum InterpolationMode InterpolationMode;
720 typedef enum PixelOffsetMode PixelOffsetMode;
721 typedef enum DashCap DashCap;
722 typedef enum DashStyle DashStyle;
723 typedef enum MatrixOrder MatrixOrder;
724 typedef enum ImageType ImageType;
725 typedef enum ImageFlags ImageFlags;
726 typedef enum WarpMode WarpMode;
727 typedef enum WrapMode WrapMode;
728 typedef enum MetafileType MetafileType;
729 typedef enum LinearGradientMode LinearGradientMode;
730 typedef enum EmfType EmfType;
731 typedef enum CompositingMode CompositingMode;
732 typedef enum TextRenderingHint TextRenderingHint;
733 typedef enum StringAlignment StringAlignment;
734 typedef enum StringDigitSubstitute StringDigitSubstitute;
735 typedef enum StringTrimming StringTrimming;
736 typedef enum FontStyle FontStyle;
737 typedef enum StringFormatFlags StringFormatFlags;
738 typedef enum HotkeyPrefix HotkeyPrefix;
739 typedef enum PenAlignment PenAlignment;
740 typedef enum PaletteFlags PaletteFlags;
741 typedef enum ImageCodecFlags ImageCodecFlags;
742 typedef enum CombineMode CombineMode;
743 typedef enum FlushIntention FlushIntention;
744 typedef enum CoordinateSpace CoordinateSpace;
745 typedef enum GpTestControlEnum GpTestControlEnum;
746 typedef enum MetafileFrameUnit MetafileFrameUnit;
747 typedef enum PenType PenType;
748 typedef enum HatchStyle HatchStyle;
749 typedef enum EmfPlusRecordType EmfPlusRecordType;
751 #endif /* end of c typedefs */
753 #undef GDIP_WMF_RECORD_TO_EMFPLUS
754 #define GDIP_WMF_RECORD_TO_EMFPLUS(x) ((EmfPlusRecordType)((x)|GDIP_WMF_RECORD_BASE))