wgl: Use correct types and pixelformats for pbuffers.
[wine/gsoc_dplay.git] / include / gdiplustypes.h
blob426ab7a0d74fa61395781fbf2e060712b821627a
1 /*
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 _GDIPLUSTYPES_H
20 #define _GDIPLUSTYPES_H
22 typedef float REAL;
24 enum Status{
25 Ok = 0,
26 GenericError = 1,
27 InvalidParameter = 2,
28 OutOfMemory = 3,
29 ObjectBusy = 4,
30 InsufficientBuffer = 5,
31 NotImplemented = 6,
32 Win32Error = 7,
33 WrongState = 8,
34 Aborted = 9,
35 FileNotFound = 10,
36 ValueOverflow = 11,
37 AccessDenied = 12,
38 UnknownImageFormat = 13,
39 FontFamilyNotFound = 14,
40 FontStyleNotFound = 15,
41 NotTrueTypeFont = 16,
42 UnsupportedGdiplusVersion = 17,
43 GdiplusNotInitialized = 18,
44 PropertyNotFound = 19,
45 PropertyNotSupported = 20
48 #ifdef __cplusplus
50 class Point
52 public:
53 Point()
55 X = Y = 0;
58 Point(IN const Point &pt)
60 X = pt.X;
61 Y = pt.Y;
64 /* FIXME: missing constructor that takes a Size */
66 Point(IN INT x, IN INT y)
68 X = x;
69 Y = y;
72 Point operator+(IN const Point& pt) const
74 return Point(X + pt.X, Y + pt.Y);
77 Point operator-(IN const Point& pt) const
79 return Point(X - pt.X, Y - pt.Y);
82 BOOL Equals(IN const Point& pt)
84 return (X == pt.X) && (Y == pt.Y);
87 public:
88 INT X;
89 INT Y;
92 class PointF
94 public:
95 PointF()
97 X = Y = 0.0f;
100 PointF(IN const PointF &pt)
102 X = pt.X;
103 Y = pt.Y;
106 /* FIXME: missing constructor that takes a SizeF */
108 PointF(IN REAL x, IN REAL y)
110 X = x;
111 Y = y;
114 PointF operator+(IN const PointF& pt) const
116 return PointF(X + pt.X, Y + pt.Y);
119 PointF operator-(IN const PointF& pt) const
121 return PointF(X - pt.X, Y - pt.Y);
124 BOOL Equals(IN const PointF& pt)
126 return (X == pt.X) && (Y == pt.Y);
129 public:
130 REAL X;
131 REAL Y;
134 class PathData
136 public:
137 PathData()
139 Count = 0;
140 Points = NULL;
141 Types = NULL;
144 ~PathData()
146 if (Points != NULL)
148 delete Points;
151 if (Types != NULL)
153 delete Types;
157 private:
158 PathData(const PathData &);
159 PathData& operator=(const PathData &);
161 public:
162 INT Count;
163 PointF* Points;
164 BYTE* Types;
167 /* FIXME: missing the methods. */
168 class RectF
170 public:
171 REAL X;
172 REAL Y;
173 REAL Width;
174 REAL Height;
177 #else /* end of c++ typedefs */
179 typedef struct Point
181 INT X;
182 INT Y;
183 } Point;
185 typedef struct PointF
187 REAL X;
188 REAL Y;
189 } PointF;
191 typedef struct PathData
193 INT Count;
194 PointF* Points;
195 BYTE* Types;
196 } PathData;
198 typedef struct RectF
200 REAL X;
201 REAL Y;
202 REAL Width;
203 REAL Height;
204 } RectF;
206 typedef enum Status Status;
208 #endif /* end of c typedefs */
210 #endif