blob: 4f5b193fcc4b1f9ef51bc9e094ccd37aec6b0608 [file] [log] [blame]
Evan Stade48f10d42007-06-08 13:44:28 -07001/*
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
Evan Stadec7606682007-07-13 17:51:37 -070022typedef UINT GraphicsState;
23
Evan Stade48f10d42007-06-08 13:44:28 -070024enum Unit
25{
26 UnitWorld = 0,
27 UnitDisplay = 1,
28 UnitPixel = 2,
29 UnitPoint = 3,
30 UnitInch = 4,
31 UnitDocument = 5,
32 UnitMillimeter = 6
33};
34
35enum BrushType
36{
37 BrushTypeSolidColor = 0,
38 BrushTypeHatchFill = 1,
39 BrushTypeTextureFill = 2,
40 BrushTypePathGradient = 3,
41 BrushTypeLinearGradient = 4
42};
43
Evan Stade14802872007-06-21 16:15:17 -070044enum FillMode
45{
46 FillModeAlternate = 0,
47 FillModeWinding = 1
48};
49
Evan Stade68ba30f2007-07-05 18:37:52 -070050enum LineCap
51{
52 LineCapFlat = 0x00,
53 LineCapSquare = 0x01,
54 LineCapRound = 0x02,
55 LineCapTriangle = 0x03,
56
57 LineCapNoAnchor = 0x10,
58 LineCapSquareAnchor = 0x11,
59 LineCapRoundAnchor = 0x12,
60 LineCapDiamondAnchor = 0x13,
61 LineCapArrowAnchor = 0x14,
62
63 LineCapCustom = 0xff,
64 LineCapAnchorMask = 0xf0
65};
66
Evan Stadee4118c12007-07-06 16:14:07 -070067enum 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
76};
77
Evan Stadebcd0eda2007-07-12 19:42:47 -070078enum LineJoin
79{
80 LineJoinMiter = 0,
81 LineJoinBevel = 1,
82 LineJoinRound = 2,
83 LineJoinMiterClipped = 3
84};
85
Evan Stade53e17d22007-07-13 17:51:13 -070086enum QualityMode
87{
88 QualityModeInvalid = -1,
89 QualityModeDefault = 0,
90 QualityModeLow = 1,
91 QualityModeHigh = 2
92};
93
94enum SmoothingMode
95{
96 SmoothingModeInvalid = QualityModeInvalid,
97 SmoothingModeDefault = QualityModeDefault,
98 SmoothingModeHighSpeed = QualityModeLow,
99 SmoothingModeHighQuality = QualityModeHigh,
100 SmoothingModeNone,
101 SmoothingModeAntiAlias
102};
103
Evan Stade60cad232007-07-13 17:51:25 -0700104enum CompositingQuality
105{
106 CompositingQualityInvalid = QualityModeInvalid,
107 CompositingQualityDefault = QualityModeDefault,
108 CompositingQualityHighSpeed = QualityModeLow,
109 CompositingQualityHighQuality = QualityModeHigh,
110 CompositingQualityGammaCorrected,
111 CompositingQualityAssumeLinear
112};
113
Evan Stadea87ce7a2007-07-13 17:51:29 -0700114enum InterpolationMode
115{
116 InterpolationModeInvalid = QualityModeInvalid,
117 InterpolationModeDefault = QualityModeDefault,
118 InterpolationModeLowQuality = QualityModeLow,
119 InterpolationModeHighQuality = QualityModeHigh,
120 InterpolationModeBilinear,
121 InterpolationModeBicubic,
122 InterpolationModeNearestNeighbor,
123 InterpolationModeHighQualityBilinear,
124 InterpolationModeHighQualityBicubic
125};
126
Evan Staded6bd866d2007-07-13 17:51:33 -0700127enum PixelOffsetMode
128{
129 PixelOffsetModeInvalid = QualityModeInvalid,
130 PixelOffsetModeDefault = QualityModeDefault,
131 PixelOffsetModeHighSpeed = QualityModeLow,
132 PixelOffsetModeHighQuality = QualityModeHigh,
133 PixelOffsetModeNone,
134 PixelOffsetModeHalf
135};
136
Evan Stade6893ef32007-07-16 19:44:50 -0700137enum DashCap
138{
139 DashCapFlat = 0,
140 DashCapRound = 2,
141 DashCapTriangle = 3
142};
143
Evan Stadedaf00ab2007-07-16 19:45:16 -0700144enum DashStyle
145{
146 DashStyleSolid,
147 DashStyleDash,
148 DashStyleDot,
149 DashStyleDashDot,
150 DashStyleDashDotDot,
151 DashStyleCustom
152};
153
Evan Stade48f10d42007-06-08 13:44:28 -0700154#ifndef __cplusplus
155
156typedef enum Unit Unit;
157typedef enum BrushType BrushType;
Evan Stade14802872007-06-21 16:15:17 -0700158typedef enum FillMode FillMode;
Evan Stade68ba30f2007-07-05 18:37:52 -0700159typedef enum LineCap LineCap;
Evan Stadee4118c12007-07-06 16:14:07 -0700160typedef enum PathPointType PathPointType;
Evan Stadebcd0eda2007-07-12 19:42:47 -0700161typedef enum LineJoin LineJoin;
Evan Stade53e17d22007-07-13 17:51:13 -0700162typedef enum QualityMode QualityMode;
163typedef enum SmoothingMode SmoothingMode;
Evan Stade60cad232007-07-13 17:51:25 -0700164typedef enum CompositingQuality CompositingQuality;
Evan Stadea87ce7a2007-07-13 17:51:29 -0700165typedef enum InterpolationMode InterpolationMode;
Evan Staded6bd866d2007-07-13 17:51:33 -0700166typedef enum PixelOffsetMode PixelOffsetMode;
Evan Stade6893ef32007-07-16 19:44:50 -0700167typedef enum DashCap DashCap;
Evan Stadedaf00ab2007-07-16 19:45:16 -0700168typedef enum DashStyle DashStyle;
Evan Stade48f10d42007-06-08 13:44:28 -0700169
170#endif /* end of c typedefs */
171
172#endif