1 /**
2  * @file gdiplusgpstubs.h
3  * Copyright 2012, 2013 MinGW.org project
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining a
6  * copy of this software and associated documentation files (the "Software"),
7  * to deal in the Software without restriction, including without limitation
8  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9  * and/or sell copies of the Software, and to permit persons to whom the
10  * Software is furnished to do so, subject to the following conditions:
11  *
12  * The above copyright notice and this permission notice (including the next
13  * paragraph) shall be included in all copies or substantial portions of the
14  * Software.
15  *
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22  * DEALINGS IN THE SOFTWARE.
23  */
24 /* Created by Markus Koenig <markus@stber-koenig.de> */
25 #ifndef __GDIPLUS_GPSTUBS_H
26 #define __GDIPLUS_GPSTUBS_H
27 #pragma GCC system_header
28 #include <_mingw.h>
29 
30 /*
31  * GDI+ Gp* type declarations
32  */
33 
34 typedef Point GpPoint;
35 typedef PointF GpPointF;
36 typedef Rect GpRect;
37 typedef RectF GpRectF;
38 typedef Size GpSize;
39 typedef SizeF GpSizeF;
40 
41 typedef enum BrushType GpBrushType;
42 typedef enum CombineMode GpCombineMode;
43 typedef enum CompositingMode GpCompositingMode;
44 typedef enum CompositingQuality GpCompositingQuality;
45 typedef enum CoordinateSpace GpCoordinateSpace;
46 typedef enum CustomLineCapType GpCustomLineCapType;
47 typedef enum DashCap GpDashCap;
48 typedef enum DashStyle GpDashStyle;
49 typedef enum DitherType GpDitherType;
50 typedef enum DriverStringOptions GpDriverStringOptions;
51 typedef enum EmfPlusRecordType GpEmfPlusRecordType;
52 typedef enum EmfToWmfBitsFlags GpEmfToWmfBitsFlags;
53 typedef enum EmfType GpEmfType;
54 typedef enum EncoderParameterValueType GpEncoderParameterValueType;
55 typedef enum EncoderValue GpEncoderValue;
56 typedef enum FillMode GpFillMode;
57 typedef enum FlushIntention GpFlushIntention;
58 typedef enum FontStyle GpFontStyle;
59 typedef enum HatchStyle GpHatchStyle;
60 typedef enum HotkeyPrefix GpHotkeyPrefix;
61 typedef enum ImageType GpImageType;
62 typedef enum InterpolationMode GpInterpolationMode;
63 typedef enum LinearGradientMode GpLinearGradientMode;
64 typedef enum LineCap GpLineCap;
65 typedef enum LineJoin GpLineJoin;
66 typedef enum MatrixOrder GpMatrixOrder;
67 typedef enum MetafileFrameUnit GpMetafileFrameUnit;
68 typedef enum MetafileType GpMetafileType;
69 typedef enum ObjectType GpObjectType;
70 typedef enum PathPointType GpPathPointType;
71 typedef enum PenAlignment GpPenAlignment;
72 typedef enum PenType GpPenType;
73 typedef enum PixelOffsetMode GpPixelOffsetMode;
74 typedef enum QualityMode GpQualityMode;
75 typedef enum SmoothingMode GpSmoothingMode;
76 typedef enum StringAlignment GpStringAlignment;
77 typedef enum StringDigitSubstitute GpStringDigitSubstitute;
78 typedef enum StringFormatFlags GpStringFormatFlags;
79 typedef enum StringTrimming GpStringTrimming;
80 typedef enum TextRenderingHint GpTextRenderingHint;
81 typedef enum Unit GpUnit;
82 typedef enum WarpMode GpWarpMode;
83 typedef enum WrapMode GpWrapMode;
84 
85 #ifdef __cplusplus
86 
87 class CGpEffect {};
88 class GpCustomLineCap {};
89 class GpImage {};
90 
91 class GpAdjustableArrowCap: public GpCustomLineCap {};
92 class GpBitmap: public GpImage {};
93 class GpBrush {};
94 class GpCachedBitmap {};
95 class GpFont {};
96 class GpFontCollection {};
97 class GpFontFamily {};
98 class GpGraphics {};
99 class GpHatch: public GpBrush {};         /* HatchBrush */
100 class GpImageAttributes {};
101 class GpLineGradient: public GpBrush {};  /* LinearGradientBrush */
102 class GpMatrix {};
103 class GpMetafile: public GpImage {};
104 class GpPath {};                          /* GraphicsPath */
105 class GpPathData {};
106 class GpPathGradient: public GpBrush {};  /* PathGradientBrush */
107 class GpPathIterator {};                  /* GraphicsPathIterator */
108 class GpPen {};
109 class GpRegion {};
110 class GpSolidFill: public GpBrush {};     /* SolidBrush */
111 class GpStringFormat {};
112 class GpTexture: public GpBrush {};       /* TextureBrush */
113 
114 #else /* !__cplusplus */
115 
116 typedef void CGpEffect;
117 typedef void GpAdjustableArrowCap;
118 typedef void GpBitmap;
119 typedef void GpBrush;
120 typedef void GpCachedBitmap;
121 typedef void GpCustomLineCap;
122 typedef void GpFont;
123 typedef void GpFontFamily;
124 typedef void GpFontCollection;
125 typedef void GpGraphics;
126 typedef void GpHatch;
127 typedef void GpImage;
128 typedef void GpImageAttributes;
129 typedef void GpLineGradient;
130 typedef void GpMatrix;
131 typedef void GpMetafile;
132 typedef void GpPath;
133 typedef void GpPathData;
134 typedef void GpPathGradient;
135 typedef void GpPathIterator;
136 typedef void GpPen;
137 typedef void GpRegion;
138 typedef void GpSolidFill;
139 typedef void GpStringFormat;
140 typedef void GpTexture;
141 
142 #endif /* !__cplusplus */
143 
144 #endif /* __GDIPLUS_GPSTUBS_H */
145