1 /* 2 * gdiplusenums.h 3 * 4 * GDI+ enumerations 5 * 6 * This file is part of the w32api package. 7 * 8 * Contributors: 9 * Created by Markus Koenig <markus (at) stber-koenig.de> 10 * 11 * THIS SOFTWARE IS NOT COPYRIGHTED 12 * 13 * This source code is offered for use in the public domain. You may 14 * use, modify or distribute it freely. 15 * 16 * This code is distributed in the hope that it will be useful but 17 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY 18 * DISCLAIMED. This includes but is not limited to warranties of 19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 20 * 21 */ 22 23 #ifndef __GDIPLUS_ENUMS_H 24 #define __GDIPLUS_ENUMS_H 25 #if __GNUC__ >=3 26 #pragma GCC system_header 27 #endif 28 29 typedef enum BrushType { 30 BrushTypeSolidColor = 0, 31 BrushTypeHatchFill = 1, 32 BrushTypeTextureFill = 2, 33 BrushTypePathGradient = 3, 34 BrushTypeLinearGradient = 4 35 } BrushType; 36 37 typedef enum CombineMode { 38 CombineModeReplace = 0, 39 CombineModeIntersect = 1, 40 CombineModeUnion = 2, 41 CombineModeXor = 3, 42 CombineModeExclude = 4, 43 CombineModeComplement = 5 44 } CombineMode; 45 46 typedef enum CompositingMode { 47 CompositingModeSourceOver = 0, 48 CompositingModeSourceCopy = 1 49 } CompositingMode; 50 51 typedef enum CompositingQuality { 52 CompositingQualityDefault = 0, 53 CompositingQualityHighSpeed = 1, 54 CompositingQualityHighQuality = 2, 55 CompositingQualityGammaCorrected = 3, 56 CompositingQualityAssumeLinear = 4 57 } CompositingQuality; 58 59 typedef enum CoordinateSpace { 60 CoordinateSpaceWorld = 0, 61 CoordinateSpacePage = 1, 62 CoordinateSpaceDevice = 2 63 } CoordinateSpace; 64 65 typedef enum CustomLineCapType { 66 CustomLineCapTypeDefault = 0, 67 CustomLineCapTypeAdjustableArrow = 1 68 } CustomLineCapType; 69 70 typedef enum DashCap { 71 DashCapFlat = 0, 72 DashCapRound = 2, 73 DashCapTriangle = 3 74 } DashCap; 75 76 typedef enum DashStyle { 77 DashStyleSolid = 0, 78 DashStyleDash = 1, 79 DashStyleDot = 2, 80 DashStyleDashDot = 3, 81 DashStyleDashDotDot = 4, 82 DashStyleCustom = 5 83 } DashStyle; 84 85 typedef enum DitherType { 86 DitherTypeNone = 0, 87 DitherTypeSolid = 1, 88 DitherTypeOrdered4x4 = 2, 89 DitherTypeOrdered8x8 = 3, 90 DitherTypeOrdered16x16 = 4, 91 DitherTypeOrdered91x91 = 5, 92 DitherTypeSpiral4x4 = 6, 93 DitherTypeSpiral8x8 = 7, 94 DitherTypeDualSpiral4x4 = 8, 95 DitherTypeDualSpiral8x8 = 9, 96 DitherTypeErrorDiffusion = 10 97 } DitherType; 98 99 typedef enum DriverStringOptions { 100 DriverStringOptionsCmapLookup = 1, 101 DriverStringOptionsVertical = 2, 102 DriverStringOptionsRealizedAdvance = 4, 103 DriverStringOptionsLimitSubpixel = 8 104 } DriverStringOptions; 105 106 #define GDIP_WMF_RECORD_TO_EMFPLUS(meta) ((meta) | 0x10000) 107 #define GDIP_EMFPLUS_RECORD_BASE (0x4000) 108 typedef enum EmfPlusRecordType { 109 WmfRecordTypeSetBkColor = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETBKCOLOR), 110 WmfRecordTypeSetBkMode = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETBKMODE), 111 WmfRecordTypeSetMapMode = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETMAPMODE), 112 WmfRecordTypeSetROP2 = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETROP2), 113 WmfRecordTypeSetRelAbs = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETRELABS), 114 WmfRecordTypeSetPolyFillMode = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETPOLYFILLMODE), 115 WmfRecordTypeSetStretchBltMode = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETSTRETCHBLTMODE), 116 WmfRecordTypeSetTextCharExtra = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETTEXTCHAREXTRA), 117 WmfRecordTypeSetTextColor = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETTEXTCOLOR), 118 WmfRecordTypeSetTextJustification = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETTEXTJUSTIFICATION), 119 WmfRecordTypeSetWindowOrg = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETWINDOWORG), 120 WmfRecordTypeSetWindowExt = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETWINDOWEXT), 121 WmfRecordTypeSetViewportOrg = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETVIEWPORTORG), 122 WmfRecordTypeSetViewportExt = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETVIEWPORTEXT), 123 WmfRecordTypeOffsetWindowOrg = GDIP_WMF_RECORD_TO_EMFPLUS(META_OFFSETWINDOWORG), 124 WmfRecordTypeScaleWindowExt = GDIP_WMF_RECORD_TO_EMFPLUS(META_SCALEWINDOWEXT), 125 WmfRecordTypeOffsetViewportOrg = GDIP_WMF_RECORD_TO_EMFPLUS(META_OFFSETVIEWPORTORG), 126 WmfRecordTypeScaleViewportExt = GDIP_WMF_RECORD_TO_EMFPLUS(META_SCALEVIEWPORTEXT), 127 WmfRecordTypeLineTo = GDIP_WMF_RECORD_TO_EMFPLUS(META_LINETO), 128 WmfRecordTypeMoveTo = GDIP_WMF_RECORD_TO_EMFPLUS(META_MOVETO), 129 WmfRecordTypeExcludeClipRect = GDIP_WMF_RECORD_TO_EMFPLUS(META_EXCLUDECLIPRECT), 130 WmfRecordTypeIntersectClipRect = GDIP_WMF_RECORD_TO_EMFPLUS(META_INTERSECTCLIPRECT), 131 WmfRecordTypeArc = GDIP_WMF_RECORD_TO_EMFPLUS(META_ARC), 132 WmfRecordTypeEllipse = GDIP_WMF_RECORD_TO_EMFPLUS(META_ELLIPSE), 133 WmfRecordTypeFloodFill = GDIP_WMF_RECORD_TO_EMFPLUS(META_FLOODFILL), 134 WmfRecordTypePie = GDIP_WMF_RECORD_TO_EMFPLUS(META_PIE), 135 WmfRecordTypeRectangle = GDIP_WMF_RECORD_TO_EMFPLUS(META_RECTANGLE), 136 WmfRecordTypeRoundRect = GDIP_WMF_RECORD_TO_EMFPLUS(META_ROUNDRECT), 137 WmfRecordTypePatBlt = GDIP_WMF_RECORD_TO_EMFPLUS(META_PATBLT), 138 WmfRecordTypeSaveDC = GDIP_WMF_RECORD_TO_EMFPLUS(META_SAVEDC), 139 WmfRecordTypeSetPixel = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETPIXEL), 140 WmfRecordTypeOffsetClipRgn = GDIP_WMF_RECORD_TO_EMFPLUS(META_OFFSETCLIPRGN), 141 WmfRecordTypeTextOut = GDIP_WMF_RECORD_TO_EMFPLUS(META_TEXTOUT), 142 WmfRecordTypeBitBlt = GDIP_WMF_RECORD_TO_EMFPLUS(META_BITBLT), 143 WmfRecordTypeStretchBlt = GDIP_WMF_RECORD_TO_EMFPLUS(META_STRETCHBLT), 144 WmfRecordTypePolygon = GDIP_WMF_RECORD_TO_EMFPLUS(META_POLYGON), 145 WmfRecordTypePolyline = GDIP_WMF_RECORD_TO_EMFPLUS(META_POLYLINE), 146 WmfRecordTypeEscape = GDIP_WMF_RECORD_TO_EMFPLUS(META_ESCAPE), 147 WmfRecordTypeRestoreDC = GDIP_WMF_RECORD_TO_EMFPLUS(META_RESTOREDC), 148 WmfRecordTypeFillRegion = GDIP_WMF_RECORD_TO_EMFPLUS(META_FILLREGION), 149 WmfRecordTypeFrameRegion = GDIP_WMF_RECORD_TO_EMFPLUS(META_FRAMEREGION), 150 WmfRecordTypeInvertRegion = GDIP_WMF_RECORD_TO_EMFPLUS(META_INVERTREGION), 151 WmfRecordTypePaintRegion = GDIP_WMF_RECORD_TO_EMFPLUS(META_PAINTREGION), 152 WmfRecordTypeSelectClipRegion = GDIP_WMF_RECORD_TO_EMFPLUS(META_SELECTCLIPREGION), 153 WmfRecordTypeSelectObject = GDIP_WMF_RECORD_TO_EMFPLUS(META_SELECTOBJECT), 154 WmfRecordTypeSetTextAlign = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETTEXTALIGN), 155 WmfRecordTypeDrawText = GDIP_WMF_RECORD_TO_EMFPLUS(0x062F), 156 WmfRecordTypeChord = GDIP_WMF_RECORD_TO_EMFPLUS(META_CHORD), 157 WmfRecordTypeSetMapperFlags = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETMAPPERFLAGS), 158 WmfRecordTypeExtTextOut = GDIP_WMF_RECORD_TO_EMFPLUS(META_EXTTEXTOUT), 159 WmfRecordTypeSetDIBToDev = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETDIBTODEV), 160 WmfRecordTypeSelectPalette = GDIP_WMF_RECORD_TO_EMFPLUS(META_SELECTPALETTE), 161 WmfRecordTypeRealizePalette = GDIP_WMF_RECORD_TO_EMFPLUS(META_REALIZEPALETTE), 162 WmfRecordTypeAnimatePalette = GDIP_WMF_RECORD_TO_EMFPLUS(META_ANIMATEPALETTE), 163 WmfRecordTypeSetPalEntries = GDIP_WMF_RECORD_TO_EMFPLUS(META_SETPALENTRIES), 164 WmfRecordTypePolyPolygon = GDIP_WMF_RECORD_TO_EMFPLUS(META_POLYPOLYGON), 165 WmfRecordTypeResizePalette = GDIP_WMF_RECORD_TO_EMFPLUS(META_RESIZEPALETTE), 166 WmfRecordTypeDIBBitBlt = GDIP_WMF_RECORD_TO_EMFPLUS(META_DIBBITBLT), 167 WmfRecordTypeDIBStretchBlt = GDIP_WMF_RECORD_TO_EMFPLUS(META_DIBSTRETCHBLT), 168 WmfRecordTypeDIBCreatePatternBrush = GDIP_WMF_RECORD_TO_EMFPLUS(META_DIBCREATEPATTERNBRUSH), 169 WmfRecordTypeStretchDIB = GDIP_WMF_RECORD_TO_EMFPLUS(META_STRETCHDIB), 170 WmfRecordTypeExtFloodFill = GDIP_WMF_RECORD_TO_EMFPLUS(META_EXTFLOODFILL), 171 WmfRecordTypeSetLayout = GDIP_WMF_RECORD_TO_EMFPLUS(0x0149), 172 WmfRecordTypeResetDC = GDIP_WMF_RECORD_TO_EMFPLUS(0x014C), 173 WmfRecordTypeStartDoc = GDIP_WMF_RECORD_TO_EMFPLUS(0x014D), 174 WmfRecordTypeStartPage = GDIP_WMF_RECORD_TO_EMFPLUS(0x004F), 175 WmfRecordTypeEndPage = GDIP_WMF_RECORD_TO_EMFPLUS(0x0050), 176 WmfRecordTypeAbortDoc = GDIP_WMF_RECORD_TO_EMFPLUS(0x0052), 177 WmfRecordTypeEndDoc = GDIP_WMF_RECORD_TO_EMFPLUS(0x005E), 178 WmfRecordTypeDeleteObject = GDIP_WMF_RECORD_TO_EMFPLUS(META_DELETEOBJECT), 179 WmfRecordTypeCreatePalette = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEPALETTE), 180 WmfRecordTypeCreateBrush = GDIP_WMF_RECORD_TO_EMFPLUS(0x00F8), 181 WmfRecordTypeCreatePatternBrush = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEPATTERNBRUSH), 182 WmfRecordTypeCreatePenIndirect = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEPENINDIRECT), 183 WmfRecordTypeCreateFontIndirect = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEFONTINDIRECT), 184 WmfRecordTypeCreateBrushIndirect = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEBRUSHINDIRECT), 185 WmfRecordTypeCreateBitmapIndirect = GDIP_WMF_RECORD_TO_EMFPLUS(0x02FD), 186 WmfRecordTypeCreateBitmap = GDIP_WMF_RECORD_TO_EMFPLUS(0x06FE), 187 WmfRecordTypeCreateRegion = GDIP_WMF_RECORD_TO_EMFPLUS(META_CREATEREGION), 188 EmfRecordTypeHeader = EMR_HEADER, 189 EmfRecordTypePolyBezier = EMR_POLYBEZIER, 190 EmfRecordTypePolygon = EMR_POLYGON, 191 EmfRecordTypePolyline = EMR_POLYLINE, 192 EmfRecordTypePolyBezierTo = EMR_POLYBEZIERTO, 193 EmfRecordTypePolyLineTo = EMR_POLYLINETO, 194 EmfRecordTypePolyPolyline = EMR_POLYPOLYLINE, 195 EmfRecordTypePolyPolygon = EMR_POLYPOLYGON, 196 EmfRecordTypeSetWindowExtEx = EMR_SETWINDOWEXTEX, 197 EmfRecordTypeSetWindowOrgEx = EMR_SETWINDOWORGEX, 198 EmfRecordTypeSetViewportExtEx = EMR_SETVIEWPORTEXTEX, 199 EmfRecordTypeSetViewportOrgEx = EMR_SETVIEWPORTORGEX, 200 EmfRecordTypeSetBrushOrgEx = EMR_SETBRUSHORGEX, 201 EmfRecordTypeEOF = EMR_EOF, 202 EmfRecordTypeSetPixelV = EMR_SETPIXELV, 203 EmfRecordTypeSetMapperFlags = EMR_SETMAPPERFLAGS, 204 EmfRecordTypeSetMapMode = EMR_SETMAPMODE, 205 EmfRecordTypeSetBkMode = EMR_SETBKMODE, 206 EmfRecordTypeSetPolyFillMode = EMR_SETPOLYFILLMODE, 207 EmfRecordTypeSetROP2 = EMR_SETROP2, 208 EmfRecordTypeSetStretchBltMode = EMR_SETSTRETCHBLTMODE, 209 EmfRecordTypeSetTextAlign = EMR_SETTEXTALIGN, 210 EmfRecordTypeSetColorAdjustment = EMR_SETCOLORADJUSTMENT, 211 EmfRecordTypeSetTextColor = EMR_SETTEXTCOLOR, 212 EmfRecordTypeSetBkColor = EMR_SETBKCOLOR, 213 EmfRecordTypeOffsetClipRgn = EMR_OFFSETCLIPRGN, 214 EmfRecordTypeMoveToEx = EMR_MOVETOEX, 215 EmfRecordTypeSetMetaRgn = EMR_SETMETARGN, 216 EmfRecordTypeExcludeClipRect = EMR_EXCLUDECLIPRECT, 217 EmfRecordTypeIntersectClipRect = EMR_INTERSECTCLIPRECT, 218 EmfRecordTypeScaleViewportExtEx = EMR_SCALEVIEWPORTEXTEX, 219 EmfRecordTypeScaleWindowExtEx = EMR_SCALEWINDOWEXTEX, 220 EmfRecordTypeSaveDC = EMR_SAVEDC, 221 EmfRecordTypeRestoreDC = EMR_RESTOREDC, 222 EmfRecordTypeSetWorldTransform = EMR_SETWORLDTRANSFORM, 223 EmfRecordTypeModifyWorldTransform = EMR_MODIFYWORLDTRANSFORM, 224 EmfRecordTypeSelectObject = EMR_SELECTOBJECT, 225 EmfRecordTypeCreatePen = EMR_CREATEPEN, 226 EmfRecordTypeCreateBrushIndirect = EMR_CREATEBRUSHINDIRECT, 227 EmfRecordTypeDeleteObject = EMR_DELETEOBJECT, 228 EmfRecordTypeAngleArc = EMR_ANGLEARC, 229 EmfRecordTypeEllipse = EMR_ELLIPSE, 230 EmfRecordTypeRectangle = EMR_RECTANGLE, 231 EmfRecordTypeRoundRect = EMR_ROUNDRECT, 232 EmfRecordTypeArc = EMR_ARC, 233 EmfRecordTypeChord = EMR_CHORD, 234 EmfRecordTypePie = EMR_PIE, 235 EmfRecordTypeSelectPalette = EMR_SELECTPALETTE, 236 EmfRecordTypeCreatePalette = EMR_CREATEPALETTE, 237 EmfRecordTypeSetPaletteEntries = EMR_SETPALETTEENTRIES, 238 EmfRecordTypeResizePalette = EMR_RESIZEPALETTE, 239 EmfRecordTypeRealizePalette = EMR_REALIZEPALETTE, 240 EmfRecordTypeExtFloodFill = EMR_EXTFLOODFILL, 241 EmfRecordTypeLineTo = EMR_LINETO, 242 EmfRecordTypeArcTo = EMR_ARCTO, 243 EmfRecordTypePolyDraw = EMR_POLYDRAW, 244 EmfRecordTypeSetArcDirection = EMR_SETARCDIRECTION, 245 EmfRecordTypeSetMiterLimit = EMR_SETMITERLIMIT, 246 EmfRecordTypeBeginPath = EMR_BEGINPATH, 247 EmfRecordTypeEndPath = EMR_ENDPATH, 248 EmfRecordTypeCloseFigure = EMR_CLOSEFIGURE, 249 EmfRecordTypeFillPath = EMR_FILLPATH, 250 EmfRecordTypeStrokeAndFillPath = EMR_STROKEANDFILLPATH, 251 EmfRecordTypeStrokePath = EMR_STROKEPATH, 252 EmfRecordTypeFlattenPath = EMR_FLATTENPATH, 253 EmfRecordTypeWidenPath = EMR_WIDENPATH, 254 EmfRecordTypeSelectClipPath = EMR_SELECTCLIPPATH, 255 EmfRecordTypeAbortPath = EMR_ABORTPATH, 256 EmfRecordTypeReserved_069 = 69, 257 EmfRecordTypeGdiComment = EMR_GDICOMMENT, 258 EmfRecordTypeFillRgn = EMR_FILLRGN, 259 EmfRecordTypeFrameRgn = EMR_FRAMERGN, 260 EmfRecordTypeInvertRgn = EMR_INVERTRGN, 261 EmfRecordTypePaintRgn = EMR_PAINTRGN, 262 EmfRecordTypeExtSelectClipRgn = EMR_EXTSELECTCLIPRGN, 263 EmfRecordTypeBitBlt = EMR_BITBLT, 264 EmfRecordTypeStretchBlt = EMR_STRETCHBLT, 265 EmfRecordTypeMaskBlt = EMR_MASKBLT, 266 EmfRecordTypePlgBlt = EMR_PLGBLT, 267 EmfRecordTypeSetDIBitsToDevice = EMR_SETDIBITSTODEVICE, 268 EmfRecordTypeStretchDIBits = EMR_STRETCHDIBITS, 269 EmfRecordTypeExtCreateFontIndirect = EMR_EXTCREATEFONTINDIRECTW, 270 EmfRecordTypeExtTextOutA = EMR_EXTTEXTOUTA, 271 EmfRecordTypeExtTextOutW = EMR_EXTTEXTOUTW, 272 EmfRecordTypePolyBezier16 = EMR_POLYBEZIER16, 273 EmfRecordTypePolygon16 = EMR_POLYGON16, 274 EmfRecordTypePolyline16 = EMR_POLYLINE16, 275 EmfRecordTypePolyBezierTo16 = EMR_POLYBEZIERTO16, 276 EmfRecordTypePolylineTo16 = EMR_POLYLINETO16, 277 EmfRecordTypePolyPolyline16 = EMR_POLYPOLYLINE16, 278 EmfRecordTypePolyPolygon16 = EMR_POLYPOLYGON16, 279 EmfRecordTypePolyDraw16 = EMR_POLYDRAW16, 280 EmfRecordTypeCreateMonoBrush = EMR_CREATEMONOBRUSH, 281 EmfRecordTypeCreateDIBPatternBrushPt = EMR_CREATEDIBPATTERNBRUSHPT, 282 EmfRecordTypeExtCreatePen = EMR_EXTCREATEPEN, 283 EmfRecordTypePolyTextOutA = EMR_POLYTEXTOUTA, 284 EmfRecordTypePolyTextOutW = EMR_POLYTEXTOUTW, 285 EmfRecordTypeSetICMMode = 98, 286 EmfRecordTypeCreateColorSpace = 99, 287 EmfRecordTypeSetColorSpace = 100, 288 EmfRecordTypeDeleteColorSpace = 101, 289 EmfRecordTypeGLSRecord = 102, 290 EmfRecordTypeGLSBoundedRecord = 103, 291 EmfRecordTypePixelFormat = 104, 292 EmfRecordTypeDrawEscape = 105, 293 EmfRecordTypeExtEscape = 106, 294 EmfRecordTypeStartDoc = 107, 295 EmfRecordTypeSmallTextOut = 108, 296 EmfRecordTypeForceUFIMapping = 109, 297 EmfRecordTypeNamedEscape = 110, 298 EmfRecordTypeColorCorrectPalette = 111, 299 EmfRecordTypeSetICMProfileA = 112, 300 EmfRecordTypeSetICMProfileW = 113, 301 EmfRecordTypeAlphaBlend = 114, 302 EmfRecordTypeSetLayout = 115, 303 EmfRecordTypeTransparentBlt = 116, 304 EmfRecordTypeReserved_117 = 117, 305 EmfRecordTypeGradientFill = 118, 306 EmfRecordTypeSetLinkedUFIs = 119, 307 EmfRecordTypeSetTextJustification = 120, 308 EmfRecordTypeColorMatchToTargetW = 121, 309 EmfRecordTypeCreateColorSpaceW = 122, 310 EmfRecordTypeMax = 122, 311 EmfRecordTypeMin = 1, 312 EmfPlusRecordTypeInvalid = GDIP_EMFPLUS_RECORD_BASE, 313 EmfPlusRecordTypeHeader, 314 EmfPlusRecordTypeEndOfFile, 315 EmfPlusRecordTypeComment, 316 EmfPlusRecordTypeGetDC, 317 EmfPlusRecordTypeMultiFormatStart, 318 EmfPlusRecordTypeMultiFormatSection, 319 EmfPlusRecordTypeMultiFormatEnd, 320 EmfPlusRecordTypeObject, 321 EmfPlusRecordTypeClear, 322 EmfPlusRecordTypeFillRects, 323 EmfPlusRecordTypeDrawRects, 324 EmfPlusRecordTypeFillPolygon, 325 EmfPlusRecordTypeDrawLines, 326 EmfPlusRecordTypeFillEllipse, 327 EmfPlusRecordTypeDrawEllipse, 328 EmfPlusRecordTypeFillPie, 329 EmfPlusRecordTypeDrawPie, 330 EmfPlusRecordTypeDrawArc, 331 EmfPlusRecordTypeFillRegion, 332 EmfPlusRecordTypeFillPath, 333 EmfPlusRecordTypeDrawPath, 334 EmfPlusRecordTypeFillClosedCurve, 335 EmfPlusRecordTypeDrawClosedCurve, 336 EmfPlusRecordTypeDrawCurve, 337 EmfPlusRecordTypeDrawBeziers, 338 EmfPlusRecordTypeDrawImage, 339 EmfPlusRecordTypeDrawImagePoints, 340 EmfPlusRecordTypeDrawString, 341 EmfPlusRecordTypeSetRenderingOrigin, 342 EmfPlusRecordTypeSetAntiAliasMode, 343 EmfPlusRecordTypeSetTextRenderingHint, 344 EmfPlusRecordTypeSetTextContrast, 345 EmfPlusRecordTypeSetGammaValue, 346 EmfPlusRecordTypeSetInterpolationMode, 347 EmfPlusRecordTypeSetPixelOffsetMode, 348 EmfPlusRecordTypeSetCompositingMode, 349 EmfPlusRecordTypeSetCompositingQuality, 350 EmfPlusRecordTypeSave, 351 EmfPlusRecordTypeRestore, 352 EmfPlusRecordTypeBeginContainer, 353 EmfPlusRecordTypeBeginContainerNoParams, 354 EmfPlusRecordTypeEndContainer, 355 EmfPlusRecordTypeSetWorldTransform, 356 EmfPlusRecordTypeResetWorldTransform, 357 EmfPlusRecordTypeMultiplyWorldTransform, 358 EmfPlusRecordTypeTranslateWorldTransform, 359 EmfPlusRecordTypeScaleWorldTransform, 360 EmfPlusRecordTypeRotateWorldTransform, 361 EmfPlusRecordTypeSetPageTransform, 362 EmfPlusRecordTypeResetClip, 363 EmfPlusRecordTypeSetClipRect, 364 EmfPlusRecordTypeSetClipPath, 365 EmfPlusRecordTypeSetClipRegion, 366 EmfPlusRecordTypeOffsetClip, 367 EmfPlusRecordTypeDrawDriverString, 368 EmfPlusRecordTypeStrokeFillPath, 369 EmfPlusRecordTypeSerializableObject, 370 EmfPlusRecordTypeSetTSGraphics, 371 EmfPlusRecordTypeSetTSClip, 372 EmfPlusRecordTotal, 373 EmfPlusRecordTypeMax = EmfPlusRecordTotal-1, 374 EmfPlusRecordTypeMin = EmfPlusRecordTypeHeader 375 } EmfPlusRecordType; 376 377 typedef enum EmfToWmfBitsFlags { 378 EmfToWmfBitsFlagsDefault = 0, 379 EmfToWmfBitsFlagsEmbedEmf = 1, 380 EmfToWmfBitsFlagsIncludePlaceable = 2, 381 EmfToWmfBitsFlagsNoXORClip = 4 382 } EmfToWmfBitsFlags; 383 384 typedef enum EmfType { 385 EmfTypeEmfOnly = 3, 386 EmfTypeEmfPlusOnly = 4, 387 EmfTypeEmfPlusDual = 5 388 } EmfType; 389 390 typedef enum EncoderParameterValueType { 391 EncoderParameterValueTypeByte = 1, 392 EncoderParameterValueTypeASCII = 2, 393 EncoderParameterValueTypeShort = 3, 394 EncoderParameterValueTypeLong = 4, 395 EncoderParameterValueTypeRational = 5, 396 EncoderParameterValueTypeLongRange = 6, 397 EncoderParameterValueTypeUndefined = 7, 398 EncoderParameterValueTypeRationalRange = 8, 399 EncoderParameterValueTypePointer = 9 400 } EncoderParameterValueType; 401 402 typedef enum EncoderValue { 403 EncoderValueColorTypeCMYK = 0, 404 EncoderValueColorTypeYCCK = 1, 405 EncoderValueCompressionLZW = 2, 406 EncoderValueCompressionCCITT3 = 3, 407 EncoderValueCompressionCCITT4 = 4, 408 EncoderValueCompressionRle = 5, 409 EncoderValueCompressionNone = 6, 410 EncoderValueScanMethodInterlaced = 7, 411 EncoderValueScanMethodNonInterlaced = 8, 412 EncoderValueVersionGif87 = 9, 413 EncoderValueVersionGif89 = 10, 414 EncoderValueRenderProgressive = 11, 415 EncoderValueRenderNonProgressive = 12, 416 EncoderValueTransformRotate90 = 13, 417 EncoderValueTransformRotate180 = 14, 418 EncoderValueTransformRotate270 = 15, 419 EncoderValueTransformFlipHorizontal = 16, 420 EncoderValueTransformFlipVertical = 17, 421 EncoderValueMultiFrame = 18, 422 EncoderValueLastFrame = 19, 423 EncoderValueFlush = 20, 424 EncoderValueFrameDimensionTime = 21, 425 EncoderValueFrameDimensionResolution = 22, 426 EncoderValueFrameDimensionPage = 23 427 } EncoderValue; 428 429 typedef enum FillMode { 430 FillModeAlternate = 0, 431 FillModeWinding = 1 432 } FillMode; 433 434 typedef enum FlushIntention { 435 FlushIntentionFlush = 0, 436 FlushIntentionSync = 1 437 } FlushIntention; 438 439 typedef enum FontStyle { 440 FontStyleRegular = 0, 441 FontStyleBold = 1, 442 FontStyleItalic = 2, 443 FontStyleBoldItalic = 3, 444 FontStyleUnderline = 4, 445 FontStyleStrikeout = 8 446 } FontStyle; 447 448 typedef enum HatchStyle { 449 HatchStyleHorizontal = 0, 450 HatchStyleVertical = 1, 451 HatchStyleForwardDiagonal = 2, 452 HatchStyleBackwardDiagonal = 3, 453 HatchStyleCross = 4, 454 HatchStyleLargeGrid = 4, 455 HatchStyleDiagonalCross = 5, 456 HatchStyle05Percent = 6, 457 HatchStyle10Percent = 7, 458 HatchStyle20Percent = 8, 459 HatchStyle25Percent = 9, 460 HatchStyle30Percent = 10, 461 HatchStyle40Percent = 11, 462 HatchStyle50Percent = 12, 463 HatchStyle60Percent = 13, 464 HatchStyle70Percent = 14, 465 HatchStyle75Percent = 15, 466 HatchStyle80Percent = 16, 467 HatchStyle90Percent = 17, 468 HatchStyleLightDownwardDiagonal = 18, 469 HatchStyleLightUpwardDiagonal = 19, 470 HatchStyleDarkDownwardDiagonal = 20, 471 HatchStyleDarkUpwardDiagonal = 21, 472 HatchStyleWideDownwardDiagonal = 22, 473 HatchStyleWideUpwardDiagonal = 23, 474 HatchStyleLightVertical = 24, 475 HatchStyleLightHorizontal = 25, 476 HatchStyleNarrowVertical = 26, 477 HatchStyleNarrowHorizontal = 27, 478 HatchStyleDarkVertical = 28, 479 HatchStyleDarkHorizontal = 29, 480 HatchStyleDashedDownwardDiagonal = 30, 481 HatchStyleDashedUpwardDiagonal = 31, 482 HatchStyleDashedHorizontal = 32, 483 HatchStyleDashedVertical = 33, 484 HatchStyleSmallConfetti = 34, 485 HatchStyleLargeConfetti = 35, 486 HatchStyleZigZag = 36, 487 HatchStyleWave = 37, 488 HatchStyleDiagonalBrick = 38, 489 HatchStyleHorizontalBrick = 39, 490 HatchStyleWeave = 40, 491 HatchStylePlaid = 41, 492 HatchStyleDivot = 42, 493 HatchStyleDottedGrid = 43, 494 HatchStyleDottedDiamond = 44, 495 HatchStyleShingle = 45, 496 HatchStyleTrellis = 46, 497 HatchStyleSphere = 47, 498 HatchStyleSmallGrid = 48, 499 HatchStyleSmallCheckerBoard = 49, 500 HatchStyleLargeCheckerBoard = 50, 501 HatchStyleOutlinedDiamond = 51, 502 HatchStyleSolidDiamond = 52, 503 HatchStyleTotal = 53, 504 HatchStyleMin = HatchStyleHorizontal, 505 HatchStyleMax = HatchStyleTotal - 1 506 } HatchStyle; 507 508 typedef enum HotkeyPrefix { 509 HotkeyPrefixNone = 0, 510 HotkeyPrefixShow = 1, 511 HotkeyPrefixHide = 2 512 } HotkeyPrefix; 513 514 typedef enum ImageType { 515 ImageTypeUnknown = 0, 516 ImageTypeBitmap = 1, 517 ImageTypeMetafile = 2 518 } ImageType; 519 520 /* TODO: InterpolationMode */ 521 typedef enum InterpolationMode { 522 /*InterpolationModeInvalid = QualityModeInvalid,*/ 523 InterpolationModeDefault = 0, 524 InterpolationModeLowQuality = 1, 525 InterpolationModeHighQuality = 2, 526 InterpolationModeBilinear = 3, 527 InterpolationModeBicubic = 4, 528 InterpolationModeNearestNeighbor = 5, 529 InterpolationModeHighQualityBilinear = 6, 530 InterpolationModeHighQualityBicubic = 7 531 } InterpolationMode; 532 533 typedef enum LinearGradientMode { 534 LinearGradientModeHorizontal = 0, 535 LinearGradientModeVertical = 1, 536 LinearGradientModeForwardDiagonal = 2, 537 LinearGradientModeBackwardDiagonal = 3 538 } LinearGradientMode; 539 540 typedef enum LineCap { 541 LineCapFlat = 0, 542 LineCapSquare = 1, 543 LineCapRound = 2, 544 LineCapTriangle = 3, 545 LineCapNoAnchor = 16, 546 LineCapSquareAnchor = 17, 547 LineCapRoundAnchor = 18, 548 LineCapDiamondAnchor = 19, 549 LineCapArrowAnchor = 20, 550 LineCapCustom = 255 551 } LineCap; 552 553 typedef enum LineJoin { 554 LineJoinMiter = 0, 555 LineJoinBevel = 1, 556 LineJoinRound = 2, 557 LineJoinMiterClipped = 3 558 } LineJoin; 559 560 typedef enum MatrixOrder { 561 MatrixOrderPrepend = 0, 562 MatrixOrderAppend = 1 563 } MatrixOrder; 564 565 typedef enum MetafileFrameUnit { 566 MetafileFrameUnitPixel = 2, 567 MetafileFrameUnitPoint = 3, 568 MetafileFrameUnitInch = 4, 569 MetafileFrameUnitDocument = 5, 570 MetafileFrameUnitMillimeter = 6, 571 MetafileFrameUnitGdi = 7 572 } MetafileFrameUnit; 573 574 typedef enum MetafileType { 575 MetafileTypeInvalid = 0, 576 MetafileTypeWmf = 1, 577 MetafileTypeWmfPlaceable = 2, 578 MetafileTypeEmf = 3, 579 MetafileTypeEmfPlusOnly = 4, 580 MetafileTypeEmfPlusDual = 5 581 } MetafileType; 582 583 typedef enum ObjectType { 584 ObjectTypeInvalid = 0, 585 ObjectTypeBrush = 1, 586 ObjectTypePen = 2, 587 ObjectTypePath = 3, 588 ObjectTypeRegion = 4, 589 ObjectTypeFont = 5, 590 ObjectTypeStringFormat = 6, 591 ObjectTypeImageAttributes = 7, 592 ObjectTypeCustomLineCap = 8, 593 ObjectTypeGraphics = 9, 594 ObjectTypeMin = ObjectTypeBrush, 595 ObjectTypeMax = ObjectTypeGraphics 596 } ObjectType; 597 598 typedef enum PathPointType { 599 PathPointTypeStart = 0x00, 600 PathPointTypeLine = 0x01, 601 PathPointTypeBezier = 0x03, 602 PathPointTypeBezier3 = 0x03, 603 PathPointTypePathTypeMask = 0x07, 604 PathPointTypePathDashMode = 0x10, 605 PathPointTypePathMarker = 0x20, 606 PathPointTypeCloseSubpath = 0x80 607 } PathPointType; 608 609 typedef enum PenAlignment { 610 PenAlignmentCenter = 0, 611 PenAlignmentInset = 1 612 } PenAlignment; 613 614 typedef enum PenType { 615 PenTypeUnknown = -1, 616 PenTypeSolidColor = 0, 617 PenTypeHatchFill = 1, 618 PenTypeTextureFill = 2, 619 PenTypePathGradient = 3, 620 PenTypeLinearGradient = 4 621 } PenType; 622 623 /* TODO: PixelOffsetMode */ 624 typedef enum PixelOffsetMode { 625 /*PixelOffsetModeInvalid = QualityModeInvalid,*/ 626 PixelOffsetModeDefault = 0, 627 PixelOffsetModeHighSpeed = 1, 628 PixelOffsetModeHighQuality = 2, 629 PixelOffsetModeNone = 3, 630 PixelOffsetModeHalf = 4 631 } PixelOffsetMode; 632 633 /* TODO: QualityMode */ 634 typedef enum QualityMode { 635 /*QualityModeInvalid = ?,*/ 636 QualityModeDefault = 0, 637 QualityModeLow = 1, 638 QualityModeHigh = 2 639 } QualityMode; 640 641 /* TODO: SmoothingMode */ 642 typedef enum SmoothingMode { 643 /*SmoothingModeInvalid = QualityModeInvalid,*/ 644 SmoothingModeDefault = 0, 645 SmoothingModeHighSpeed = 1, 646 SmoothingModeHighQuality = 2, 647 SmoothingModeNone = 3, 648 SmoothingModeAntiAlias8x4 = 4, 649 SmoothingModeAntiAlias = 4, 650 SmoothingModeAntiAlias8x8 = 5 651 } SmoothingMode; 652 653 typedef enum StringAlignment { 654 StringAlignmentNear = 0, 655 StringAlignmentCenter = 1, 656 StringAlignmentFar = 2 657 } StringAlignment; 658 659 typedef enum StringDigitSubstitute { 660 StringDigitSubstituteUser = 0, 661 StringDigitSubstituteNone = 1, 662 StringDigitSubstituteNational = 2, 663 StringDigitSubstituteTraditional = 3 664 } StringDigitSubstitute; 665 666 typedef enum StringFormatFlags { 667 StringFormatFlagsDirectionRightToLeft = 0x00000001, 668 StringFormatFlagsDirectionVertical = 0x00000002, 669 StringFormatFlagsNoFitBlackBox = 0x00000004, 670 StringFormatFlagsDisplayFormatControl = 0x00000020, 671 StringFormatFlagsNoFontFallback = 0x00000400, 672 StringFormatFlagsMeasureTrailingSpaces = 0x00000800, 673 StringFormatFlagsNoWrap = 0x00001000, 674 StringFormatFlagsLineLimit = 0x00002000, 675 StringFormatFlagsNoClip = 0x00004000 676 } StringFormatFlags; 677 678 typedef enum StringTrimming { 679 StringTrimmingNone = 0, 680 StringTrimmingCharacter = 1, 681 StringTrimmingWord = 2, 682 StringTrimmingEllipsisCharacter = 3, 683 StringTrimmingEllipsisWord = 4, 684 StringTrimmingEllipsisPath = 5 685 } StringTrimming; 686 687 typedef enum TextRenderingHint { 688 TextRenderingHintSystemDefault = 0, 689 TextRenderingHintSingleBitPerPixelGridFit = 1, 690 TextRenderingHintSingleBitPerPixel = 2, 691 TextRenderingHintAntiAliasGridFit = 3, 692 TextRenderingHintAntiAlias = 4, 693 TextRenderingHintClearTypeGridFit = 5 694 } TextRenderingHint; 695 696 typedef enum Unit { 697 UnitWorld = 0, 698 UnitDisplay = 1, 699 UnitPixel = 2, 700 UnitPoint = 3, 701 UnitInch = 4, 702 UnitDocument = 5, 703 UnitMillimeter = 6 704 } Unit; 705 706 typedef enum WarpMode { 707 WarpModePerspective = 0, 708 WarpModeBilinear = 1 709 } WarpMode; 710 711 typedef enum WrapMode { 712 WrapModeTile = 0, 713 WrapModeTileFlipX = 1, 714 WrapModeTileFlipY = 2, 715 WrapModeTileFlipXY = 3, 716 WrapModeClamp = 4 717 } WrapMode; 718 719 typedef enum GpTestControlEnum { 720 TestControlForceBilinear = 0, 721 TestControlForceNoICM = 1, 722 TestControlGetBuildNumber = 2 723 } GpTestControlEnum; 724 725 /* Opaque handles to information blocks on an internal GDI+ stack. */ 726 typedef DWORD GraphicsContainer; 727 typedef DWORD GraphicsState; 728 729 /* Default flatness for GraphicsPath methods Flatten, Outline, Warp, Widen */ 730 /* FIXME: Is FlatnessDefault = 0.25f correct? */ 731 #ifdef __cplusplus 732 const REAL FlatnessDefault = 0.25f; 733 #else 734 #define FlatnessDefault ((REAL) 0.25f) 735 #endif 736 737 static __inline__ BOOL ObjectTypeIsValid(ObjectType type) 738 { 739 switch (type) { 740 case ObjectTypeBrush: 741 case ObjectTypePen: 742 case ObjectTypePath: 743 case ObjectTypeRegion: 744 case ObjectTypeFont: 745 case ObjectTypeStringFormat: 746 case ObjectTypeImageAttributes: 747 case ObjectTypeCustomLineCap: 748 case ObjectTypeGraphics: 749 return TRUE; 750 default: 751 return FALSE; 752 } 753 } 754 755 #endif /* __GDIPLUS_ENUMS_H */ 756