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
47 FillModeAlternate = 0,
56 LineCapTriangle = 0x03,
58 LineCapNoAnchor = 0x10,
59 LineCapSquareAnchor = 0x11,
60 LineCapRoundAnchor = 0x12,
61 LineCapDiamondAnchor = 0x13,
62 LineCapArrowAnchor = 0x14,
65 LineCapAnchorMask = 0xf0
69 PathPointTypeStart = 0, /* start of a figure */
70 PathPointTypeLine = 1,
71 PathPointTypeBezier = 3,
72 PathPointTypePathTypeMask = 7,
73 PathPointTypePathDashMode = 16, /* not used */
74 PathPointTypePathMarker = 32,
75 PathPointTypeCloseSubpath = 128, /* end of a closed figure */
76 PathPointTypeBezier3 = 3
81 PenTypeSolidColor = BrushTypeSolidColor,
82 PenTypeHatchFill = BrushTypeHatchFill,
83 PenTypeTextureFill = BrushTypeTextureFill,
84 PenTypePathGradient = BrushTypePathGradient,
85 PenTypeLinearGradient = BrushTypeLinearGradient,
94 LineJoinMiterClipped = 3
99 QualityModeInvalid = -1,
100 QualityModeDefault = 0,
107 SmoothingModeInvalid = QualityModeInvalid,
108 SmoothingModeDefault = QualityModeDefault,
109 SmoothingModeHighSpeed = QualityModeLow,
110 SmoothingModeHighQuality = QualityModeHigh,
112 SmoothingModeAntiAlias
115 enum CompositingQuality
117 CompositingQualityInvalid = QualityModeInvalid,
118 CompositingQualityDefault = QualityModeDefault,
119 CompositingQualityHighSpeed = QualityModeLow,
120 CompositingQualityHighQuality = QualityModeHigh,
121 CompositingQualityGammaCorrected,
122 CompositingQualityAssumeLinear
125 enum InterpolationMode
127 InterpolationModeInvalid = QualityModeInvalid,
128 InterpolationModeDefault = QualityModeDefault,
129 InterpolationModeLowQuality = QualityModeLow,
130 InterpolationModeHighQuality = QualityModeHigh,
131 InterpolationModeBilinear,
132 InterpolationModeBicubic,
133 InterpolationModeNearestNeighbor,
134 InterpolationModeHighQualityBilinear,
135 InterpolationModeHighQualityBicubic
140 PenAlignmentCenter = 0,
141 PenAlignmentInset = 1
146 PixelOffsetModeInvalid = QualityModeInvalid,
147 PixelOffsetModeDefault = QualityModeDefault,
148 PixelOffsetModeHighSpeed = QualityModeLow,
149 PixelOffsetModeHighQuality = QualityModeHigh,
173 MatrixOrderPrepend = 0,
174 MatrixOrderAppend = 1
202 MetafileTypeWmfPlaceable,
204 MetafileTypeEmfPlusOnly,
205 MetafileTypeEmfPlusDual
208 enum LinearGradientMode
210 LinearGradientModeHorizontal,
211 LinearGradientModeVertical,
212 LinearGradientModeForwardDiagonal,
213 LinearGradientModeBackwardDiagonal
218 EmfTypeEmfOnly = MetafileTypeEmf,
219 EmfTypeEmfPlusOnly = MetafileTypeEmfPlusOnly,
220 EmfTypeEmfPlusDual = MetafileTypeEmfPlusDual
225 CompositingModeSourceOver,
226 CompositingModeSourceCopy
229 enum TextRenderingHint
231 TextRenderingHintSystemDefault = 0,
232 TextRenderingHintSingleBitPerPixelGridFit,
233 TextRenderingHintSingleBitPerPixel,
234 TextRenderingHintAntiAliasGridFit,
235 TextRenderingHintAntiAlias,
236 TextRenderingHintClearTypeGridFit
241 StringAlignmentNear = 0,
242 StringAlignmentCenter = 1,
243 StringAlignmentFar = 2
246 enum StringDigitSubstitute
248 StringDigitSubstituteUser = 0,
249 StringDigitSubstituteNone = 1,
250 StringDigitSubstituteNational = 2,
251 StringDigitSubstituteTraditional = 3
254 enum StringFormatFlags
256 StringFormatFlagsDirectionRightToLeft = 0x00000001,
257 StringFormatFlagsDirectionVertical = 0x00000002,
258 StringFormatFlagsNoFitBlackBox = 0x00000004,
259 StringFormatFlagsDisplayFormatControl = 0x00000020,
260 StringFormatFlagsNoFontFallback = 0x00000400,
261 StringFormatFlagsMeasureTrailingSpaces = 0x00000800,
262 StringFormatFlagsNoWrap = 0x00001000,
263 StringFormatFlagsLineLimit = 0x00002000,
264 StringFormatFlagsNoClip = 0x00004000
269 StringTrimmingNone = 0,
270 StringTrimmingCharacter = 1,
271 StringTrimmingWord = 2,
272 StringTrimmingEllipsisCharacter = 3,
273 StringTrimmingEllipsisWord = 4,
274 StringTrimmingEllipsisPath = 5
279 FontStyleRegular = 0,
282 FontStyleBoldItalic = 3,
283 FontStyleUnderline = 4,
284 FontStyleStrikeout = 8
289 HotkeyPrefixNone = 0,
290 HotkeyPrefixShow = 1,
296 ImageCodecFlagsEncoder = 1,
297 ImageCodecFlagsDecoder = 2,
298 ImageCodecFlagsSupportBitmap = 4,
299 ImageCodecFlagsSupportVector = 8,
300 ImageCodecFlagsSeekableEncode = 16,
301 ImageCodecFlagsBlockingDecode = 32,
302 ImageCodecFlagsBuiltin = 65536,
303 ImageCodecFlagsSystem = 131072,
304 ImageCodecFlagsUser = 262144
310 ImageFlagsScalable = 0x0001,
311 ImageFlagsHasAlpha = 0x0002,
312 ImageFlagsHasTranslucent = 0x0004,
313 ImageFlagsPartiallyScalable = 0x0008,
314 ImageFlagsColorSpaceRGB = 0x0010,
315 ImageFlagsColorSpaceCMYK = 0x0020,
316 ImageFlagsColorSpaceGRAY = 0x0040,
317 ImageFlagsColorSpaceYCBCR = 0x0080,
318 ImageFlagsColorSpaceYCCK = 0x0100,
319 ImageFlagsHasRealDPI = 0x1000,
320 ImageFlagsHasRealPixelSize = 0x2000,
321 ImageFlagsReadOnly = 0x00010000,
322 ImageFlagsCaching = 0x00020000
328 CombineModeIntersect,
332 CombineModeComplement
337 FlushIntentionFlush = 0,
338 FlushIntentionSync = 1
343 CoordinateSpaceWorld,
345 CoordinateSpaceDevice
348 enum GpTestControlEnum
350 TestControlForceBilinear = 0,
351 TestControlNoICM = 1,
352 TestControlGetBuildNumber = 2
355 enum MetafileFrameUnit
357 MetafileFrameUnitPixel = UnitPixel,
358 MetafileFrameUnitPoint = UnitPoint,
359 MetafileFrameUnitInch = UnitInch,
360 MetafileFrameUnitDocument = UnitDocument,
361 MetafileFrameUnitMillimeter = UnitMillimeter,
367 HatchStyleHorizontal = 0,
368 HatchStyleVertical = 1,
369 HatchStyleForwardDiagonal = 2,
370 HatchStyleBackwardDiagonal = 3,
372 HatchStyleDiagonalCross = 5,
373 HatchStyle05Percent = 6,
374 HatchStyle10Percent = 7,
375 HatchStyle20Percent = 8,
376 HatchStyle25Percent = 9,
377 HatchStyle30Percent = 10,
378 HatchStyle40Percent = 11,
379 HatchStyle50Percent = 12,
380 HatchStyle60Percent = 13,
381 HatchStyle70Percent = 14,
382 HatchStyle75Percent = 15,
383 HatchStyle80Percent = 16,
384 HatchStyle90Percent = 17,
385 HatchStyleLightDownwardDiagonal = 18,
386 HatchStyleLightUpwardDiagonal = 19,
387 HatchStyleDarkDownwardDiagonal = 20,
388 HatchStyleDarkUpwardDiagonal = 21,
389 HatchStyleWideDownwardDiagonal = 22,
390 HatchStyleWideUpwardDiagonal = 23,
391 HatchStyleLightVertical = 24,
392 HatchStyleLightHorizontal = 25,
393 HatchStyleNarrowVertical = 26,
394 HatchStyleNarrowHorizontal = 27,
395 HatchStyleDarkVertical = 28,
396 HatchStyleDarkHorizontal = 29,
397 HatchStyleDashedDownwardDiagonal = 30,
398 HatchStyleDashedUpwardDiagonal = 31,
399 HatchStyleDashedHorizontal = 32,
400 HatchStyleDashedVertical = 33,
401 HatchStyleSmallConfetti = 34,
402 HatchStyleLargeConfetti = 35,
403 HatchStyleZigZag = 36,
405 HatchStyleDiagonalBrick = 38,
406 HatchStyleHorizontalBrick = 39,
407 HatchStyleWeave = 40,
408 HatchStylePlaid = 41,
409 HatchStyleDivot = 42,
410 HatchStyleDottedGrid = 43,
411 HatchStyleDottedDiamond = 44,
412 HatchStyleShingle = 45,
413 HatchStyleTrellis = 46,
414 HatchStyleSphere = 47,
415 HatchStyleSmallGrid = 48,
416 HatchStyleSmallCheckerBoard = 49,
417 HatchStyleLargeCheckerBoard = 50,
418 HatchStyleOutlinedDiamond = 51,
419 HatchStyleSolidDiamond = 52,
420 HatchStyleTotal = 53,
421 HatchStyleLargeGrid = HatchStyleCross,
422 HatchStyleMin = HatchStyleHorizontal,
423 HatchStyleMax = HatchStyleTotal - 1
428 typedef enum Unit Unit;
429 typedef enum BrushType BrushType;
430 typedef enum FillMode FillMode;
431 typedef enum LineCap LineCap;
432 typedef enum PathPointType PathPointType;
433 typedef enum LineJoin LineJoin;
434 typedef enum QualityMode QualityMode;
435 typedef enum SmoothingMode SmoothingMode;
436 typedef enum CompositingQuality CompositingQuality;
437 typedef enum InterpolationMode InterpolationMode;
438 typedef enum PixelOffsetMode PixelOffsetMode;
439 typedef enum DashCap DashCap;
440 typedef enum DashStyle DashStyle;
441 typedef enum MatrixOrder MatrixOrder;
442 typedef enum ImageType ImageType;
443 typedef enum ImageFlags ImageFlags;
444 typedef enum WarpMode WarpMode;
445 typedef enum WrapMode WrapMode;
446 typedef enum MetafileType MetafileType;
447 typedef enum LinearGradientMode LinearGradientMode;
448 typedef enum EmfType EmfType;
449 typedef enum CompositingMode CompositingMode;
450 typedef enum TextRenderingHint TextRenderingHint;
451 typedef enum StringAlignment StringAlignment;
452 typedef enum StringDigitSubstitute StringDigitSubstitute;
453 typedef enum StringTrimming StringTrimming;
454 typedef enum FontStyle FontStyle;
455 typedef enum StringFormatFlags StringFormatFlags;
456 typedef enum HotkeyPrefix HotkeyPrefix;
457 typedef enum PenAlignment GpPenAlignment;
458 typedef enum ImageCodecFlags ImageCodecFlags;
459 typedef enum CombineMode CombineMode;
460 typedef enum FlushIntention FlushIntention;
461 typedef enum CoordinateSpace CoordinateSpace;
462 typedef enum GpTestControlEnum GpTestControlEnum;
463 typedef enum MetafileFrameUnit MetafileFrameUnit;
464 typedef enum PenType PenType;
465 typedef enum HatchStyle HatchStyle;
467 #endif /* end of c typedefs */