[PSDK]
[reactos.git] / include / psdk / 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 WarpMode {
185 WarpModePerspective,
186 WarpModeBilinear
187 };
188
189 enum WrapMode
190 {
191 WrapModeTile,
192 WrapModeTileFlipX,
193 WrapModeTileFlipY,
194 WrapModeTileFlipXY,
195 WrapModeClamp
196 };
197
198 enum MetafileType
199 {
200 MetafileTypeInvalid,
201 MetafileTypeWmf,
202 MetafileTypeWmfPlaceable,
203 MetafileTypeEmf,
204 MetafileTypeEmfPlusOnly,
205 MetafileTypeEmfPlusDual
206 };
207
208 enum LinearGradientMode
209 {
210 LinearGradientModeHorizontal,
211 LinearGradientModeVertical,
212 LinearGradientModeForwardDiagonal,
213 LinearGradientModeBackwardDiagonal
214 };
215
216 enum EmfType
217 {
218 EmfTypeEmfOnly = MetafileTypeEmf,
219 EmfTypeEmfPlusOnly = MetafileTypeEmfPlusOnly,
220 EmfTypeEmfPlusDual = MetafileTypeEmfPlusDual
221 };
222
223 enum CompositingMode
224 {
225 CompositingModeSourceOver,
226 CompositingModeSourceCopy
227 };
228
229 enum TextRenderingHint
230 {
231 TextRenderingHintSystemDefault = 0,
232 TextRenderingHintSingleBitPerPixelGridFit,
233 TextRenderingHintSingleBitPerPixel,
234 TextRenderingHintAntiAliasGridFit,
235 TextRenderingHintAntiAlias,
236 TextRenderingHintClearTypeGridFit
237 };
238
239 enum StringAlignment
240 {
241 StringAlignmentNear = 0,
242 StringAlignmentCenter = 1,
243 StringAlignmentFar = 2
244 };
245
246 enum StringDigitSubstitute
247 {
248 StringDigitSubstituteUser = 0,
249 StringDigitSubstituteNone = 1,
250 StringDigitSubstituteNational = 2,
251 StringDigitSubstituteTraditional = 3
252 };
253
254 enum StringFormatFlags
255 {
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
265 };
266
267 enum StringTrimming
268 {
269 StringTrimmingNone = 0,
270 StringTrimmingCharacter = 1,
271 StringTrimmingWord = 2,
272 StringTrimmingEllipsisCharacter = 3,
273 StringTrimmingEllipsisWord = 4,
274 StringTrimmingEllipsisPath = 5
275 };
276
277 enum FontStyle
278 {
279 FontStyleRegular = 0,
280 FontStyleBold = 1,
281 FontStyleItalic = 2,
282 FontStyleBoldItalic = 3,
283 FontStyleUnderline = 4,
284 FontStyleStrikeout = 8
285 };
286
287 enum HotkeyPrefix
288 {
289 HotkeyPrefixNone = 0,
290 HotkeyPrefixShow = 1,
291 HotkeyPrefixHide = 2
292 };
293
294 enum PaletteFlags
295 {
296 PaletteFlagsHasAlpha = 1,
297 PaletteFlagsGrayScale = 2,
298 PaletteFlagsHalftone = 4
299 };
300
301 enum ImageCodecFlags
302 {
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
312 };
313
314 enum ImageFlags
315 {
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
330 };
331
332 enum CombineMode
333 {
334 CombineModeReplace,
335 CombineModeIntersect,
336 CombineModeUnion,
337 CombineModeXor,
338 CombineModeExclude,
339 CombineModeComplement
340 };
341
342 enum FlushIntention
343 {
344 FlushIntentionFlush = 0,
345 FlushIntentionSync = 1
346 };
347
348 enum CoordinateSpace
349 {
350 CoordinateSpaceWorld,
351 CoordinateSpacePage,
352 CoordinateSpaceDevice
353 };
354
355 enum GpTestControlEnum
356 {
357 TestControlForceBilinear = 0,
358 TestControlNoICM = 1,
359 TestControlGetBuildNumber = 2
360 };
361
362 enum MetafileFrameUnit
363 {
364 MetafileFrameUnitPixel = UnitPixel,
365 MetafileFrameUnitPoint = UnitPoint,
366 MetafileFrameUnitInch = UnitInch,
367 MetafileFrameUnitDocument = UnitDocument,
368 MetafileFrameUnitMillimeter = UnitMillimeter,
369 MetafileFrameUnitGdi
370 };
371
372 enum HatchStyle
373 {
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
431 };
432
433 #ifndef __cplusplus
434
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;
474
475 #endif /* end of c typedefs */
476
477 #endif