DIB Engine: fix vertically mirrored images caused by GetObject() changes
[wine/hacks.git] / include / gdiplusenums.h
blobd472fd838104a12d05d319bf7a5e8b222697bd51
1 /*
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;
25 enum Unit
27 UnitWorld = 0,
28 UnitDisplay = 1,
29 UnitPixel = 2,
30 UnitPoint = 3,
31 UnitInch = 4,
32 UnitDocument = 5,
33 UnitMillimeter = 6
36 enum BrushType
38 BrushTypeSolidColor = 0,
39 BrushTypeHatchFill = 1,
40 BrushTypeTextureFill = 2,
41 BrushTypePathGradient = 3,
42 BrushTypeLinearGradient = 4
45 enum FillMode
47 FillModeAlternate = 0,
48 FillModeWinding = 1
51 enum LineCap
53 LineCapFlat = 0x00,
54 LineCapSquare = 0x01,
55 LineCapRound = 0x02,
56 LineCapTriangle = 0x03,
58 LineCapNoAnchor = 0x10,
59 LineCapSquareAnchor = 0x11,
60 LineCapRoundAnchor = 0x12,
61 LineCapDiamondAnchor = 0x13,
62 LineCapArrowAnchor = 0x14,
64 LineCapCustom = 0xff,
65 LineCapAnchorMask = 0xf0
68 enum PathPointType{
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
79 enum PenType
81 PenTypeSolidColor = BrushTypeSolidColor,
82 PenTypeHatchFill = BrushTypeHatchFill,
83 PenTypeTextureFill = BrushTypeTextureFill,
84 PenTypePathGradient = BrushTypePathGradient,
85 PenTypeLinearGradient = BrushTypeLinearGradient,
86 PenTypeUnknown = -1
89 enum LineJoin
91 LineJoinMiter = 0,
92 LineJoinBevel = 1,
93 LineJoinRound = 2,
94 LineJoinMiterClipped = 3
97 enum QualityMode
99 QualityModeInvalid = -1,
100 QualityModeDefault = 0,
101 QualityModeLow = 1,
102 QualityModeHigh = 2
105 enum SmoothingMode
107 SmoothingModeInvalid = QualityModeInvalid,
108 SmoothingModeDefault = QualityModeDefault,
109 SmoothingModeHighSpeed = QualityModeLow,
110 SmoothingModeHighQuality = QualityModeHigh,
111 SmoothingModeNone,
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
138 enum PenAlignment
140 PenAlignmentCenter = 0,
141 PenAlignmentInset = 1
144 enum PixelOffsetMode
146 PixelOffsetModeInvalid = QualityModeInvalid,
147 PixelOffsetModeDefault = QualityModeDefault,
148 PixelOffsetModeHighSpeed = QualityModeLow,
149 PixelOffsetModeHighQuality = QualityModeHigh,
150 PixelOffsetModeNone,
151 PixelOffsetModeHalf
154 enum DashCap
156 DashCapFlat = 0,
157 DashCapRound = 2,
158 DashCapTriangle = 3
161 enum DashStyle
163 DashStyleSolid,
164 DashStyleDash,
165 DashStyleDot,
166 DashStyleDashDot,
167 DashStyleDashDotDot,
168 DashStyleCustom
171 enum MatrixOrder
173 MatrixOrderPrepend = 0,
174 MatrixOrderAppend = 1
177 enum ImageType
179 ImageTypeUnknown,
180 ImageTypeBitmap,
181 ImageTypeMetafile
184 enum WarpMode {
185 WarpModePerspective,
186 WarpModeBilinear
189 enum WrapMode
191 WrapModeTile,
192 WrapModeTileFlipX,
193 WrapModeTileFlipY,
194 WrapModeTileFlipXY,
195 WrapModeClamp
198 enum MetafileType
200 MetafileTypeInvalid,
201 MetafileTypeWmf,
202 MetafileTypeWmfPlaceable,
203 MetafileTypeEmf,
204 MetafileTypeEmfPlusOnly,
205 MetafileTypeEmfPlusDual
208 enum LinearGradientMode
210 LinearGradientModeHorizontal,
211 LinearGradientModeVertical,
212 LinearGradientModeForwardDiagonal,
213 LinearGradientModeBackwardDiagonal
216 enum EmfType
218 EmfTypeEmfOnly = MetafileTypeEmf,
219 EmfTypeEmfPlusOnly = MetafileTypeEmfPlusOnly,
220 EmfTypeEmfPlusDual = MetafileTypeEmfPlusDual
223 enum CompositingMode
225 CompositingModeSourceOver,
226 CompositingModeSourceCopy
229 enum TextRenderingHint
231 TextRenderingHintSystemDefault = 0,
232 TextRenderingHintSingleBitPerPixelGridFit,
233 TextRenderingHintSingleBitPerPixel,
234 TextRenderingHintAntiAliasGridFit,
235 TextRenderingHintAntiAlias,
236 TextRenderingHintClearTypeGridFit
239 enum StringAlignment
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
267 enum StringTrimming
269 StringTrimmingNone = 0,
270 StringTrimmingCharacter = 1,
271 StringTrimmingWord = 2,
272 StringTrimmingEllipsisCharacter = 3,
273 StringTrimmingEllipsisWord = 4,
274 StringTrimmingEllipsisPath = 5
277 enum FontStyle
279 FontStyleRegular = 0,
280 FontStyleBold = 1,
281 FontStyleItalic = 2,
282 FontStyleBoldItalic = 3,
283 FontStyleUnderline = 4,
284 FontStyleStrikeout = 8
287 enum HotkeyPrefix
289 HotkeyPrefixNone = 0,
290 HotkeyPrefixShow = 1,
291 HotkeyPrefixHide = 2
294 enum PaletteFlags
296 PaletteFlagsHasAlpha = 1,
297 PaletteFlagsGrayScale = 2,
298 PaletteFlagsHalftone = 4
301 enum ImageCodecFlags
303 ImageCodecFlagsEncoder = 1,
304 ImageCodecFlagsDecoder = 2,
305 ImageCodecFlagsSupportBitmap = 4,
306 ImageCodecFlagsSupportVector = 8,
307 ImageCodecFlagsSeekableEncode = 16,
308 ImageCodecFlagsBlockingDecode = 32,
309 ImageCodecFlagsBuiltin = 65536,
310 ImageCodecFlagsSystem = 131072,
311 ImageCodecFlagsUser = 262144
314 enum ImageFlags
316 ImageFlagsNone = 0,
317 ImageFlagsScalable = 0x0001,
318 ImageFlagsHasAlpha = 0x0002,
319 ImageFlagsHasTranslucent = 0x0004,
320 ImageFlagsPartiallyScalable = 0x0008,
321 ImageFlagsColorSpaceRGB = 0x0010,
322 ImageFlagsColorSpaceCMYK = 0x0020,
323 ImageFlagsColorSpaceGRAY = 0x0040,
324 ImageFlagsColorSpaceYCBCR = 0x0080,
325 ImageFlagsColorSpaceYCCK = 0x0100,
326 ImageFlagsHasRealDPI = 0x1000,
327 ImageFlagsHasRealPixelSize = 0x2000,
328 ImageFlagsReadOnly = 0x00010000,
329 ImageFlagsCaching = 0x00020000
332 enum CombineMode
334 CombineModeReplace,
335 CombineModeIntersect,
336 CombineModeUnion,
337 CombineModeXor,
338 CombineModeExclude,
339 CombineModeComplement
342 enum FlushIntention
344 FlushIntentionFlush = 0,
345 FlushIntentionSync = 1
348 enum CoordinateSpace
350 CoordinateSpaceWorld,
351 CoordinateSpacePage,
352 CoordinateSpaceDevice
355 enum GpTestControlEnum
357 TestControlForceBilinear = 0,
358 TestControlNoICM = 1,
359 TestControlGetBuildNumber = 2
362 enum MetafileFrameUnit
364 MetafileFrameUnitPixel = UnitPixel,
365 MetafileFrameUnitPoint = UnitPoint,
366 MetafileFrameUnitInch = UnitInch,
367 MetafileFrameUnitDocument = UnitDocument,
368 MetafileFrameUnitMillimeter = UnitMillimeter,
369 MetafileFrameUnitGdi
372 enum HatchStyle
374 HatchStyleHorizontal = 0,
375 HatchStyleVertical = 1,
376 HatchStyleForwardDiagonal = 2,
377 HatchStyleBackwardDiagonal = 3,
378 HatchStyleCross = 4,
379 HatchStyleDiagonalCross = 5,
380 HatchStyle05Percent = 6,
381 HatchStyle10Percent = 7,
382 HatchStyle20Percent = 8,
383 HatchStyle25Percent = 9,
384 HatchStyle30Percent = 10,
385 HatchStyle40Percent = 11,
386 HatchStyle50Percent = 12,
387 HatchStyle60Percent = 13,
388 HatchStyle70Percent = 14,
389 HatchStyle75Percent = 15,
390 HatchStyle80Percent = 16,
391 HatchStyle90Percent = 17,
392 HatchStyleLightDownwardDiagonal = 18,
393 HatchStyleLightUpwardDiagonal = 19,
394 HatchStyleDarkDownwardDiagonal = 20,
395 HatchStyleDarkUpwardDiagonal = 21,
396 HatchStyleWideDownwardDiagonal = 22,
397 HatchStyleWideUpwardDiagonal = 23,
398 HatchStyleLightVertical = 24,
399 HatchStyleLightHorizontal = 25,
400 HatchStyleNarrowVertical = 26,
401 HatchStyleNarrowHorizontal = 27,
402 HatchStyleDarkVertical = 28,
403 HatchStyleDarkHorizontal = 29,
404 HatchStyleDashedDownwardDiagonal = 30,
405 HatchStyleDashedUpwardDiagonal = 31,
406 HatchStyleDashedHorizontal = 32,
407 HatchStyleDashedVertical = 33,
408 HatchStyleSmallConfetti = 34,
409 HatchStyleLargeConfetti = 35,
410 HatchStyleZigZag = 36,
411 HatchStyleWave = 37,
412 HatchStyleDiagonalBrick = 38,
413 HatchStyleHorizontalBrick = 39,
414 HatchStyleWeave = 40,
415 HatchStylePlaid = 41,
416 HatchStyleDivot = 42,
417 HatchStyleDottedGrid = 43,
418 HatchStyleDottedDiamond = 44,
419 HatchStyleShingle = 45,
420 HatchStyleTrellis = 46,
421 HatchStyleSphere = 47,
422 HatchStyleSmallGrid = 48,
423 HatchStyleSmallCheckerBoard = 49,
424 HatchStyleLargeCheckerBoard = 50,
425 HatchStyleOutlinedDiamond = 51,
426 HatchStyleSolidDiamond = 52,
427 HatchStyleTotal = 53,
428 HatchStyleLargeGrid = HatchStyleCross,
429 HatchStyleMin = HatchStyleHorizontal,
430 HatchStyleMax = HatchStyleTotal - 1
433 #ifndef __cplusplus
435 typedef enum Unit Unit;
436 typedef enum BrushType BrushType;
437 typedef enum FillMode FillMode;
438 typedef enum LineCap LineCap;
439 typedef enum PathPointType PathPointType;
440 typedef enum LineJoin LineJoin;
441 typedef enum QualityMode QualityMode;
442 typedef enum SmoothingMode SmoothingMode;
443 typedef enum CompositingQuality CompositingQuality;
444 typedef enum InterpolationMode InterpolationMode;
445 typedef enum PixelOffsetMode PixelOffsetMode;
446 typedef enum DashCap DashCap;
447 typedef enum DashStyle DashStyle;
448 typedef enum MatrixOrder MatrixOrder;
449 typedef enum ImageType ImageType;
450 typedef enum ImageFlags ImageFlags;
451 typedef enum WarpMode WarpMode;
452 typedef enum WrapMode WrapMode;
453 typedef enum MetafileType MetafileType;
454 typedef enum LinearGradientMode LinearGradientMode;
455 typedef enum EmfType EmfType;
456 typedef enum CompositingMode CompositingMode;
457 typedef enum TextRenderingHint TextRenderingHint;
458 typedef enum StringAlignment StringAlignment;
459 typedef enum StringDigitSubstitute StringDigitSubstitute;
460 typedef enum StringTrimming StringTrimming;
461 typedef enum FontStyle FontStyle;
462 typedef enum StringFormatFlags StringFormatFlags;
463 typedef enum HotkeyPrefix HotkeyPrefix;
464 typedef enum PenAlignment GpPenAlignment;
465 typedef enum PaletteFlags PaletteFlags;
466 typedef enum ImageCodecFlags ImageCodecFlags;
467 typedef enum CombineMode CombineMode;
468 typedef enum FlushIntention FlushIntention;
469 typedef enum CoordinateSpace CoordinateSpace;
470 typedef enum GpTestControlEnum GpTestControlEnum;
471 typedef enum MetafileFrameUnit MetafileFrameUnit;
472 typedef enum PenType PenType;
473 typedef enum HatchStyle HatchStyle;
475 #endif /* end of c typedefs */
477 #endif