gdiplus: GdipInvertMatrix implementation with tests.
[wine.git] / include / gdiplusenums.h
blob8e1148d78471956a6435a2714edc6b43c073f325
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;
24 enum Unit
26 UnitWorld = 0,
27 UnitDisplay = 1,
28 UnitPixel = 2,
29 UnitPoint = 3,
30 UnitInch = 4,
31 UnitDocument = 5,
32 UnitMillimeter = 6
35 enum BrushType
37 BrushTypeSolidColor = 0,
38 BrushTypeHatchFill = 1,
39 BrushTypeTextureFill = 2,
40 BrushTypePathGradient = 3,
41 BrushTypeLinearGradient = 4
44 enum FillMode
46 FillModeAlternate = 0,
47 FillModeWinding = 1
50 enum LineCap
52 LineCapFlat = 0x00,
53 LineCapSquare = 0x01,
54 LineCapRound = 0x02,
55 LineCapTriangle = 0x03,
57 LineCapNoAnchor = 0x10,
58 LineCapSquareAnchor = 0x11,
59 LineCapRoundAnchor = 0x12,
60 LineCapDiamondAnchor = 0x13,
61 LineCapArrowAnchor = 0x14,
63 LineCapCustom = 0xff,
64 LineCapAnchorMask = 0xf0
67 enum PathPointType{
68 PathPointTypeStart = 0, /* start of a figure */
69 PathPointTypeLine = 1,
70 PathPointTypeBezier = 3,
71 PathPointTypePathTypeMask = 7,
72 PathPointTypePathDashMode = 16, /* not used */
73 PathPointTypePathMarker = 32,
74 PathPointTypeCloseSubpath = 128, /* end of a closed figure */
75 PathPointTypeBezier3 = 3
78 enum LineJoin
80 LineJoinMiter = 0,
81 LineJoinBevel = 1,
82 LineJoinRound = 2,
83 LineJoinMiterClipped = 3
86 enum QualityMode
88 QualityModeInvalid = -1,
89 QualityModeDefault = 0,
90 QualityModeLow = 1,
91 QualityModeHigh = 2
94 enum SmoothingMode
96 SmoothingModeInvalid = QualityModeInvalid,
97 SmoothingModeDefault = QualityModeDefault,
98 SmoothingModeHighSpeed = QualityModeLow,
99 SmoothingModeHighQuality = QualityModeHigh,
100 SmoothingModeNone,
101 SmoothingModeAntiAlias
104 enum CompositingQuality
106 CompositingQualityInvalid = QualityModeInvalid,
107 CompositingQualityDefault = QualityModeDefault,
108 CompositingQualityHighSpeed = QualityModeLow,
109 CompositingQualityHighQuality = QualityModeHigh,
110 CompositingQualityGammaCorrected,
111 CompositingQualityAssumeLinear
114 enum InterpolationMode
116 InterpolationModeInvalid = QualityModeInvalid,
117 InterpolationModeDefault = QualityModeDefault,
118 InterpolationModeLowQuality = QualityModeLow,
119 InterpolationModeHighQuality = QualityModeHigh,
120 InterpolationModeBilinear,
121 InterpolationModeBicubic,
122 InterpolationModeNearestNeighbor,
123 InterpolationModeHighQualityBilinear,
124 InterpolationModeHighQualityBicubic
127 enum PenAlignment
129 PenAlignmentCenter = 0,
130 PenAlignmentInset = 1
133 enum PixelOffsetMode
135 PixelOffsetModeInvalid = QualityModeInvalid,
136 PixelOffsetModeDefault = QualityModeDefault,
137 PixelOffsetModeHighSpeed = QualityModeLow,
138 PixelOffsetModeHighQuality = QualityModeHigh,
139 PixelOffsetModeNone,
140 PixelOffsetModeHalf
143 enum DashCap
145 DashCapFlat = 0,
146 DashCapRound = 2,
147 DashCapTriangle = 3
150 enum DashStyle
152 DashStyleSolid,
153 DashStyleDash,
154 DashStyleDot,
155 DashStyleDashDot,
156 DashStyleDashDotDot,
157 DashStyleCustom
160 enum MatrixOrder
162 MatrixOrderPrepend = 0,
163 MatrixOrderAppend = 1
166 enum ImageType
168 ImageTypeUnknown,
169 ImageTypeBitmap,
170 ImageTypeMetafile
173 enum WrapMode
175 WrapModeTile,
176 WrapModeTileFlipX,
177 WrapModeTileFlipY,
178 WrapModeTileFlipXY,
179 WrapModeClamp
182 enum MetafileType
184 MetafileTypeInvalid,
185 MetafileTypeWmf,
186 MetafileTypeWmfPlaceable,
187 MetafileTypeEmf,
188 MetafileTypeEmfPlusOnly,
189 MetafileTypeEmfPlusDual
192 enum LinearGradientMode
194 LinearGradientModeHorizontal,
195 LinearGradientModeVertical,
196 LinearGradientModeForwardDiagonal,
197 LinearGradientModeBackwardDiagonal
200 enum EmfType
202 EmfTypeEmfOnly = MetafileTypeEmf,
203 EmfTypeEmfPlusOnly = MetafileTypeEmfPlusOnly,
204 EmfTypeEmfPlusDual = MetafileTypeEmfPlusDual
207 enum CompositingMode
209 CompositingModeSourceOver,
210 CompositingModeSourceCopy
213 enum TextRenderingHint
215 TextRenderingHintSystemDefault = 0,
216 TextRenderingHintSingleBitPerPixelGridFit,
217 TextRenderingHintSingleBitPerPixel,
218 TextRenderingHintAntiAliasGridFit,
219 TextRenderingHintAntiAlias,
220 TextRenderingHintClearTypeGridFit
223 enum StringAlignment
225 StringAlignmentNear = 0,
226 StringAlignmentCenter = 1,
227 StringAlignmentFar = 2
230 enum StringFormatFlags
232 StringFormatFlagsDirectionRightToLeft = 0x00000001,
233 StringFormatFlagsDirectionVertical = 0x00000002,
234 StringFormatFlagsNoFitBlackBox = 0x00000004,
235 StringFormatFlagsDisplayFormatControl = 0x00000020,
236 StringFormatFlagsNoFontFallback = 0x00000400,
237 StringFormatFlagsMeasureTrailingSpaces = 0x00000800,
238 StringFormatFlagsNoWrap = 0x00001000,
239 StringFormatFlagsLineLimit = 0x00002000,
240 StringFormatFlagsNoClip = 0x00004000
243 enum StringTrimming
245 StringTrimmingNone = 0,
246 StringTrimmingCharacter = 1,
247 StringTrimmingWord = 2,
248 StringTrimmingEllipsisCharacter = 3,
249 StringTrimmingEllipsisWord = 4,
250 StringTrimmingEllipsisPath = 5
253 enum FontStyle
255 FontStyleRegular = 0,
256 FontStyleBold = 1,
257 FontStyleItalic = 2,
258 FontStyleBoldItalic = 3,
259 FontStyleUnderline = 4,
260 FontStyleStrikeout = 8
263 enum HotkeyPrefix
265 HotkeyPrefixNone = 0,
266 HotkeyPrefixShow = 1,
267 HotkeyPrefixHide = 2
270 enum ImageCodecFlags
272 ImageCodecFlagsEncoder = 1,
273 ImageCodecFlagsDecoder = 2,
274 ImageCodecFlagsSupportBitmap = 4,
275 ImageCodecFlagsSupportVector = 8,
276 ImageCodecFlagsSeekableEncode = 16,
277 ImageCodecFlagsBlockingDecode = 32,
278 ImageCodecFlagsBuiltin = 65536,
279 ImageCodecFlagsSystem = 131072,
280 ImageCodecFlagsUser = 262144
283 enum ImageFlags
285 ImageFlagsNone = 0,
286 ImageFlagsScalable = 0x0001,
287 ImageFlagsHasAlpha = 0x0002,
288 ImageFlagsHasTranslucent = 0x0004,
289 ImageFlagsPartiallyScalable = 0x0008,
290 ImageFlagsColorSpaceRGB = 0x0010,
291 ImageFlagsColorSpaceCMYK = 0x0020,
292 ImageFlagsColorSpaceGRAY = 0x0040,
293 ImageFlagsColorSpaceYCBCR = 0x0080,
294 ImageFlagsColorSpaceYCCK = 0x0100,
295 ImageFlagsHasRealDPI = 0x1000,
296 ImageFlagsHasRealPixelSize = 0x2000,
297 ImageFlagsReadOnly = 0x00010000,
298 ImageFlagsCaching = 0x00020000
301 enum CombineMode
303 CombineModeReplace,
304 CombineModeIntersect,
305 CombineModeUnion,
306 CombineModeXor,
307 CombineModeExclude,
308 CombineModeComplement
311 enum FlushIntention
313 FlushIntentionFlush = 0,
314 FlushIntentionSync = 1
317 #ifndef __cplusplus
319 typedef enum Unit Unit;
320 typedef enum BrushType BrushType;
321 typedef enum FillMode FillMode;
322 typedef enum LineCap LineCap;
323 typedef enum PathPointType PathPointType;
324 typedef enum LineJoin LineJoin;
325 typedef enum QualityMode QualityMode;
326 typedef enum SmoothingMode SmoothingMode;
327 typedef enum CompositingQuality CompositingQuality;
328 typedef enum InterpolationMode InterpolationMode;
329 typedef enum PixelOffsetMode PixelOffsetMode;
330 typedef enum DashCap DashCap;
331 typedef enum DashStyle DashStyle;
332 typedef enum MatrixOrder MatrixOrder;
333 typedef enum ImageType ImageType;
334 typedef enum ImageFlags ImageFlags;
335 typedef enum WrapMode WrapMode;
336 typedef enum MetafileType MetafileType;
337 typedef enum LinearGradientMode LinearGradientMode;
338 typedef enum EmfType EmfType;
339 typedef enum CompositingMode CompositingMode;
340 typedef enum TextRenderingHint TextRenderingHint;
341 typedef enum StringAlignment StringAlignment;
342 typedef enum StringTrimming StringTrimming;
343 typedef enum FontStyle FontStyle;
344 typedef enum StringFormatFlags StringFormatFlags;
345 typedef enum HotkeyPrefix HotkeyPrefix;
346 typedef enum PenAlignment GpPenAlignment;
347 typedef enum ImageCodecFlags ImageCodecFlags;
348 typedef enum CombineMode CombineMode;
349 typedef enum FlushIntention FlushIntention;
351 #endif /* end of c typedefs */
353 #endif