d3d10: Add the ID3D10EffectPass interface.
[wine] / include / gdiplusenums.h
1 /*
2  * Copyright (C) 2007 Google (Evan Stade)
3  *
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.
8  *
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.
13  *
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
17  */
18
19 #ifndef _GDIPLUSENUMS_H
20 #define _GDIPLUSENUMS_H
21
22 typedef UINT GraphicsState;
23 typedef UINT GraphicsContainer;
24
25 enum Unit
26 {
27     UnitWorld       = 0,
28     UnitDisplay     = 1,
29     UnitPixel       = 2,
30     UnitPoint       = 3,
31     UnitInch        = 4,
32     UnitDocument    = 5,
33     UnitMillimeter  = 6
34 };
35
36 enum BrushType
37 {
38    BrushTypeSolidColor       = 0,
39    BrushTypeHatchFill        = 1,
40    BrushTypeTextureFill      = 2,
41    BrushTypePathGradient     = 3,
42    BrushTypeLinearGradient   = 4
43 };
44
45 enum FillMode
46 {
47     FillModeAlternate   = 0,
48     FillModeWinding     = 1
49 };
50
51 enum LineCap
52 {
53     LineCapFlat             = 0x00,
54     LineCapSquare           = 0x01,
55     LineCapRound            = 0x02,
56     LineCapTriangle         = 0x03,
57
58     LineCapNoAnchor         = 0x10,
59     LineCapSquareAnchor     = 0x11,
60     LineCapRoundAnchor      = 0x12,
61     LineCapDiamondAnchor    = 0x13,
62     LineCapArrowAnchor      = 0x14,
63
64     LineCapCustom           = 0xff,
65     LineCapAnchorMask       = 0xf0
66 };
67
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
77 };
78
79 enum PenType
80 {
81    PenTypeSolidColor       = BrushTypeSolidColor,
82    PenTypeHatchFill        = BrushTypeHatchFill,
83    PenTypeTextureFill      = BrushTypeTextureFill,
84    PenTypePathGradient     = BrushTypePathGradient,
85    PenTypeLinearGradient   = BrushTypeLinearGradient,
86    PenTypeUnknown          = -1
87 };
88
89 enum LineJoin
90 {
91     LineJoinMiter           = 0,
92     LineJoinBevel           = 1,
93     LineJoinRound           = 2,
94     LineJoinMiterClipped    = 3
95 };
96
97 enum QualityMode
98 {
99     QualityModeInvalid  = -1,
100     QualityModeDefault  = 0,
101     QualityModeLow      = 1,
102     QualityModeHigh     = 2
103 };
104
105 enum SmoothingMode
106 {
107     SmoothingModeInvalid     = QualityModeInvalid,
108     SmoothingModeDefault     = QualityModeDefault,
109     SmoothingModeHighSpeed   = QualityModeLow,
110     SmoothingModeHighQuality = QualityModeHigh,
111     SmoothingModeNone,
112     SmoothingModeAntiAlias
113 };
114
115 enum CompositingQuality
116 {
117     CompositingQualityInvalid          = QualityModeInvalid,
118     CompositingQualityDefault          = QualityModeDefault,
119     CompositingQualityHighSpeed        = QualityModeLow,
120     CompositingQualityHighQuality      = QualityModeHigh,
121     CompositingQualityGammaCorrected,
122     CompositingQualityAssumeLinear
123 };
124
125 enum InterpolationMode
126 {
127     InterpolationModeInvalid        = QualityModeInvalid,
128     InterpolationModeDefault        = QualityModeDefault,
129     InterpolationModeLowQuality     = QualityModeLow,
130     InterpolationModeHighQuality    = QualityModeHigh,
131     InterpolationModeBilinear,
132     InterpolationModeBicubic,
133     InterpolationModeNearestNeighbor,
134     InterpolationModeHighQualityBilinear,
135     InterpolationModeHighQualityBicubic
136 };
137
138 enum PenAlignment
139 {
140     PenAlignmentCenter   = 0,
141     PenAlignmentInset    = 1
142 };
143
144 enum PixelOffsetMode
145 {
146     PixelOffsetModeInvalid     = QualityModeInvalid,
147     PixelOffsetModeDefault     = QualityModeDefault,
148     PixelOffsetModeHighSpeed   = QualityModeLow,
149     PixelOffsetModeHighQuality = QualityModeHigh,
150     PixelOffsetModeNone,
151     PixelOffsetModeHalf
152 };
153
154 enum DashCap
155 {
156     DashCapFlat     = 0,
157     DashCapRound    = 2,
158     DashCapTriangle = 3
159 };
160
161 enum DashStyle
162 {
163     DashStyleSolid,
164     DashStyleDash,
165     DashStyleDot,
166     DashStyleDashDot,
167     DashStyleDashDotDot,
168     DashStyleCustom
169 };
170
171 enum MatrixOrder
172 {
173     MatrixOrderPrepend = 0,
174     MatrixOrderAppend  = 1
175 };
176
177 enum ImageType
178 {
179     ImageTypeUnknown,
180     ImageTypeBitmap,
181     ImageTypeMetafile
182 };
183
184 enum WrapMode
185 {
186     WrapModeTile,
187     WrapModeTileFlipX,
188     WrapModeTileFlipY,
189     WrapModeTileFlipXY,
190     WrapModeClamp
191 };
192
193 enum MetafileType
194 {
195     MetafileTypeInvalid,
196     MetafileTypeWmf,
197     MetafileTypeWmfPlaceable,
198     MetafileTypeEmf,
199     MetafileTypeEmfPlusOnly,
200     MetafileTypeEmfPlusDual
201 };
202
203 enum LinearGradientMode
204 {
205     LinearGradientModeHorizontal,
206     LinearGradientModeVertical,
207     LinearGradientModeForwardDiagonal,
208     LinearGradientModeBackwardDiagonal
209 };
210
211 enum EmfType
212 {
213     EmfTypeEmfOnly     = MetafileTypeEmf,
214     EmfTypeEmfPlusOnly = MetafileTypeEmfPlusOnly,
215     EmfTypeEmfPlusDual = MetafileTypeEmfPlusDual
216 };
217
218 enum CompositingMode
219 {
220     CompositingModeSourceOver,
221     CompositingModeSourceCopy
222 };
223
224 enum TextRenderingHint
225 {
226     TextRenderingHintSystemDefault = 0,
227     TextRenderingHintSingleBitPerPixelGridFit,
228     TextRenderingHintSingleBitPerPixel,
229     TextRenderingHintAntiAliasGridFit,
230     TextRenderingHintAntiAlias,
231     TextRenderingHintClearTypeGridFit
232 };
233
234 enum StringAlignment
235 {
236     StringAlignmentNear    = 0,
237     StringAlignmentCenter  = 1,
238     StringAlignmentFar     = 2
239 };
240
241 enum  StringDigitSubstitute
242 {
243     StringDigitSubstituteUser        = 0,
244     StringDigitSubstituteNone        = 1,
245     StringDigitSubstituteNational    = 2,
246     StringDigitSubstituteTraditional = 3
247 };
248
249 enum StringFormatFlags
250 {
251     StringFormatFlagsDirectionRightToLeft  = 0x00000001,
252     StringFormatFlagsDirectionVertical     = 0x00000002,
253     StringFormatFlagsNoFitBlackBox         = 0x00000004,
254     StringFormatFlagsDisplayFormatControl  = 0x00000020,
255     StringFormatFlagsNoFontFallback        = 0x00000400,
256     StringFormatFlagsMeasureTrailingSpaces = 0x00000800,
257     StringFormatFlagsNoWrap                = 0x00001000,
258     StringFormatFlagsLineLimit             = 0x00002000,
259     StringFormatFlagsNoClip                = 0x00004000
260 };
261
262 enum StringTrimming
263 {
264     StringTrimmingNone                 = 0,
265     StringTrimmingCharacter            = 1,
266     StringTrimmingWord                 = 2,
267     StringTrimmingEllipsisCharacter    = 3,
268     StringTrimmingEllipsisWord         = 4,
269     StringTrimmingEllipsisPath         = 5
270 };
271
272 enum FontStyle
273 {
274     FontStyleRegular    = 0,
275     FontStyleBold       = 1,
276     FontStyleItalic     = 2,
277     FontStyleBoldItalic = 3,
278     FontStyleUnderline  = 4,
279     FontStyleStrikeout  = 8
280 };
281
282 enum HotkeyPrefix
283 {
284     HotkeyPrefixNone   = 0,
285     HotkeyPrefixShow   = 1,
286     HotkeyPrefixHide   = 2
287 };
288
289 enum ImageCodecFlags
290 {
291     ImageCodecFlagsEncoder          = 1,
292     ImageCodecFlagsDecoder          = 2,
293     ImageCodecFlagsSupportBitmap    = 4,
294     ImageCodecFlagsSupportVector    = 8,
295     ImageCodecFlagsSeekableEncode   = 16,
296     ImageCodecFlagsBlockingDecode   = 32,
297     ImageCodecFlagsBuiltin          = 65536,
298     ImageCodecFlagsSystem           = 131072,
299     ImageCodecFlagsUser             = 262144
300 };
301
302 enum ImageFlags
303 {
304     ImageFlagsNone              = 0,
305     ImageFlagsScalable          = 0x0001,
306     ImageFlagsHasAlpha          = 0x0002,
307     ImageFlagsHasTranslucent    = 0x0004,
308     ImageFlagsPartiallyScalable = 0x0008,
309     ImageFlagsColorSpaceRGB     = 0x0010,
310     ImageFlagsColorSpaceCMYK    = 0x0020,
311     ImageFlagsColorSpaceGRAY    = 0x0040,
312     ImageFlagsColorSpaceYCBCR   = 0x0080,
313     ImageFlagsColorSpaceYCCK    = 0x0100,
314     ImageFlagsHasRealDPI        = 0x1000,
315     ImageFlagsHasRealPixelSize  = 0x2000,
316     ImageFlagsReadOnly          = 0x00010000,
317     ImageFlagsCaching           = 0x00020000
318 };
319
320 enum CombineMode
321 {
322     CombineModeReplace,
323     CombineModeIntersect,
324     CombineModeUnion,
325     CombineModeXor,
326     CombineModeExclude,
327     CombineModeComplement
328 };
329
330 enum FlushIntention
331 {
332     FlushIntentionFlush = 0,
333     FlushIntentionSync  = 1
334 };
335
336 enum CoordinateSpace
337 {
338     CoordinateSpaceWorld,
339     CoordinateSpacePage,
340     CoordinateSpaceDevice
341 };
342
343 enum GpTestControlEnum
344 {
345     TestControlForceBilinear  = 0,
346     TestControlNoICM          = 1,
347     TestControlGetBuildNumber = 2
348 };
349
350 enum MetafileFrameUnit
351 {
352     MetafileFrameUnitPixel      = UnitPixel,
353     MetafileFrameUnitPoint      = UnitPoint,
354     MetafileFrameUnitInch       = UnitInch,
355     MetafileFrameUnitDocument   = UnitDocument,
356     MetafileFrameUnitMillimeter = UnitMillimeter,
357     MetafileFrameUnitGdi
358 };
359
360 enum HatchStyle
361 {
362         HatchStyleHorizontal = 0,
363         HatchStyleVertical = 1,
364         HatchStyleForwardDiagonal = 2,
365         HatchStyleBackwardDiagonal = 3,
366         HatchStyleCross = 4,
367         HatchStyleDiagonalCross = 5,
368         HatchStyle05Percent = 6,
369         HatchStyle10Percent = 7,
370         HatchStyle20Percent = 8,
371         HatchStyle25Percent = 9,
372         HatchStyle30Percent = 10,
373         HatchStyle40Percent = 11,
374         HatchStyle50Percent = 12,
375         HatchStyle60Percent = 13,
376         HatchStyle70Percent = 14,
377         HatchStyle75Percent = 15,
378         HatchStyle80Percent = 16,
379         HatchStyle90Percent = 17,
380         HatchStyleLightDownwardDiagonal = 18,
381         HatchStyleLightUpwardDiagonal = 19,
382         HatchStyleDarkDownwardDiagonal = 20,
383         HatchStyleDarkUpwardDiagonal = 21,
384         HatchStyleWideDownwardDiagonal = 22,
385         HatchStyleWideUpwardDiagonal = 23,
386         HatchStyleLightVertical = 24,
387         HatchStyleLightHorizontal = 25,
388         HatchStyleNarrowVertical = 26,
389         HatchStyleNarrowHorizontal = 27,
390         HatchStyleDarkVertical = 28,
391         HatchStyleDarkHorizontal = 29,
392         HatchStyleDashedDownwardDiagonal = 30,
393         HatchStyleDashedUpwardDiagonal = 31,
394         HatchStyleDashedHorizontal = 32,
395         HatchStyleDashedVertical = 33,
396         HatchStyleSmallConfetti = 34,
397         HatchStyleLargeConfetti = 35,
398         HatchStyleZigZag = 36,
399         HatchStyleWave = 37,
400         HatchStyleDiagonalBrick = 38,
401         HatchStyleHorizontalBrick = 39,
402         HatchStyleWeave = 40,
403         HatchStylePlaid = 41,
404         HatchStyleDivot = 42,
405         HatchStyleDottedGrid = 43,
406         HatchStyleDottedDiamond = 44,
407         HatchStyleShingle = 45,
408         HatchStyleTrellis = 46,
409         HatchStyleSphere = 47,
410         HatchStyleSmallGrid = 48,
411         HatchStyleSmallCheckerBoard = 49,
412         HatchStyleLargeCheckerBoard = 50,
413         HatchStyleOutlinedDiamond = 51,
414         HatchStyleSolidDiamond = 52,
415         HatchStyleTotal = 53,
416         HatchStyleLargeGrid = HatchStyleCross,
417         HatchStyleMin = HatchStyleHorizontal,
418         HatchStyleMax = HatchStyleTotal - 1
419 };
420
421 #ifndef __cplusplus
422
423 typedef enum Unit Unit;
424 typedef enum BrushType BrushType;
425 typedef enum FillMode FillMode;
426 typedef enum LineCap LineCap;
427 typedef enum PathPointType PathPointType;
428 typedef enum LineJoin LineJoin;
429 typedef enum QualityMode QualityMode;
430 typedef enum SmoothingMode SmoothingMode;
431 typedef enum CompositingQuality CompositingQuality;
432 typedef enum InterpolationMode InterpolationMode;
433 typedef enum PixelOffsetMode PixelOffsetMode;
434 typedef enum DashCap DashCap;
435 typedef enum DashStyle DashStyle;
436 typedef enum MatrixOrder MatrixOrder;
437 typedef enum ImageType ImageType;
438 typedef enum ImageFlags ImageFlags;
439 typedef enum WrapMode WrapMode;
440 typedef enum MetafileType MetafileType;
441 typedef enum LinearGradientMode LinearGradientMode;
442 typedef enum EmfType EmfType;
443 typedef enum CompositingMode CompositingMode;
444 typedef enum TextRenderingHint TextRenderingHint;
445 typedef enum StringAlignment StringAlignment;
446 typedef enum StringDigitSubstitute StringDigitSubstitute;
447 typedef enum StringTrimming StringTrimming;
448 typedef enum FontStyle FontStyle;
449 typedef enum StringFormatFlags StringFormatFlags;
450 typedef enum HotkeyPrefix HotkeyPrefix;
451 typedef enum PenAlignment GpPenAlignment;
452 typedef enum ImageCodecFlags ImageCodecFlags;
453 typedef enum CombineMode CombineMode;
454 typedef enum FlushIntention FlushIntention;
455 typedef enum CoordinateSpace CoordinateSpace;
456 typedef enum GpTestControlEnum GpTestControlEnum;
457 typedef enum MetafileFrameUnit MetafileFrameUnit;
458 typedef enum PenType PenType;
459 typedef enum HatchStyle HatchStyle;
460
461 #endif /* end of c typedefs */
462
463 #endif