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
22 #define WINGDIPAPI __stdcall
24 #define GDIPCONST const
30 GpStatus WINGDIPAPI GdipClonePen(GpPen*,GpPen**);
31 GpStatus WINGDIPAPI GdipCreatePen1(ARGB,REAL,GpUnit,GpPen**);
32 GpStatus WINGDIPAPI GdipDeletePen(GpPen*);
33 GpStatus WINGDIPAPI GdipGetPenBrushFill(GpPen*,GpBrush**);
34 GpStatus WINGDIPAPI GdipGetPenColor(GpPen*,ARGB*);
35 GpStatus WINGDIPAPI GdipGetPenDashArray(GpPen*,REAL*,INT);
36 GpStatus WINGDIPAPI GdipGetPenDashStyle(GpPen*,GpDashStyle*);
37 GpStatus WINGDIPAPI GdipSetPenBrushFill(GpPen*,GpBrush*);
38 GpStatus WINGDIPAPI GdipSetPenColor(GpPen*,ARGB);
39 GpStatus WINGDIPAPI GdipSetPenCustomEndCap(GpPen*,GpCustomLineCap*);
40 GpStatus WINGDIPAPI GdipSetPenCustomStartCap(GpPen*,GpCustomLineCap*);
41 GpStatus WINGDIPAPI GdipSetPenDashArray(GpPen*,GDIPCONST REAL*,INT);
42 GpStatus WINGDIPAPI GdipSetPenDashStyle(GpPen*,GpDashStyle);
43 GpStatus WINGDIPAPI GdipSetPenEndCap(GpPen*,GpLineCap);
44 GpStatus WINGDIPAPI GdipSetPenLineCap197819(GpPen*,GpLineCap,GpLineCap,GpDashCap);
45 GpStatus WINGDIPAPI GdipSetPenLineJoin(GpPen*,GpLineJoin);
46 GpStatus WINGDIPAPI GdipSetPenMiterLimit(GpPen*,REAL);
47 GpStatus WINGDIPAPI GdipSetPenStartCap(GpPen*,GpLineCap);
48 GpStatus WINGDIPAPI GdipSetPenWidth(GpPen*,REAL);
50 GpStatus WINGDIPAPI GdipCreateFromHDC(HDC,GpGraphics**);
51 GpStatus WINGDIPAPI GdipCreateFromHWND(HWND,GpGraphics**);
52 GpStatus WINGDIPAPI GdipCreateLineBrush(GDIPCONST GpPointF*,GDIPCONST GpPointF*,
53 ARGB,ARGB,GpWrapMode,GpLineGradient**);
54 GpStatus WINGDIPAPI GdipCreateMetafileFromEmf(HENHMETAFILE,BOOL,GpMetafile**);
55 GpStatus WINGDIPAPI GdipCreateMetafileFromWmf(HMETAFILE,BOOL,
56 GDIPCONST WmfPlaceableFileHeader*,GpMetafile**);
57 GpStatus WINGDIPAPI GdipCreateStreamOnFile(GDIPCONST WCHAR*,UINT,IStream**);
58 GpStatus WINGDIPAPI GdipDeleteGraphics(GpGraphics *);
59 GpStatus WINGDIPAPI GdipDrawArc(GpGraphics*,GpPen*,REAL,REAL,REAL,REAL,REAL,REAL);
60 GpStatus WINGDIPAPI GdipDrawBezier(GpGraphics*,GpPen*,REAL,REAL,REAL,REAL,REAL,
62 GpStatus WINGDIPAPI GdipDrawCurve2(GpGraphics*,GpPen*,GDIPCONST GpPointF*,INT,REAL);
63 GpStatus WINGDIPAPI GdipDrawImageI(GpGraphics*,GpImage*,INT,INT);
64 GpStatus WINGDIPAPI GdipDrawImagePointsRect(GpGraphics*,GpImage*,
65 GDIPCONST GpPointF*,INT,REAL,REAL,REAL,REAL,GpUnit,
66 GDIPCONST GpImageAttributes*,DrawImageAbort,VOID*);
67 GpStatus WINGDIPAPI GdipDrawLine(GpGraphics *graphics,GpPen*,REAL,REAL,REAL,REAL);
68 GpStatus WINGDIPAPI GdipDrawLineI(GpGraphics*,GpPen*,INT,INT,INT,INT);
69 GpStatus WINGDIPAPI GdipDrawLines(GpGraphics*,GpPen*,GDIPCONST GpPointF*,INT);
70 GpStatus WINGDIPAPI GdipDrawPath(GpGraphics*,GpPen*,GpPath*);
71 GpStatus WINGDIPAPI GdipDrawPie(GpGraphics*,GpPen*,REAL,REAL,REAL,REAL,REAL,REAL);
72 GpStatus WINGDIPAPI GdipDrawRectangleI(GpGraphics*,GpPen*,INT,INT,INT,INT);
73 GpStatus WINGDIPAPI GdipFillPath(GpGraphics*,GpBrush*,GpPath*);
74 GpStatus WINGDIPAPI GdipFillPie(GpGraphics*,GpBrush*,REAL,REAL,REAL,REAL,REAL,REAL);
75 GpStatus WINGDIPAPI GdipFillPolygonI(GpGraphics*,GpBrush*,GDIPCONST GpPoint*,INT,
77 GpStatus WINGDIPAPI GdipGetCompositingQuality(GpGraphics*,CompositingQuality*);
78 GpStatus WINGDIPAPI GdipGetInterpolationMode(GpGraphics*,InterpolationMode*);
79 GpStatus WINGDIPAPI GdipGetPageScale(GpGraphics*,REAL*);
80 GpStatus WINGDIPAPI GdipGetPageUnit(GpGraphics*,GpUnit*);
81 GpStatus WINGDIPAPI GdipGetPixelOffsetMode(GpGraphics*,PixelOffsetMode*);
82 GpStatus WINGDIPAPI GdipGetSmoothingMode(GpGraphics*,SmoothingMode*);
83 GpStatus WINGDIPAPI GdipGetWorldTransform(GpGraphics*,GpMatrix*);
84 GpStatus WINGDIPAPI GdipRestoreGraphics(GpGraphics*,GraphicsState);
85 GpStatus WINGDIPAPI GdipSaveGraphics(GpGraphics*,GraphicsState*);
86 GpStatus WINGDIPAPI GdipSetCompositingQuality(GpGraphics*,CompositingQuality);
87 GpStatus WINGDIPAPI GdipSetInterpolationMode(GpGraphics*,InterpolationMode);
88 GpStatus WINGDIPAPI GdipSetPageScale(GpGraphics*,REAL);
89 GpStatus WINGDIPAPI GdipSetPageUnit(GpGraphics*,GpUnit);
90 GpStatus WINGDIPAPI GdipSetPixelOffsetMode(GpGraphics*,PixelOffsetMode);
91 GpStatus WINGDIPAPI GdipSetSmoothingMode(GpGraphics*,SmoothingMode);
92 GpStatus WINGDIPAPI GdipSetWorldTransform(GpGraphics*,GpMatrix*);
94 GpStatus WINGDIPAPI GdipCloneBrush(GpBrush*,GpBrush**);
95 GpStatus WINGDIPAPI GdipCreatePathGradient(GDIPCONST GpPointF*,INT,GpWrapMode,
97 GpStatus WINGDIPAPI GdipCreatePathGradientFromPath(GDIPCONST GpPath*,
99 GpStatus WINGDIPAPI GdipCreateSolidFill(ARGB,GpSolidFill**);
100 GpStatus WINGDIPAPI GdipDeleteBrush(GpBrush*);
101 GpStatus WINGDIPAPI GdipGetBrushType(GpBrush*,GpBrushType*);
102 GpStatus WINGDIPAPI GdipGetLineGammaCorrection(GpLineGradient*,BOOL*);
103 GpStatus WINGDIPAPI GdipGetPathGradientCenterPoint(GpPathGradient*,GpPointF*);
104 GpStatus WINGDIPAPI GdipGetPathGradientFocusScales(GpPathGradient*,REAL*,REAL*);
105 GpStatus WINGDIPAPI GdipGetPathGradientGammaCorrection(GpPathGradient*,BOOL*);
106 GpStatus WINGDIPAPI GdipGetPathGradientPointCount(GpPathGradient*,INT*);
107 GpStatus WINGDIPAPI GdipGetPathGradientSurroundColorsWithCount(GpPathGradient*,
109 GpStatus WINGDIPAPI GdipGetSolidFillColor(GpSolidFill*,ARGB*);
110 GpStatus WINGDIPAPI GdipSetLineGammaCorrection(GpLineGradient*,BOOL);
111 GpStatus WINGDIPAPI GdipSetLineSigmaBlend(GpLineGradient*,REAL,REAL);
112 GpStatus WINGDIPAPI GdipSetLineWrapMode(GpLineGradient*,GpWrapMode);
113 GpStatus WINGDIPAPI GdipSetPathGradientCenterColor(GpPathGradient*,ARGB);
114 GpStatus WINGDIPAPI GdipSetPathGradientCenterPoint(GpPathGradient*,GpPointF*);
115 GpStatus WINGDIPAPI GdipSetPathGradientFocusScales(GpPathGradient*,REAL,REAL);
116 GpStatus WINGDIPAPI GdipSetPathGradientGammaCorrection(GpPathGradient*,BOOL);
117 GpStatus WINGDIPAPI GdipSetPathGradientSigmaBlend(GpPathGradient*,REAL,REAL);
118 GpStatus WINGDIPAPI GdipSetPathGradientSurroundColorsWithCount(GpPathGradient*,
120 GpStatus WINGDIPAPI GdipSetPathGradientWrapMode(GpPathGradient*,GpWrapMode);
121 GpStatus WINGDIPAPI GdipSetSolidFillColor(GpSolidFill*,ARGB);
123 GpStatus WINGDIPAPI GdipAddPathArc(GpPath*,REAL,REAL,REAL,REAL,REAL,REAL);
124 GpStatus WINGDIPAPI GdipAddPathBeziers(GpPath*,GDIPCONST GpPointF*,INT);
125 GpStatus WINGDIPAPI GdipAddPathEllipse(GpPath*,REAL,REAL,REAL,REAL);
126 GpStatus WINGDIPAPI GdipAddPathLine2(GpPath*,GDIPCONST GpPointF*,INT);
127 GpStatus WINGDIPAPI GdipAddPathPath(GpPath*,GDIPCONST GpPath*,BOOL);
128 GpStatus WINGDIPAPI GdipClonePath(GpPath*,GpPath**);
129 GpStatus WINGDIPAPI GdipClosePathFigure(GpPath*);
130 GpStatus WINGDIPAPI GdipClosePathFigures(GpPath*);
131 GpStatus WINGDIPAPI GdipCreatePath(GpFillMode,GpPath**);
132 GpStatus WINGDIPAPI GdipDeletePath(GpPath*);
133 GpStatus WINGDIPAPI GdipFillPolygon(GpGraphics*,GpBrush*,GDIPCONST GpPointF*,
135 GpStatus WINGDIPAPI GdipGetPathFillMode(GpPath*,GpFillMode*);
136 GpStatus WINGDIPAPI GdipGetPathPoints(GpPath*,GpPointF*,INT);
137 GpStatus WINGDIPAPI GdipGetPathTypes(GpPath*,BYTE*,INT);
138 GpStatus WINGDIPAPI GdipGetPathWorldBounds(GpPath*,GpRectF*,GDIPCONST GpMatrix*,
140 GpStatus WINGDIPAPI GdipGetPointCount(GpPath*,INT*);
141 GpStatus WINGDIPAPI GdipIsOutlineVisiblePathPointI(GpPath*,INT,INT,GpPen*,
143 GpStatus WINGDIPAPI GdipResetPath(GpPath*);
144 GpStatus WINGDIPAPI GdipSetPathFillMode(GpPath*,GpFillMode);
145 GpStatus WINGDIPAPI GdipStartPathFigure(GpPath*);
146 GpStatus WINGDIPAPI GdipTransformPath(GpPath*,GpMatrix*);
148 GpStatus WINGDIPAPI GdipCloneMatrix(GpMatrix*,GpMatrix**);
149 GpStatus WINGDIPAPI GdipCreateLineBrushFromRectI(GDIPCONST GpRect*,ARGB,ARGB,
150 LinearGradientMode,GpWrapMode,GpLineGradient**);
151 GpStatus WINGDIPAPI GdipCreateMatrix(GpMatrix**);
152 GpStatus WINGDIPAPI GdipCreateMatrix2(REAL,REAL,REAL,REAL,REAL,REAL,GpMatrix**);
153 GpStatus WINGDIPAPI GdipCreateMatrix3(GDIPCONST GpRectF *,GDIPCONST GpPointF*,
155 GpStatus WINGDIPAPI GdipDeleteMatrix(GpMatrix*);
156 GpStatus WINGDIPAPI GdipGetMatrixElements(GDIPCONST GpMatrix*,REAL*);
157 GpStatus WINGDIPAPI GdipMultiplyMatrix(GpMatrix*,GpMatrix*,GpMatrixOrder);
158 GpStatus WINGDIPAPI GdipRotateMatrix(GpMatrix*,REAL,GpMatrixOrder);
159 GpStatus WINGDIPAPI GdipScaleMatrix(GpMatrix*,REAL,REAL,GpMatrixOrder);
160 GpStatus WINGDIPAPI GdipSetMatrixElements(GpMatrix*,REAL,REAL,REAL,REAL,REAL,REAL);
161 GpStatus WINGDIPAPI GdipTransformMatrixPoints(GpMatrix*,GpPointF*,INT);
162 GpStatus WINGDIPAPI GdipTranslateMatrix(GpMatrix*,REAL,REAL,GpMatrixOrder);
164 GpStatus WINGDIPAPI GdipCreatePathIter(GpPathIterator**,GpPath*);
165 GpStatus WINGDIPAPI GdipDeletePathIter(GpPathIterator*);
166 GpStatus WINGDIPAPI GdipPathIterCopyData(GpPathIterator*,INT*,GpPointF*,BYTE*,
168 GpStatus WINGDIPAPI GdipPathIterNextSubpath(GpPathIterator*,INT*,INT*,INT*,BOOL*);
169 GpStatus WINGDIPAPI GdipPathIterRewind(GpPathIterator*);
171 GpStatus WINGDIPAPI GdipCloneCustomLineCap(GpCustomLineCap*,GpCustomLineCap**);
172 GpStatus WINGDIPAPI GdipCreateCustomLineCap(GpPath*,GpPath*,GpLineCap,REAL,
174 GpStatus WINGDIPAPI GdipDeleteCustomLineCap(GpCustomLineCap*);
175 GpStatus WINGDIPAPI GdipSetCustomLineCapStrokeCaps(GpCustomLineCap*,GpLineCap,
178 GpStatus WINGDIPAPI GdipBitmapGetPixel(GpBitmap*,INT,INT,ARGB*);
179 GpStatus WINGDIPAPI GdipBitmapLockBits(GpBitmap*,GDIPCONST GpRect*,UINT,
180 PixelFormat,BitmapData*);
181 GpStatus WINGDIPAPI GdipCreateBitmapFromFile(GDIPCONST WCHAR*,GpBitmap**);
182 GpStatus WINGDIPAPI GdipCreateBitmapFromScan0(INT,INT,INT,PixelFormat,BYTE*,
184 GpStatus WINGDIPAPI GdipCreateBitmapFromStream(IStream*,GpBitmap**);
185 GpStatus WINGDIPAPI GdipCreateBitmapFromStreamICM(IStream*,GpBitmap**);
186 GpStatus WINGDIPAPI GdipDisposeImage(GpImage*);
187 GpStatus WINGDIPAPI GdipGetImageBounds(GpImage*,GpRectF*,GpUnit*);
188 GpStatus WINGDIPAPI GdipGetImageHeight(GpImage*,UINT*);
189 GpStatus WINGDIPAPI GdipGetImageHorizontalResolution(GpImage*,REAL*);
190 GpStatus WINGDIPAPI GdipGetImagePixelFormat(GpImage*,PixelFormat*);
191 GpStatus WINGDIPAPI GdipGetImageRawFormat(GpImage*,GUID*);
192 GpStatus WINGDIPAPI GdipGetImageType(GpImage*,ImageType*);
193 GpStatus WINGDIPAPI GdipGetImageVerticalResolution(GpImage*,REAL*);
194 GpStatus WINGDIPAPI GdipGetImageWidth(GpImage*,UINT*);
195 GpStatus WINGDIPAPI GdipGetMetafileHeaderFromMetafile(GpMetafile*,MetafileHeader*);
196 GpStatus WINGDIPAPI GdipGetPropertyItemSize(GpImage*,PROPID,UINT*);
197 GpStatus WINGDIPAPI GdipImageGetFrameCount(GpImage*,GDIPCONST GUID*,UINT*);
198 GpStatus WINGDIPAPI GdipImageGetFrameDimensionsList(GpImage*,GUID*,UINT);
199 GpStatus WINGDIPAPI GdipImageSelectActiveFrame(GpImage*,GDIPCONST GUID*,UINT);
200 GpStatus WINGDIPAPI GdipLoadImageFromStream(IStream*,GpImage**);
201 GpStatus WINGDIPAPI GdipLoadImageFromStreamICM(IStream*,GpImage**);
202 GpStatus WINGDIPAPI GdipRemovePropertyItem(GpImage*,PROPID);
203 GpStatus WINGDIPAPI GdipSaveImageToStream(GpImage*,IStream*,
204 GDIPCONST CLSID*,GDIPCONST EncoderParameters*);
206 GpStatus WINGDIPAPI GdipCreateImageAttributes(GpImageAttributes**);
207 GpStatus WINGDIPAPI GdipDisposeImageAttributes(GpImageAttributes*);
208 GpStatus WINGDIPAPI GdipSetImageAttributesColorKeys(GpImageAttributes*,
209 ColorAdjustType,BOOL,ARGB,ARGB);
210 GpStatus WINGDIPAPI GdipSetImageAttributesColorMatrix(GpImageAttributes*,
211 ColorAdjustType,BOOL,GDIPCONST ColorMatrix*,GDIPCONST ColorMatrix*,
213 GpStatus WINGDIPAPI GdipSetImageAttributesWrapMode(GpImageAttributes*,WrapMode,