- Fix registered guids for IPortMidi
[reactos.git] / reactos / 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 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 #ifndef __cplusplus
361
362 typedef enum Unit Unit;
363 typedef enum BrushType BrushType;
364 typedef enum FillMode FillMode;
365 typedef enum LineCap LineCap;
366 typedef enum PathPointType PathPointType;
367 typedef enum LineJoin LineJoin;
368 typedef enum QualityMode QualityMode;
369 typedef enum SmoothingMode SmoothingMode;
370 typedef enum CompositingQuality CompositingQuality;
371 typedef enum InterpolationMode InterpolationMode;
372 typedef enum PixelOffsetMode PixelOffsetMode;
373 typedef enum DashCap DashCap;
374 typedef enum DashStyle DashStyle;
375 typedef enum MatrixOrder MatrixOrder;
376 typedef enum ImageType ImageType;
377 typedef enum ImageFlags ImageFlags;
378 typedef enum WrapMode WrapMode;
379 typedef enum MetafileType MetafileType;
380 typedef enum LinearGradientMode LinearGradientMode;
381 typedef enum EmfType EmfType;
382 typedef enum CompositingMode CompositingMode;
383 typedef enum TextRenderingHint TextRenderingHint;
384 typedef enum StringAlignment StringAlignment;
385 typedef enum StringDigitSubstitute StringDigitSubstitute;
386 typedef enum StringTrimming StringTrimming;
387 typedef enum FontStyle FontStyle;
388 typedef enum StringFormatFlags StringFormatFlags;
389 typedef enum HotkeyPrefix HotkeyPrefix;
390 typedef enum PenAlignment GpPenAlignment;
391 typedef enum ImageCodecFlags ImageCodecFlags;
392 typedef enum CombineMode CombineMode;
393 typedef enum FlushIntention FlushIntention;
394 typedef enum CoordinateSpace CoordinateSpace;
395 typedef enum GpTestControlEnum GpTestControlEnum;
396 typedef enum MetafileFrameUnit MetafileFrameUnit;
397 typedef enum PenType PenType;
398
399 #endif /* end of c typedefs */
400
401 #endif