Naveen Neel / shedskin
Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers gdiplusenums.h Source File

gdiplusenums.h

00001 /*
00002  * gdiplusenums.h
00003  *
00004  * GDI+ enumerations
00005  *
00006  * This file is part of the w32api package.
00007  *
00008  * Contributors:
00009  *   Created by Markus Koenig <markus@stber-koenig.de>
00010  *
00011  * THIS SOFTWARE IS NOT COPYRIGHTED
00012  *
00013  * This source code is offered for use in the public domain. You may
00014  * use, modify or distribute it freely.
00015  *
00016  * This code is distributed in the hope that it will be useful but
00017  * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
00018  * DISCLAIMED. This includes but is not limited to warranties of
00019  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00020  *
00021  */
00022 
00023 #ifndef __GDIPLUS_ENUMS_H
00024 #define __GDIPLUS_ENUMS_H
00025 #if __GNUC__ >=3
00026 #pragma GCC system_header
00027 #endif
00028 
00029 typedef enum BrushType {
00030     BrushTypeSolidColor = 0,
00031     BrushTypeHatchFill = 1,
00032     BrushTypeTextureFill = 2,
00033     BrushTypePathGradient = 3,
00034     BrushTypeLinearGradient = 4
00035 } BrushType;
00036 
00037 typedef enum CombineMode {
00038     CombineModeReplace = 0,
00039     CombineModeIntersect = 1,
00040     CombineModeUnion = 2,
00041     CombineModeXor = 3,
00042     CombineModeExclude = 4,
00043     CombineModeComplement = 5
00044 } CombineMode;
00045 
00046 typedef enum CompositingMode {
00047     CompositingModeSourceOver = 0,
00048     CompositingModeSourceCopy = 1
00049 } CompositingMode;
00050 
00051 typedef enum CompositingQuality {
00052     CompositingQualityDefault = 0,
00053     CompositingQualityHighSpeed = 1,
00054     CompositingQualityHighQuality = 2,
00055     CompositingQualityGammaCorrected = 3,
00056     CompositingQualityAssumeLinear = 4
00057 } CompositingQuality;
00058 
00059 typedef enum CoordinateSpace {
00060     CoordinateSpaceWorld = 0,
00061     CoordinateSpacePage = 1,
00062     CoordinateSpaceDevice = 2
00063 } CoordinateSpace;
00064 
00065 typedef enum CustomLineCapType {
00066     CustomLineCapTypeDefault = 0,
00067     CustomLineCapTypeAdjustableArrow = 1
00068 } CustomLineCapType;
00069 
00070 typedef enum DashCap {
00071     DashCapFlat = 0,
00072     DashCapRound = 2,
00073     DashCapTriangle = 3
00074 } DashCap;
00075 
00076 typedef enum DashStyle {
00077     DashStyleSolid = 0,
00078     DashStyleDash = 1,
00079     DashStyleDot = 2,
00080     DashStyleDashDot = 3,
00081     DashStyleDashDotDot = 4,
00082     DashStyleCustom = 5
00083 } DashStyle;
00084 
00085 typedef enum DitherType {
00086     DitherTypeNone = 0,
00087     DitherTypeSolid = 1,
00088     DitherTypeOrdered4x4 = 2,
00089     DitherTypeOrdered8x8 = 3,
00090     DitherTypeOrdered16x16 = 4,
00091     DitherTypeOrdered91x91 = 5,
00092     DitherTypeSpiral4x4 = 6,
00093     DitherTypeSpiral8x8 = 7,
00094     DitherTypeDualSpiral4x4 = 8,
00095     DitherTypeDualSpiral8x8 = 9,
00096     DitherTypeErrorDiffusion = 10
00097 } DitherType;
00098 
00099 typedef enum DriverStringOptions {
00100     DriverStringOptionsCmapLookup = 1,
00101     DriverStringOptionsVertical = 2,
00102     DriverStringOptionsRealizedAdvance = 4,
00103     DriverStringOptionsLimitSubpixel = 8
00104 } DriverStringOptions;
00105 
00106 #define GDIP_WMF_RECORD_TO_EMFPLUS(meta) ((meta) | 0x10000)
00107 #define GDIP_EMFPLUS_RECORD_BASE (0x4000)
00108 typedef enum EmfPlusRecordType {
00109     WmfRecordTypeSetBkColor                    = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETBKCOLOR),
00110     WmfRecordTypeSetBkMode                     = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETBKMODE),
00111     WmfRecordTypeSetMapMode                    = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETMAPMODE),
00112     WmfRecordTypeSetROP2                       = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETROP2),
00113     WmfRecordTypeSetRelAbs                     = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETRELABS),
00114     WmfRecordTypeSetPolyFillMode               = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETPOLYFILLMODE),
00115     WmfRecordTypeSetStretchBltMode             = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETSTRETCHBLTMODE),
00116     WmfRecordTypeSetTextCharExtra              = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETTEXTCHAREXTRA),
00117     WmfRecordTypeSetTextColor                  = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETTEXTCOLOR),
00118     WmfRecordTypeSetTextJustification          = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETTEXTJUSTIFICATION),
00119     WmfRecordTypeSetWindowOrg                  = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETWINDOWORG),
00120     WmfRecordTypeSetWindowExt                  = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETWINDOWEXT),
00121     WmfRecordTypeSetViewportOrg                = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETVIEWPORTORG),
00122     WmfRecordTypeSetViewportExt                = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETVIEWPORTEXT),
00123     WmfRecordTypeOffsetWindowOrg               = GDIP_WMF_RECORD_TO_EMFPLUS(META_OFFSETWINDOWORG),
00124     WmfRecordTypeScaleWindowExt                = GDIP_WMF_RECORD_TO_EMFPLUS(META_SCALEWINDOWEXT),
00125     WmfRecordTypeOffsetViewportOrg             = GDIP_WMF_RECORD_TO_EMFPLUS(META_OFFSETVIEWPORTORG),
00126     WmfRecordTypeScaleViewportExt              = GDIP_WMF_RECORD_TO_EMFPLUS(META_SCALEVIEWPORTEXT),
00127     WmfRecordTypeLineTo                        = GDIP_WMF_RECORD_TO_EMFPLUS(META_LINETO),
00128     WmfRecordTypeMoveTo                        = GDIP_WMF_RECORD_TO_EMFPLUS(META_MOVETO),
00129     WmfRecordTypeExcludeClipRect               = GDIP_WMF_RECORD_TO_EMFPLUS(META_EXCLUDECLIPRECT),
00130     WmfRecordTypeIntersectClipRect             = GDIP_WMF_RECORD_TO_EMFPLUS(META_INTERSECTCLIPRECT),
00131     WmfRecordTypeArc                           = GDIP_WMF_RECORD_TO_EMFPLUS(META_ARC),
00132     WmfRecordTypeEllipse                       = GDIP_WMF_RECORD_TO_EMFPLUS(META_ELLIPSE),
00133     WmfRecordTypeFloodFill                     = GDIP_WMF_RECORD_TO_EMFPLUS(META_FLOODFILL),
00134     WmfRecordTypePie                           = GDIP_WMF_RECORD_TO_EMFPLUS(META_PIE),
00135     WmfRecordTypeRectangle                     = GDIP_WMF_RECORD_TO_EMFPLUS(META_RECTANGLE),
00136     WmfRecordTypeRoundRect                     = GDIP_WMF_RECORD_TO_EMFPLUS(META_ROUNDRECT),
00137     WmfRecordTypePatBlt                        = GDIP_WMF_RECORD_TO_EMFPLUS(META_PATBLT),
00138     WmfRecordTypeSaveDC                        = GDIP_WMF_RECORD_TO_EMFPLUS(META_SAVEDC),
00139     WmfRecordTypeSetPixel                      = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETPIXEL),
00140     WmfRecordTypeOffsetClipRgn                 = GDIP_WMF_RECORD_TO_EMFPLUS(META_OFFSETCLIPRGN),
00141     WmfRecordTypeTextOut                       = GDIP_WMF_RECORD_TO_EMFPLUS(META_TEXTOUT),
00142     WmfRecordTypeBitBlt                        = GDIP_WMF_RECORD_TO_EMFPLUS(META_BITBLT),
00143     WmfRecordTypeStretchBlt                    = GDIP_WMF_RECORD_TO_EMFPLUS(META_STRETCHBLT),
00144     WmfRecordTypePolygon                       = GDIP_WMF_RECORD_TO_EMFPLUS(META_POLYGON),
00145     WmfRecordTypePolyline                      = GDIP_WMF_RECORD_TO_EMFPLUS(META_POLYLINE),
00146     WmfRecordTypeEscape                        = GDIP_WMF_RECORD_TO_EMFPLUS(META_ESCAPE),
00147     WmfRecordTypeRestoreDC                     = GDIP_WMF_RECORD_TO_EMFPLUS(META_RESTOREDC),
00148     WmfRecordTypeFillRegion                    = GDIP_WMF_RECORD_TO_EMFPLUS(META_FILLREGION),
00149     WmfRecordTypeFrameRegion                   = GDIP_WMF_RECORD_TO_EMFPLUS(META_FRAMEREGION),
00150     WmfRecordTypeInvertRegion                  = GDIP_WMF_RECORD_TO_EMFPLUS(META_INVERTREGION),
00151     WmfRecordTypePaintRegion                   = GDIP_WMF_RECORD_TO_EMFPLUS(META_PAINTREGION),
00152     WmfRecordTypeSelectClipRegion              = GDIP_WMF_RECORD_TO_EMFPLUS(META_SELECTCLIPREGION),
00153     WmfRecordTypeSelectObject                  = GDIP_WMF_RECORD_TO_EMFPLUS(META_SELECTOBJECT),
00154     WmfRecordTypeSetTextAlign                  = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETTEXTALIGN),
00155     WmfRecordTypeDrawText                      = GDIP_WMF_RECORD_TO_EMFPLUS(0x062F),
00156     WmfRecordTypeChord                         = GDIP_WMF_RECORD_TO_EMFPLUS(META_CHORD),
00157     WmfRecordTypeSetMapperFlags                = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETMAPPERFLAGS),
00158     WmfRecordTypeExtTextOut                    = GDIP_WMF_RECORD_TO_EMFPLUS(META_EXTTEXTOUT),
00159     WmfRecordTypeSetDIBToDev                   = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETDIBTODEV),
00160     WmfRecordTypeSelectPalette                 = GDIP_WMF_RECORD_TO_EMFPLUS(META_SELECTPALETTE),
00161     WmfRecordTypeRealizePalette                = GDIP_WMF_RECORD_TO_EMFPLUS(META_REALIZEPALETTE),
00162     WmfRecordTypeAnimatePalette                = GDIP_WMF_RECORD_TO_EMFPLUS(META_ANIMATEPALETTE),
00163     WmfRecordTypeSetPalEntries                 = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETPALENTRIES),
00164     WmfRecordTypePolyPolygon                   = GDIP_WMF_RECORD_TO_EMFPLUS(META_POLYPOLYGON),
00165     WmfRecordTypeResizePalette                 = GDIP_WMF_RECORD_TO_EMFPLUS(META_RESIZEPALETTE),
00166     WmfRecordTypeDIBBitBlt                     = GDIP_WMF_RECORD_TO_EMFPLUS(META_DIBBITBLT),
00167     WmfRecordTypeDIBStretchBlt                 = GDIP_WMF_RECORD_TO_EMFPLUS(META_DIBSTRETCHBLT),
00168     WmfRecordTypeDIBCreatePatternBrush         = GDIP_WMF_RECORD_TO_EMFPLUS(META_DIBCREATEPATTERNBRUSH),
00169     WmfRecordTypeStretchDIB                    = GDIP_WMF_RECORD_TO_EMFPLUS(META_STRETCHDIB),
00170     WmfRecordTypeExtFloodFill                  = GDIP_WMF_RECORD_TO_EMFPLUS(META_EXTFLOODFILL),
00171     WmfRecordTypeSetLayout                     = GDIP_WMF_RECORD_TO_EMFPLUS(0x0149),
00172     WmfRecordTypeResetDC                       = GDIP_WMF_RECORD_TO_EMFPLUS(0x014C),
00173     WmfRecordTypeStartDoc                      = GDIP_WMF_RECORD_TO_EMFPLUS(0x014D),
00174     WmfRecordTypeStartPage                     = GDIP_WMF_RECORD_TO_EMFPLUS(0x004F),
00175     WmfRecordTypeEndPage                       = GDIP_WMF_RECORD_TO_EMFPLUS(0x0050),
00176     WmfRecordTypeAbortDoc                      = GDIP_WMF_RECORD_TO_EMFPLUS(0x0052),
00177     WmfRecordTypeEndDoc                        = GDIP_WMF_RECORD_TO_EMFPLUS(0x005E),
00178     WmfRecordTypeDeleteObject                  = GDIP_WMF_RECORD_TO_EMFPLUS(META_DELETEOBJECT),
00179     WmfRecordTypeCreatePalette                 = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEPALETTE),
00180     WmfRecordTypeCreateBrush                   = GDIP_WMF_RECORD_TO_EMFPLUS(0x00F8),
00181     WmfRecordTypeCreatePatternBrush            = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEPATTERNBRUSH),
00182     WmfRecordTypeCreatePenIndirect             = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEPENINDIRECT),
00183     WmfRecordTypeCreateFontIndirect            = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEFONTINDIRECT),
00184     WmfRecordTypeCreateBrushIndirect           = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEBRUSHINDIRECT),
00185     WmfRecordTypeCreateBitmapIndirect          = GDIP_WMF_RECORD_TO_EMFPLUS(0x02FD),
00186     WmfRecordTypeCreateBitmap                  = GDIP_WMF_RECORD_TO_EMFPLUS(0x06FE),
00187     WmfRecordTypeCreateRegion                  = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEREGION),
00188     EmfRecordTypeHeader                        = EMR_HEADER,
00189     EmfRecordTypePolyBezier                    = EMR_POLYBEZIER,
00190     EmfRecordTypePolygon                       = EMR_POLYGON,
00191     EmfRecordTypePolyline                      = EMR_POLYLINE,
00192     EmfRecordTypePolyBezierTo                  = EMR_POLYBEZIERTO,
00193     EmfRecordTypePolyLineTo                    = EMR_POLYLINETO,
00194     EmfRecordTypePolyPolyline                  = EMR_POLYPOLYLINE,
00195     EmfRecordTypePolyPolygon                   = EMR_POLYPOLYGON,
00196     EmfRecordTypeSetWindowExtEx                = EMR_SETWINDOWEXTEX,
00197     EmfRecordTypeSetWindowOrgEx                = EMR_SETWINDOWORGEX,
00198     EmfRecordTypeSetViewportExtEx              = EMR_SETVIEWPORTEXTEX,
00199     EmfRecordTypeSetViewportOrgEx              = EMR_SETVIEWPORTORGEX,
00200     EmfRecordTypeSetBrushOrgEx                 = EMR_SETBRUSHORGEX,
00201     EmfRecordTypeEOF                           = EMR_EOF,
00202     EmfRecordTypeSetPixelV                     = EMR_SETPIXELV,
00203     EmfRecordTypeSetMapperFlags                = EMR_SETMAPPERFLAGS,
00204     EmfRecordTypeSetMapMode                    = EMR_SETMAPMODE,
00205     EmfRecordTypeSetBkMode                     = EMR_SETBKMODE,
00206     EmfRecordTypeSetPolyFillMode               = EMR_SETPOLYFILLMODE,
00207     EmfRecordTypeSetROP2                       = EMR_SETROP2,
00208     EmfRecordTypeSetStretchBltMode             = EMR_SETSTRETCHBLTMODE,
00209     EmfRecordTypeSetTextAlign                  = EMR_SETTEXTALIGN,
00210     EmfRecordTypeSetColorAdjustment            = EMR_SETCOLORADJUSTMENT,
00211     EmfRecordTypeSetTextColor                  = EMR_SETTEXTCOLOR,
00212     EmfRecordTypeSetBkColor                    = EMR_SETBKCOLOR,
00213     EmfRecordTypeOffsetClipRgn                 = EMR_OFFSETCLIPRGN,
00214     EmfRecordTypeMoveToEx                      = EMR_MOVETOEX,
00215     EmfRecordTypeSetMetaRgn                    = EMR_SETMETARGN,
00216     EmfRecordTypeExcludeClipRect               = EMR_EXCLUDECLIPRECT,
00217     EmfRecordTypeIntersectClipRect             = EMR_INTERSECTCLIPRECT,
00218     EmfRecordTypeScaleViewportExtEx            = EMR_SCALEVIEWPORTEXTEX,
00219     EmfRecordTypeScaleWindowExtEx              = EMR_SCALEWINDOWEXTEX,
00220     EmfRecordTypeSaveDC                        = EMR_SAVEDC,
00221     EmfRecordTypeRestoreDC                     = EMR_RESTOREDC,
00222     EmfRecordTypeSetWorldTransform             = EMR_SETWORLDTRANSFORM,
00223     EmfRecordTypeModifyWorldTransform          = EMR_MODIFYWORLDTRANSFORM,
00224     EmfRecordTypeSelectObject                  = EMR_SELECTOBJECT,
00225     EmfRecordTypeCreatePen                     = EMR_CREATEPEN,
00226     EmfRecordTypeCreateBrushIndirect           = EMR_CREATEBRUSHINDIRECT,
00227     EmfRecordTypeDeleteObject                  = EMR_DELETEOBJECT,
00228     EmfRecordTypeAngleArc                      = EMR_ANGLEARC,
00229     EmfRecordTypeEllipse                       = EMR_ELLIPSE,
00230     EmfRecordTypeRectangle                     = EMR_RECTANGLE,
00231     EmfRecordTypeRoundRect                     = EMR_ROUNDRECT,
00232     EmfRecordTypeArc                           = EMR_ARC,
00233     EmfRecordTypeChord                         = EMR_CHORD,
00234     EmfRecordTypePie                           = EMR_PIE,
00235     EmfRecordTypeSelectPalette                 = EMR_SELECTPALETTE,
00236     EmfRecordTypeCreatePalette                 = EMR_CREATEPALETTE,
00237     EmfRecordTypeSetPaletteEntries             = EMR_SETPALETTEENTRIES,
00238     EmfRecordTypeResizePalette                 = EMR_RESIZEPALETTE,
00239     EmfRecordTypeRealizePalette                = EMR_REALIZEPALETTE,
00240     EmfRecordTypeExtFloodFill                  = EMR_EXTFLOODFILL,
00241     EmfRecordTypeLineTo                        = EMR_LINETO,
00242     EmfRecordTypeArcTo                         = EMR_ARCTO,
00243     EmfRecordTypePolyDraw                      = EMR_POLYDRAW,
00244     EmfRecordTypeSetArcDirection               = EMR_SETARCDIRECTION,
00245     EmfRecordTypeSetMiterLimit                 = EMR_SETMITERLIMIT,
00246     EmfRecordTypeBeginPath                     = EMR_BEGINPATH,
00247     EmfRecordTypeEndPath                       = EMR_ENDPATH,
00248     EmfRecordTypeCloseFigure                   = EMR_CLOSEFIGURE,
00249     EmfRecordTypeFillPath                      = EMR_FILLPATH,
00250     EmfRecordTypeStrokeAndFillPath             = EMR_STROKEANDFILLPATH,
00251     EmfRecordTypeStrokePath                    = EMR_STROKEPATH,
00252     EmfRecordTypeFlattenPath                   = EMR_FLATTENPATH,
00253     EmfRecordTypeWidenPath                     = EMR_WIDENPATH,
00254     EmfRecordTypeSelectClipPath                = EMR_SELECTCLIPPATH,
00255     EmfRecordTypeAbortPath                     = EMR_ABORTPATH,
00256     EmfRecordTypeReserved_069                  = 69,
00257     EmfRecordTypeGdiComment                    = EMR_GDICOMMENT,
00258     EmfRecordTypeFillRgn                       = EMR_FILLRGN,
00259     EmfRecordTypeFrameRgn                      = EMR_FRAMERGN,
00260     EmfRecordTypeInvertRgn                     = EMR_INVERTRGN,
00261     EmfRecordTypePaintRgn                      = EMR_PAINTRGN,
00262     EmfRecordTypeExtSelectClipRgn              = EMR_EXTSELECTCLIPRGN,
00263     EmfRecordTypeBitBlt                        = EMR_BITBLT,
00264     EmfRecordTypeStretchBlt                    = EMR_STRETCHBLT,
00265     EmfRecordTypeMaskBlt                       = EMR_MASKBLT,
00266     EmfRecordTypePlgBlt                        = EMR_PLGBLT,
00267     EmfRecordTypeSetDIBitsToDevice             = EMR_SETDIBITSTODEVICE,
00268     EmfRecordTypeStretchDIBits                 = EMR_STRETCHDIBITS,
00269     EmfRecordTypeExtCreateFontIndirect         = EMR_EXTCREATEFONTINDIRECTW,
00270     EmfRecordTypeExtTextOutA                   = EMR_EXTTEXTOUTA,
00271     EmfRecordTypeExtTextOutW                   = EMR_EXTTEXTOUTW,
00272     EmfRecordTypePolyBezier16                  = EMR_POLYBEZIER16,
00273     EmfRecordTypePolygon16                     = EMR_POLYGON16,
00274     EmfRecordTypePolyline16                    = EMR_POLYLINE16,
00275     EmfRecordTypePolyBezierTo16                = EMR_POLYBEZIERTO16,
00276     EmfRecordTypePolylineTo16                  = EMR_POLYLINETO16,
00277     EmfRecordTypePolyPolyline16                = EMR_POLYPOLYLINE16,
00278     EmfRecordTypePolyPolygon16                 = EMR_POLYPOLYGON16,
00279     EmfRecordTypePolyDraw16                    = EMR_POLYDRAW16,
00280     EmfRecordTypeCreateMonoBrush               = EMR_CREATEMONOBRUSH,
00281     EmfRecordTypeCreateDIBPatternBrushPt       = EMR_CREATEDIBPATTERNBRUSHPT,
00282     EmfRecordTypeExtCreatePen                  = EMR_EXTCREATEPEN,
00283     EmfRecordTypePolyTextOutA                  = EMR_POLYTEXTOUTA,
00284     EmfRecordTypePolyTextOutW                  = EMR_POLYTEXTOUTW,
00285     EmfRecordTypeSetICMMode                    = 98,
00286     EmfRecordTypeCreateColorSpace              = 99,
00287     EmfRecordTypeSetColorSpace                 = 100,
00288     EmfRecordTypeDeleteColorSpace              = 101,
00289     EmfRecordTypeGLSRecord                     = 102,
00290     EmfRecordTypeGLSBoundedRecord              = 103,
00291     EmfRecordTypePixelFormat                   = 104,
00292     EmfRecordTypeDrawEscape                    = 105,
00293     EmfRecordTypeExtEscape                     = 106,
00294     EmfRecordTypeStartDoc                      = 107,
00295     EmfRecordTypeSmallTextOut                  = 108,
00296     EmfRecordTypeForceUFIMapping               = 109,
00297     EmfRecordTypeNamedEscape                   = 110,
00298     EmfRecordTypeColorCorrectPalette           = 111,
00299     EmfRecordTypeSetICMProfileA                = 112,
00300     EmfRecordTypeSetICMProfileW                = 113,
00301     EmfRecordTypeAlphaBlend                    = 114,
00302     EmfRecordTypeSetLayout                     = 115,
00303     EmfRecordTypeTransparentBlt                = 116,
00304     EmfRecordTypeReserved_117                  = 117,
00305     EmfRecordTypeGradientFill                  = 118,
00306     EmfRecordTypeSetLinkedUFIs                 = 119,
00307     EmfRecordTypeSetTextJustification          = 120,
00308     EmfRecordTypeColorMatchToTargetW           = 121,
00309     EmfRecordTypeCreateColorSpaceW             = 122,
00310     EmfRecordTypeMax                           = 122,
00311     EmfRecordTypeMin                           = 1,
00312     EmfPlusRecordTypeInvalid                   = GDIP_EMFPLUS_RECORD_BASE,
00313     EmfPlusRecordTypeHeader,
00314     EmfPlusRecordTypeEndOfFile,
00315     EmfPlusRecordTypeComment,
00316     EmfPlusRecordTypeGetDC,
00317     EmfPlusRecordTypeMultiFormatStart,
00318     EmfPlusRecordTypeMultiFormatSection,
00319     EmfPlusRecordTypeMultiFormatEnd,
00320     EmfPlusRecordTypeObject,
00321     EmfPlusRecordTypeClear,
00322     EmfPlusRecordTypeFillRects,
00323     EmfPlusRecordTypeDrawRects,
00324     EmfPlusRecordTypeFillPolygon,
00325     EmfPlusRecordTypeDrawLines,
00326     EmfPlusRecordTypeFillEllipse,
00327     EmfPlusRecordTypeDrawEllipse,
00328     EmfPlusRecordTypeFillPie,
00329     EmfPlusRecordTypeDrawPie,
00330     EmfPlusRecordTypeDrawArc,
00331     EmfPlusRecordTypeFillRegion,
00332     EmfPlusRecordTypeFillPath,
00333     EmfPlusRecordTypeDrawPath,
00334     EmfPlusRecordTypeFillClosedCurve,
00335     EmfPlusRecordTypeDrawClosedCurve,
00336     EmfPlusRecordTypeDrawCurve,
00337     EmfPlusRecordTypeDrawBeziers,
00338     EmfPlusRecordTypeDrawImage,
00339     EmfPlusRecordTypeDrawImagePoints,
00340     EmfPlusRecordTypeDrawString,
00341     EmfPlusRecordTypeSetRenderingOrigin,
00342     EmfPlusRecordTypeSetAntiAliasMode,
00343     EmfPlusRecordTypeSetTextRenderingHint,
00344     EmfPlusRecordTypeSetTextContrast,
00345     EmfPlusRecordTypeSetGammaValue,
00346     EmfPlusRecordTypeSetInterpolationMode,
00347     EmfPlusRecordTypeSetPixelOffsetMode,
00348     EmfPlusRecordTypeSetCompositingMode,
00349     EmfPlusRecordTypeSetCompositingQuality,
00350     EmfPlusRecordTypeSave,
00351     EmfPlusRecordTypeRestore,
00352     EmfPlusRecordTypeBeginContainer,
00353     EmfPlusRecordTypeBeginContainerNoParams,
00354     EmfPlusRecordTypeEndContainer,
00355     EmfPlusRecordTypeSetWorldTransform,
00356     EmfPlusRecordTypeResetWorldTransform,
00357     EmfPlusRecordTypeMultiplyWorldTransform,
00358     EmfPlusRecordTypeTranslateWorldTransform,
00359     EmfPlusRecordTypeScaleWorldTransform,
00360     EmfPlusRecordTypeRotateWorldTransform,
00361     EmfPlusRecordTypeSetPageTransform,
00362     EmfPlusRecordTypeResetClip,
00363     EmfPlusRecordTypeSetClipRect,
00364     EmfPlusRecordTypeSetClipPath,
00365     EmfPlusRecordTypeSetClipRegion,
00366     EmfPlusRecordTypeOffsetClip,
00367     EmfPlusRecordTypeDrawDriverString,
00368     EmfPlusRecordTypeStrokeFillPath,
00369     EmfPlusRecordTypeSerializableObject,
00370     EmfPlusRecordTypeSetTSGraphics,
00371     EmfPlusRecordTypeSetTSClip,
00372     EmfPlusRecordTotal,
00373     EmfPlusRecordTypeMax = EmfPlusRecordTotal-1,
00374     EmfPlusRecordTypeMin = EmfPlusRecordTypeHeader
00375 } EmfPlusRecordType;
00376 
00377 typedef enum EmfToWmfBitsFlags {
00378     EmfToWmfBitsFlagsDefault = 0,
00379     EmfToWmfBitsFlagsEmbedEmf = 1,
00380     EmfToWmfBitsFlagsIncludePlaceable = 2,
00381     EmfToWmfBitsFlagsNoXORClip = 4
00382 } EmfToWmfBitsFlags;
00383 
00384 typedef enum EmfType {
00385     EmfTypeEmfOnly = 3,
00386     EmfTypeEmfPlusOnly = 4,
00387     EmfTypeEmfPlusDual = 5
00388 } EmfType;
00389 
00390 typedef enum EncoderParameterValueType {
00391     EncoderParameterValueTypeByte = 1,
00392     EncoderParameterValueTypeASCII = 2,
00393     EncoderParameterValueTypeShort = 3,
00394     EncoderParameterValueTypeLong = 4,
00395     EncoderParameterValueTypeRational = 5,
00396     EncoderParameterValueTypeLongRange = 6,
00397     EncoderParameterValueTypeUndefined = 7,
00398     EncoderParameterValueTypeRationalRange = 8,
00399     EncoderParameterValueTypePointer = 9
00400 } EncoderParameterValueType;
00401 
00402 typedef enum EncoderValue {
00403     EncoderValueColorTypeCMYK = 0,
00404     EncoderValueColorTypeYCCK = 1,
00405     EncoderValueCompressionLZW = 2,
00406     EncoderValueCompressionCCITT3 = 3,
00407     EncoderValueCompressionCCITT4 = 4,
00408     EncoderValueCompressionRle = 5,
00409     EncoderValueCompressionNone = 6,
00410     EncoderValueScanMethodInterlaced = 7,
00411     EncoderValueScanMethodNonInterlaced = 8,
00412     EncoderValueVersionGif87 = 9,
00413     EncoderValueVersionGif89 = 10,
00414     EncoderValueRenderProgressive = 11,
00415     EncoderValueRenderNonProgressive = 12,
00416     EncoderValueTransformRotate90 = 13,
00417     EncoderValueTransformRotate180 = 14,
00418     EncoderValueTransformRotate270 = 15,
00419     EncoderValueTransformFlipHorizontal = 16,
00420     EncoderValueTransformFlipVertical = 17,
00421     EncoderValueMultiFrame = 18,
00422     EncoderValueLastFrame = 19,
00423     EncoderValueFlush = 20,
00424     EncoderValueFrameDimensionTime = 21,
00425     EncoderValueFrameDimensionResolution = 22,
00426     EncoderValueFrameDimensionPage = 23
00427 } EncoderValue;
00428 
00429 typedef enum FillMode {
00430     FillModeAlternate = 0,
00431     FillModeWinding = 1
00432 } FillMode;
00433 
00434 typedef enum FlushIntention {
00435     FlushIntentionFlush = 0,
00436     FlushIntentionSync = 1
00437 } FlushIntention;
00438 
00439 typedef enum FontStyle {
00440     FontStyleRegular = 0,
00441     FontStyleBold = 1,
00442     FontStyleItalic = 2,
00443     FontStyleBoldItalic = 3,
00444     FontStyleUnderline = 4,
00445     FontStyleStrikeout = 8
00446 } FontStyle;
00447 
00448 typedef enum HatchStyle {
00449     HatchStyleHorizontal = 0,
00450     HatchStyleVertical = 1,
00451     HatchStyleForwardDiagonal = 2,
00452     HatchStyleBackwardDiagonal = 3,
00453     HatchStyleCross = 4,
00454     HatchStyleLargeGrid = 4,
00455     HatchStyleDiagonalCross = 5,
00456     HatchStyle05Percent = 6,
00457     HatchStyle10Percent = 7,
00458     HatchStyle20Percent = 8,
00459     HatchStyle25Percent = 9,
00460     HatchStyle30Percent = 10,
00461     HatchStyle40Percent = 11,
00462     HatchStyle50Percent = 12,
00463     HatchStyle60Percent = 13,
00464     HatchStyle70Percent = 14,
00465     HatchStyle75Percent = 15,
00466     HatchStyle80Percent = 16,
00467     HatchStyle90Percent = 17,
00468     HatchStyleLightDownwardDiagonal = 18,
00469     HatchStyleLightUpwardDiagonal = 19,
00470     HatchStyleDarkDownwardDiagonal = 20,
00471     HatchStyleDarkUpwardDiagonal = 21,
00472     HatchStyleWideDownwardDiagonal = 22,
00473     HatchStyleWideUpwardDiagonal = 23,
00474     HatchStyleLightVertical = 24,
00475     HatchStyleLightHorizontal = 25,
00476     HatchStyleNarrowVertical = 26,
00477     HatchStyleNarrowHorizontal = 27,
00478     HatchStyleDarkVertical = 28,
00479     HatchStyleDarkHorizontal = 29,
00480     HatchStyleDashedDownwardDiagonal = 30,
00481     HatchStyleDashedUpwardDiagonal = 31,
00482     HatchStyleDashedHorizontal = 32,
00483     HatchStyleDashedVertical = 33,
00484     HatchStyleSmallConfetti = 34,
00485     HatchStyleLargeConfetti = 35,
00486     HatchStyleZigZag = 36,
00487     HatchStyleWave = 37,
00488     HatchStyleDiagonalBrick = 38,
00489     HatchStyleHorizontalBrick = 39,
00490     HatchStyleWeave = 40,
00491     HatchStylePlaid = 41,
00492     HatchStyleDivot = 42,
00493     HatchStyleDottedGrid = 43,
00494     HatchStyleDottedDiamond = 44,
00495     HatchStyleShingle = 45,
00496     HatchStyleTrellis = 46,
00497     HatchStyleSphere = 47,
00498     HatchStyleSmallGrid = 48,
00499     HatchStyleSmallCheckerBoard = 49,
00500     HatchStyleLargeCheckerBoard = 50,
00501     HatchStyleOutlinedDiamond = 51,
00502     HatchStyleSolidDiamond = 52,
00503     HatchStyleTotal = 53,
00504     HatchStyleMin = HatchStyleHorizontal,
00505     HatchStyleMax = HatchStyleTotal - 1
00506 } HatchStyle;
00507 
00508 typedef enum HotkeyPrefix {
00509     HotkeyPrefixNone = 0,
00510     HotkeyPrefixShow = 1,
00511     HotkeyPrefixHide = 2
00512 } HotkeyPrefix;
00513 
00514 typedef enum ImageType {
00515     ImageTypeUnknown = 0,
00516     ImageTypeBitmap = 1,
00517     ImageTypeMetafile = 2
00518 } ImageType;
00519 
00520 /* TODO: InterpolationMode */
00521 typedef enum InterpolationMode {
00522     /*InterpolationModeInvalid = QualityModeInvalid,*/
00523     InterpolationModeDefault = 0,
00524     InterpolationModeLowQuality = 1,
00525     InterpolationModeHighQuality = 2,
00526     InterpolationModeBilinear = 3,
00527     InterpolationModeBicubic = 4,
00528     InterpolationModeNearestNeighbor = 5,
00529     InterpolationModeHighQualityBilinear = 6,
00530     InterpolationModeHighQualityBicubic = 7
00531 } InterpolationMode;
00532 
00533 typedef enum LinearGradientMode {
00534     LinearGradientModeHorizontal = 0,
00535     LinearGradientModeVertical = 1,
00536     LinearGradientModeForwardDiagonal = 2,
00537     LinearGradientModeBackwardDiagonal = 3 
00538 } LinearGradientMode;
00539 
00540 typedef enum LineCap {
00541     LineCapFlat = 0,
00542     LineCapSquare = 1,
00543     LineCapRound = 2,
00544     LineCapTriangle = 3,
00545     LineCapNoAnchor = 16,
00546     LineCapSquareAnchor = 17,
00547     LineCapRoundAnchor = 18,
00548     LineCapDiamondAnchor = 19,
00549     LineCapArrowAnchor = 20,
00550     LineCapCustom = 255
00551 } LineCap;
00552 
00553 typedef enum LineJoin {
00554     LineJoinMiter = 0,
00555     LineJoinBevel = 1,
00556     LineJoinRound = 2,
00557     LineJoinMiterClipped = 3
00558 } LineJoin;
00559 
00560 typedef enum MatrixOrder {
00561     MatrixOrderPrepend = 0,
00562     MatrixOrderAppend = 1
00563 } MatrixOrder;
00564 
00565 typedef enum MetafileFrameUnit {
00566     MetafileFrameUnitPixel = 2,
00567     MetafileFrameUnitPoint = 3,
00568     MetafileFrameUnitInch = 4,
00569     MetafileFrameUnitDocument = 5,
00570     MetafileFrameUnitMillimeter = 6,
00571     MetafileFrameUnitGdi = 7
00572 } MetafileFrameUnit;
00573 
00574 typedef enum MetafileType {
00575     MetafileTypeInvalid = 0,
00576     MetafileTypeWmf = 1,
00577     MetafileTypeWmfPlaceable = 2,
00578     MetafileTypeEmf = 3,
00579     MetafileTypeEmfPlusOnly = 4,
00580     MetafileTypeEmfPlusDual = 5
00581 } MetafileType;
00582 
00583 typedef enum ObjectType {
00584     ObjectTypeInvalid = 0,
00585     ObjectTypeBrush = 1,
00586     ObjectTypePen = 2,
00587     ObjectTypePath = 3,
00588     ObjectTypeRegion = 4,
00589     ObjectTypeFont = 5,
00590     ObjectTypeStringFormat = 6,
00591     ObjectTypeImageAttributes = 7,
00592     ObjectTypeCustomLineCap = 8,
00593     ObjectTypeGraphics = 9,
00594     ObjectTypeMin = ObjectTypeBrush,
00595     ObjectTypeMax = ObjectTypeGraphics
00596 } ObjectType;
00597 
00598 typedef enum PathPointType {
00599     PathPointTypeStart = 0x00,
00600     PathPointTypeLine = 0x01,
00601     PathPointTypeBezier = 0x03,
00602     PathPointTypeBezier3 = 0x03,
00603     PathPointTypePathTypeMask = 0x07,
00604     PathPointTypePathDashMode = 0x10,
00605     PathPointTypePathMarker = 0x20,
00606     PathPointTypeCloseSubpath = 0x80
00607 } PathPointType;
00608 
00609 typedef enum PenAlignment {
00610     PenAlignmentCenter = 0,
00611     PenAlignmentInset = 1
00612 } PenAlignment;
00613 
00614 typedef enum PenType {
00615     PenTypeUnknown = -1, 
00616     PenTypeSolidColor = 0,
00617     PenTypeHatchFill = 1,
00618     PenTypeTextureFill = 2,
00619     PenTypePathGradient = 3,
00620     PenTypeLinearGradient = 4
00621 } PenType;
00622 
00623 /* TODO: PixelOffsetMode */
00624 typedef enum PixelOffsetMode {
00625     /*PixelOffsetModeInvalid = QualityModeInvalid,*/
00626     PixelOffsetModeDefault = 0,
00627     PixelOffsetModeHighSpeed = 1,
00628     PixelOffsetModeHighQuality = 2,
00629     PixelOffsetModeNone = 3,
00630     PixelOffsetModeHalf = 4
00631 } PixelOffsetMode;
00632 
00633 /* TODO: QualityMode */
00634 typedef enum QualityMode {
00635     /*QualityModeInvalid = ?,*/
00636     QualityModeDefault = 0,
00637     QualityModeLow = 1,
00638     QualityModeHigh = 2
00639 } QualityMode;
00640 
00641 /* TODO: SmoothingMode */
00642 typedef enum SmoothingMode {
00643     /*SmoothingModeInvalid = QualityModeInvalid,*/
00644     SmoothingModeDefault = 0,
00645     SmoothingModeHighSpeed = 1,
00646     SmoothingModeHighQuality = 2,
00647     SmoothingModeNone = 3,
00648     SmoothingModeAntiAlias8x4 = 4,
00649     SmoothingModeAntiAlias = 4,
00650     SmoothingModeAntiAlias8x8 = 5
00651 } SmoothingMode;
00652 
00653 typedef enum StringAlignment {
00654     StringAlignmentNear = 0,
00655     StringAlignmentCenter = 1,
00656     StringAlignmentFar = 2
00657 } StringAlignment;
00658 
00659 typedef enum StringDigitSubstitute {
00660     StringDigitSubstituteUser = 0,
00661     StringDigitSubstituteNone = 1,
00662     StringDigitSubstituteNational = 2,
00663     StringDigitSubstituteTraditional = 3
00664 } StringDigitSubstitute;
00665 
00666 typedef enum StringFormatFlags {
00667     StringFormatFlagsDirectionRightToLeft = 0x00000001,
00668     StringFormatFlagsDirectionVertical = 0x00000002,
00669     StringFormatFlagsNoFitBlackBox = 0x00000004,
00670     StringFormatFlagsDisplayFormatControl = 0x00000020,
00671     StringFormatFlagsNoFontFallback = 0x00000400,
00672     StringFormatFlagsMeasureTrailingSpaces = 0x00000800,
00673     StringFormatFlagsNoWrap = 0x00001000,
00674     StringFormatFlagsLineLimit = 0x00002000,
00675     StringFormatFlagsNoClip = 0x00004000
00676 } StringFormatFlags;
00677 
00678 typedef enum StringTrimming {
00679     StringTrimmingNone = 0,
00680     StringTrimmingCharacter = 1,
00681     StringTrimmingWord = 2,
00682     StringTrimmingEllipsisCharacter = 3,
00683     StringTrimmingEllipsisWord = 4,
00684     StringTrimmingEllipsisPath = 5
00685 } StringTrimming;
00686 
00687 typedef enum TextRenderingHint {
00688     TextRenderingHintSystemDefault = 0,
00689     TextRenderingHintSingleBitPerPixelGridFit = 1,
00690     TextRenderingHintSingleBitPerPixel = 2,
00691     TextRenderingHintAntiAliasGridFit = 3,
00692     TextRenderingHintAntiAlias = 4,
00693     TextRenderingHintClearTypeGridFit = 5
00694 } TextRenderingHint;
00695 
00696 typedef enum Unit {
00697     UnitWorld = 0,
00698     UnitDisplay = 1,
00699     UnitPixel = 2,
00700     UnitPoint = 3,
00701     UnitInch = 4,
00702     UnitDocument = 5,
00703     UnitMillimeter = 6
00704 } Unit;
00705 
00706 typedef enum WarpMode {
00707     WarpModePerspective = 0,
00708     WarpModeBilinear = 1
00709 } WarpMode;
00710 
00711 typedef enum WrapMode {
00712     WrapModeTile = 0,
00713     WrapModeTileFlipX = 1,
00714     WrapModeTileFlipY = 2,
00715     WrapModeTileFlipXY = 3,
00716     WrapModeClamp = 4
00717 } WrapMode;
00718 
00719 typedef enum GpTestControlEnum {
00720     TestControlForceBilinear = 0,
00721     TestControlForceNoICM = 1,
00722     TestControlGetBuildNumber = 2
00723 } GpTestControlEnum;
00724 
00725 /* Opaque handles to information blocks on an internal GDI+ stack. */
00726 typedef DWORD GraphicsContainer;
00727 typedef DWORD GraphicsState;
00728 
00729 /* Default flatness for GraphicsPath methods Flatten, Outline, Warp, Widen */
00730 /* FIXME: Is FlatnessDefault = 0.25f correct? */
00731 #ifdef __cplusplus
00732 const REAL FlatnessDefault = 0.25f;
00733 #else
00734 #define FlatnessDefault ((REAL) 0.25f)
00735 #endif
00736 
00737 static __inline__ BOOL ObjectTypeIsValid(ObjectType type)
00738 {
00739     switch (type) {
00740         case ObjectTypeBrush:
00741         case ObjectTypePen:
00742         case ObjectTypePath:
00743         case ObjectTypeRegion:
00744         case ObjectTypeFont:
00745         case ObjectTypeStringFormat:
00746         case ObjectTypeImageAttributes:
00747         case ObjectTypeCustomLineCap:
00748         case ObjectTypeGraphics:
00749             return TRUE;
00750         default:
00751             return FALSE;
00752     }
00753 }
00754 
00755 #endif /* __GDIPLUS_ENUMS_H */