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;
37 BrushTypeSolidColor = 0,
38 BrushTypeHatchFill = 1,
39 BrushTypeTextureFill = 2,
40 BrushTypePathGradient = 3,
41 BrushTypeLinearGradient = 4
46 FillModeAlternate = 0,
55 LineCapTriangle = 0x03,
57 LineCapNoAnchor = 0x10,
58 LineCapSquareAnchor = 0x11,
59 LineCapRoundAnchor = 0x12,
60 LineCapDiamondAnchor = 0x13,
61 LineCapArrowAnchor = 0x14,
64 LineCapAnchorMask = 0xf0
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
83 LineJoinMiterClipped = 3
88 QualityModeInvalid = -1,
89 QualityModeDefault = 0,
96 SmoothingModeInvalid = QualityModeInvalid,
97 SmoothingModeDefault = QualityModeDefault,
98 SmoothingModeHighSpeed = QualityModeLow,
99 SmoothingModeHighQuality = QualityModeHigh,
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
129 PenAlignmentCenter = 0,
130 PenAlignmentInset = 1
135 PixelOffsetModeInvalid = QualityModeInvalid,
136 PixelOffsetModeDefault = QualityModeDefault,
137 PixelOffsetModeHighSpeed = QualityModeLow,
138 PixelOffsetModeHighQuality = QualityModeHigh,
162 MatrixOrderPrepend = 0,
163 MatrixOrderAppend = 1
186 MetafileTypeWmfPlaceable,
188 MetafileTypeEmfPlusOnly,
189 MetafileTypeEmfPlusDual
192 enum LinearGradientMode
194 LinearGradientModeHorizontal,
195 LinearGradientModeVertical,
196 LinearGradientModeForwardDiagonal,
197 LinearGradientModeBackwardDiagonal
202 EmfTypeEmfOnly = MetafileTypeEmf,
203 EmfTypeEmfPlusOnly = MetafileTypeEmfPlusOnly,
204 EmfTypeEmfPlusDual = MetafileTypeEmfPlusDual
209 CompositingModeSourceOver,
210 CompositingModeSourceCopy
213 enum TextRenderingHint
215 TextRenderingHintSystemDefault = 0,
216 TextRenderingHintSingleBitPerPixelGridFit,
217 TextRenderingHintSingleBitPerPixel,
218 TextRenderingHintAntiAliasGridFit,
219 TextRenderingHintAntiAlias,
220 TextRenderingHintClearTypeGridFit
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
245 StringTrimmingNone = 0,
246 StringTrimmingCharacter = 1,
247 StringTrimmingWord = 2,
248 StringTrimmingEllipsisCharacter = 3,
249 StringTrimmingEllipsisWord = 4,
250 StringTrimmingEllipsisPath = 5
255 FontStyleRegular = 0,
258 FontStyleBoldItalic = 3,
259 FontStyleUnderline = 4,
260 FontStyleStrikeout = 8
265 HotkeyPrefixNone = 0,
266 HotkeyPrefixShow = 1,
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
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
304 CombineModeIntersect,
308 CombineModeComplement
313 FlushIntentionFlush = 0,
314 FlushIntentionSync = 1
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 */