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
GdipGetPenDashOffset(GpPen
*,REAL
*);
37 GpStatus WINGDIPAPI
GdipGetPenDashStyle(GpPen
*,GpDashStyle
*);
38 GpStatus WINGDIPAPI
GdipSetPenBrushFill(GpPen
*,GpBrush
*);
39 GpStatus WINGDIPAPI
GdipSetPenColor(GpPen
*,ARGB
);
40 GpStatus WINGDIPAPI
GdipSetPenCustomEndCap(GpPen
*,GpCustomLineCap
*);
41 GpStatus WINGDIPAPI
GdipSetPenCustomStartCap(GpPen
*,GpCustomLineCap
*);
42 GpStatus WINGDIPAPI
GdipSetPenDashArray(GpPen
*,GDIPCONST REAL
*,INT
);
43 GpStatus WINGDIPAPI
GdipSetPenDashOffset(GpPen
*,REAL
);
44 GpStatus WINGDIPAPI
GdipSetPenDashStyle(GpPen
*,GpDashStyle
);
45 GpStatus WINGDIPAPI
GdipSetPenEndCap(GpPen
*,GpLineCap
);
46 GpStatus WINGDIPAPI
GdipSetPenLineCap197819(GpPen
*,GpLineCap
,GpLineCap
,GpDashCap
);
47 GpStatus WINGDIPAPI
GdipSetPenLineJoin(GpPen
*,GpLineJoin
);
48 GpStatus WINGDIPAPI
GdipSetPenMiterLimit(GpPen
*,REAL
);
49 GpStatus WINGDIPAPI
GdipSetPenStartCap(GpPen
*,GpLineCap
);
50 GpStatus WINGDIPAPI
GdipSetPenWidth(GpPen
*,REAL
);
52 GpStatus WINGDIPAPI
GdipCreateFromHDC(HDC
,GpGraphics
**);
53 GpStatus WINGDIPAPI
GdipCreateFromHWND(HWND
,GpGraphics
**);
54 GpStatus WINGDIPAPI
GdipCreateLineBrush(GDIPCONST GpPointF
*,GDIPCONST GpPointF
*,
55 ARGB
,ARGB
,GpWrapMode
,GpLineGradient
**);
56 GpStatus WINGDIPAPI
GdipCreateMetafileFromEmf(HENHMETAFILE
,BOOL
,GpMetafile
**);
57 GpStatus WINGDIPAPI
GdipCreateMetafileFromWmf(HMETAFILE
,BOOL
,
58 GDIPCONST WmfPlaceableFileHeader
*,GpMetafile
**);
59 GpStatus WINGDIPAPI
GdipCreateStreamOnFile(GDIPCONST WCHAR
*,UINT
,IStream
**);
60 GpStatus WINGDIPAPI
GdipDeleteGraphics(GpGraphics
*);
61 GpStatus WINGDIPAPI
GdipDrawArc(GpGraphics
*,GpPen
*,REAL
,REAL
,REAL
,REAL
,REAL
,REAL
);
62 GpStatus WINGDIPAPI
GdipDrawBezier(GpGraphics
*,GpPen
*,REAL
,REAL
,REAL
,REAL
,REAL
,
64 GpStatus WINGDIPAPI
GdipDrawCurve2(GpGraphics
*,GpPen
*,GDIPCONST GpPointF
*,INT
,REAL
);
65 GpStatus WINGDIPAPI
GdipDrawImageI(GpGraphics
*,GpImage
*,INT
,INT
);
66 GpStatus WINGDIPAPI
GdipDrawImagePointsRect(GpGraphics
*,GpImage
*,
67 GDIPCONST GpPointF
*,INT
,REAL
,REAL
,REAL
,REAL
,GpUnit
,
68 GDIPCONST GpImageAttributes
*,DrawImageAbort
,VOID
*);
69 GpStatus WINGDIPAPI
GdipDrawImageRectRect(GpGraphics
*,GpImage
*,REAL
,REAL
,REAL
,
70 REAL
,REAL
,REAL
,REAL
,REAL
,GpUnit
,GDIPCONST GpImageAttributes
*,DrawImageAbort
,
72 GpStatus WINGDIPAPI
GdipDrawLine(GpGraphics
*graphics
,GpPen
*,REAL
,REAL
,REAL
,REAL
);
73 GpStatus WINGDIPAPI
GdipDrawLineI(GpGraphics
*,GpPen
*,INT
,INT
,INT
,INT
);
74 GpStatus WINGDIPAPI
GdipDrawLines(GpGraphics
*,GpPen
*,GDIPCONST GpPointF
*,INT
);
75 GpStatus WINGDIPAPI
GdipDrawPath(GpGraphics
*,GpPen
*,GpPath
*);
76 GpStatus WINGDIPAPI
GdipDrawPie(GpGraphics
*,GpPen
*,REAL
,REAL
,REAL
,REAL
,REAL
,REAL
);
77 GpStatus WINGDIPAPI
GdipDrawRectangleI(GpGraphics
*,GpPen
*,INT
,INT
,INT
,INT
);
78 GpStatus WINGDIPAPI
GdipDrawRectangles(GpGraphics
*,GpPen
*,GpRectF
*,INT
);
79 GpStatus WINGDIPAPI
GdipFillPath(GpGraphics
*,GpBrush
*,GpPath
*);
80 GpStatus WINGDIPAPI
GdipFillPie(GpGraphics
*,GpBrush
*,REAL
,REAL
,REAL
,REAL
,REAL
,REAL
);
81 GpStatus WINGDIPAPI
GdipFillPolygonI(GpGraphics
*,GpBrush
*,GDIPCONST GpPoint
*,INT
,
83 GpStatus WINGDIPAPI
GdipFillRectangle(GpGraphics
*,GpBrush
*,REAL
,REAL
,REAL
,REAL
);
84 GpStatus WINGDIPAPI
GdipFillRectangleI(GpGraphics
*,GpBrush
*,INT
,INT
,INT
,INT
);
85 GpStatus WINGDIPAPI
GdipGetCompositingMode(GpGraphics
*,CompositingMode
*);
86 GpStatus WINGDIPAPI
GdipGetCompositingQuality(GpGraphics
*,CompositingQuality
*);
87 GpStatus WINGDIPAPI
GdipGetInterpolationMode(GpGraphics
*,InterpolationMode
*);
88 GpStatus WINGDIPAPI
GdipGetPageScale(GpGraphics
*,REAL
*);
89 GpStatus WINGDIPAPI
GdipGetPageUnit(GpGraphics
*,GpUnit
*);
90 GpStatus WINGDIPAPI
GdipGetPixelOffsetMode(GpGraphics
*,PixelOffsetMode
*);
91 GpStatus WINGDIPAPI
GdipGetSmoothingMode(GpGraphics
*,SmoothingMode
*);
92 GpStatus WINGDIPAPI
GdipGetWorldTransform(GpGraphics
*,GpMatrix
*);
93 GpStatus WINGDIPAPI
GdipRestoreGraphics(GpGraphics
*,GraphicsState
);
94 GpStatus WINGDIPAPI
GdipRotateWorldTransform(GpGraphics
*,REAL
,GpMatrixOrder
);
95 GpStatus WINGDIPAPI
GdipSaveGraphics(GpGraphics
*,GraphicsState
*);
96 GpStatus WINGDIPAPI
GdipScaleWorldTransform(GpGraphics
*,REAL
,REAL
,GpMatrixOrder
);
97 GpStatus WINGDIPAPI
GdipSetCompositingMode(GpGraphics
*,CompositingMode
);
98 GpStatus WINGDIPAPI
GdipSetCompositingQuality(GpGraphics
*,CompositingQuality
);
99 GpStatus WINGDIPAPI
GdipSetInterpolationMode(GpGraphics
*,InterpolationMode
);
100 GpStatus WINGDIPAPI
GdipSetPageScale(GpGraphics
*,REAL
);
101 GpStatus WINGDIPAPI
GdipSetPageUnit(GpGraphics
*,GpUnit
);
102 GpStatus WINGDIPAPI
GdipSetPixelOffsetMode(GpGraphics
*,PixelOffsetMode
);
103 GpStatus WINGDIPAPI
GdipSetSmoothingMode(GpGraphics
*,SmoothingMode
);
104 GpStatus WINGDIPAPI
GdipSetWorldTransform(GpGraphics
*,GpMatrix
*);
105 GpStatus WINGDIPAPI
GdipTranslateWorldTransform(GpGraphics
*,REAL
,REAL
,GpMatrixOrder
);
107 GpStatus WINGDIPAPI
GdipCloneBrush(GpBrush
*,GpBrush
**);
108 GpStatus WINGDIPAPI
GdipCreatePathGradient(GDIPCONST GpPointF
*,INT
,GpWrapMode
,
110 GpStatus WINGDIPAPI
GdipCreatePathGradientFromPath(GDIPCONST GpPath
*,
112 GpStatus WINGDIPAPI
GdipCreateSolidFill(ARGB
,GpSolidFill
**);
113 GpStatus WINGDIPAPI
GdipCreateTextureIA(GpImage
*,GDIPCONST GpImageAttributes
*,
114 REAL
,REAL
,REAL
,REAL
,GpTexture
**);
115 GpStatus WINGDIPAPI
GdipDeleteBrush(GpBrush
*);
116 GpStatus WINGDIPAPI
GdipGetBrushType(GpBrush
*,GpBrushType
*);
117 GpStatus WINGDIPAPI
GdipGetLineGammaCorrection(GpLineGradient
*,BOOL
*);
118 GpStatus WINGDIPAPI
GdipGetPathGradientCenterPoint(GpPathGradient
*,GpPointF
*);
119 GpStatus WINGDIPAPI
GdipGetPathGradientFocusScales(GpPathGradient
*,REAL
*,REAL
*);
120 GpStatus WINGDIPAPI
GdipGetPathGradientGammaCorrection(GpPathGradient
*,BOOL
*);
121 GpStatus WINGDIPAPI
GdipGetPathGradientPointCount(GpPathGradient
*,INT
*);
122 GpStatus WINGDIPAPI
GdipGetPathGradientSurroundColorsWithCount(GpPathGradient
*,
124 GpStatus WINGDIPAPI
GdipGetSolidFillColor(GpSolidFill
*,ARGB
*);
125 GpStatus WINGDIPAPI
GdipSetLineGammaCorrection(GpLineGradient
*,BOOL
);
126 GpStatus WINGDIPAPI
GdipSetLineSigmaBlend(GpLineGradient
*,REAL
,REAL
);
127 GpStatus WINGDIPAPI
GdipSetLineWrapMode(GpLineGradient
*,GpWrapMode
);
128 GpStatus WINGDIPAPI
GdipSetPathGradientCenterColor(GpPathGradient
*,ARGB
);
129 GpStatus WINGDIPAPI
GdipSetPathGradientCenterPoint(GpPathGradient
*,GpPointF
*);
130 GpStatus WINGDIPAPI
GdipSetPathGradientFocusScales(GpPathGradient
*,REAL
,REAL
);
131 GpStatus WINGDIPAPI
GdipSetPathGradientGammaCorrection(GpPathGradient
*,BOOL
);
132 GpStatus WINGDIPAPI
GdipSetPathGradientSigmaBlend(GpPathGradient
*,REAL
,REAL
);
133 GpStatus WINGDIPAPI
GdipSetPathGradientSurroundColorsWithCount(GpPathGradient
*,
135 GpStatus WINGDIPAPI
GdipSetPathGradientWrapMode(GpPathGradient
*,GpWrapMode
);
136 GpStatus WINGDIPAPI
GdipSetSolidFillColor(GpSolidFill
*,ARGB
);
137 GpStatus WINGDIPAPI
GdipSetTextureTransform(GpTexture
*,GDIPCONST GpMatrix
*);
139 GpStatus WINGDIPAPI
GdipAddPathArc(GpPath
*,REAL
,REAL
,REAL
,REAL
,REAL
,REAL
);
140 GpStatus WINGDIPAPI
GdipAddPathBeziers(GpPath
*,GDIPCONST GpPointF
*,INT
);
141 GpStatus WINGDIPAPI
GdipAddPathEllipse(GpPath
*,REAL
,REAL
,REAL
,REAL
);
142 GpStatus WINGDIPAPI
GdipAddPathLine2(GpPath
*,GDIPCONST GpPointF
*,INT
);
143 GpStatus WINGDIPAPI
GdipAddPathPath(GpPath
*,GDIPCONST GpPath
*,BOOL
);
144 GpStatus WINGDIPAPI
GdipClonePath(GpPath
*,GpPath
**);
145 GpStatus WINGDIPAPI
GdipClosePathFigure(GpPath
*);
146 GpStatus WINGDIPAPI
GdipClosePathFigures(GpPath
*);
147 GpStatus WINGDIPAPI
GdipCreatePath(GpFillMode
,GpPath
**);
148 GpStatus WINGDIPAPI
GdipCreatePath2(GDIPCONST GpPointF
*,GDIPCONST BYTE
*,INT
,
149 GpFillMode
,GpPath
**);
150 GpStatus WINGDIPAPI
GdipDeletePath(GpPath
*);
151 GpStatus WINGDIPAPI
GdipFillPolygon(GpGraphics
*,GpBrush
*,GDIPCONST GpPointF
*,
153 GpStatus WINGDIPAPI
GdipGetPathFillMode(GpPath
*,GpFillMode
*);
154 GpStatus WINGDIPAPI
GdipGetPathPoints(GpPath
*,GpPointF
*,INT
);
155 GpStatus WINGDIPAPI
GdipGetPathTypes(GpPath
*,BYTE
*,INT
);
156 GpStatus WINGDIPAPI
GdipGetPathWorldBounds(GpPath
*,GpRectF
*,GDIPCONST GpMatrix
*,
158 GpStatus WINGDIPAPI
GdipGetPointCount(GpPath
*,INT
*);
159 GpStatus WINGDIPAPI
GdipIsOutlineVisiblePathPointI(GpPath
*,INT
,INT
,GpPen
*,
161 GpStatus WINGDIPAPI
GdipResetPath(GpPath
*);
162 GpStatus WINGDIPAPI
GdipSetPathFillMode(GpPath
*,GpFillMode
);
163 GpStatus WINGDIPAPI
GdipStartPathFigure(GpPath
*);
164 GpStatus WINGDIPAPI
GdipTransformPath(GpPath
*,GpMatrix
*);
166 GpStatus WINGDIPAPI
GdipCloneMatrix(GpMatrix
*,GpMatrix
**);
167 GpStatus WINGDIPAPI
GdipCreateLineBrushFromRectI(GDIPCONST GpRect
*,ARGB
,ARGB
,
168 LinearGradientMode
,GpWrapMode
,GpLineGradient
**);
169 GpStatus WINGDIPAPI
GdipCreateMatrix(GpMatrix
**);
170 GpStatus WINGDIPAPI
GdipCreateMatrix2(REAL
,REAL
,REAL
,REAL
,REAL
,REAL
,GpMatrix
**);
171 GpStatus WINGDIPAPI
GdipCreateMatrix3(GDIPCONST GpRectF
*,GDIPCONST GpPointF
*,
173 GpStatus WINGDIPAPI
GdipDeleteMatrix(GpMatrix
*);
174 GpStatus WINGDIPAPI
GdipGetMatrixElements(GDIPCONST GpMatrix
*,REAL
*);
175 GpStatus WINGDIPAPI
GdipMultiplyMatrix(GpMatrix
*,GpMatrix
*,GpMatrixOrder
);
176 GpStatus WINGDIPAPI
GdipRotateMatrix(GpMatrix
*,REAL
,GpMatrixOrder
);
177 GpStatus WINGDIPAPI
GdipScaleMatrix(GpMatrix
*,REAL
,REAL
,GpMatrixOrder
);
178 GpStatus WINGDIPAPI
GdipSetMatrixElements(GpMatrix
*,REAL
,REAL
,REAL
,REAL
,REAL
,REAL
);
179 GpStatus WINGDIPAPI
GdipTransformMatrixPoints(GpMatrix
*,GpPointF
*,INT
);
180 GpStatus WINGDIPAPI
GdipTranslateMatrix(GpMatrix
*,REAL
,REAL
,GpMatrixOrder
);
182 GpStatus WINGDIPAPI
GdipCreatePathIter(GpPathIterator
**,GpPath
*);
183 GpStatus WINGDIPAPI
GdipDeletePathIter(GpPathIterator
*);
184 GpStatus WINGDIPAPI
GdipPathIterCopyData(GpPathIterator
*,INT
*,GpPointF
*,BYTE
*,
186 GpStatus WINGDIPAPI
GdipPathIterNextSubpath(GpPathIterator
*,INT
*,INT
*,INT
*,BOOL
*);
187 GpStatus WINGDIPAPI
GdipPathIterRewind(GpPathIterator
*);
189 GpStatus WINGDIPAPI
GdipCloneCustomLineCap(GpCustomLineCap
*,GpCustomLineCap
**);
190 GpStatus WINGDIPAPI
GdipCreateCustomLineCap(GpPath
*,GpPath
*,GpLineCap
,REAL
,
192 GpStatus WINGDIPAPI
GdipDeleteCustomLineCap(GpCustomLineCap
*);
193 GpStatus WINGDIPAPI
GdipSetCustomLineCapStrokeCaps(GpCustomLineCap
*,GpLineCap
,
196 GpStatus WINGDIPAPI
GdipBitmapGetPixel(GpBitmap
*,INT
,INT
,ARGB
*);
197 GpStatus WINGDIPAPI
GdipBitmapLockBits(GpBitmap
*,GDIPCONST GpRect
*,UINT
,
198 PixelFormat
,BitmapData
*);
199 GpStatus WINGDIPAPI
GdipConvertToEmfPlus(const GpGraphics
*,GpMetafile
*,BOOL
*,
200 EmfType
,const WCHAR
*,GpMetafile
**);
201 GpStatus WINGDIPAPI
GdipCreateBitmapFromFile(GDIPCONST WCHAR
*,GpBitmap
**);
202 GpStatus WINGDIPAPI
GdipCreateBitmapFromGraphics(INT
,INT
,GpGraphics
*,GpBitmap
**);
203 GpStatus WINGDIPAPI
GdipCreateBitmapFromScan0(INT
,INT
,INT
,PixelFormat
,BYTE
*,
205 GpStatus WINGDIPAPI
GdipCreateBitmapFromStream(IStream
*,GpBitmap
**);
206 GpStatus WINGDIPAPI
GdipCreateBitmapFromStreamICM(IStream
*,GpBitmap
**);
207 GpStatus WINGDIPAPI
GdipDisposeImage(GpImage
*);
208 GpStatus WINGDIPAPI
GdipGetImageBounds(GpImage
*,GpRectF
*,GpUnit
*);
209 GpStatus WINGDIPAPI
GdipGetImageGraphicsContext(GpImage
*,GpGraphics
**);
210 GpStatus WINGDIPAPI
GdipGetImageHeight(GpImage
*,UINT
*);
211 GpStatus WINGDIPAPI
GdipGetImageHorizontalResolution(GpImage
*,REAL
*);
212 GpStatus WINGDIPAPI
GdipGetImagePixelFormat(GpImage
*,PixelFormat
*);
213 GpStatus WINGDIPAPI
GdipGetImageRawFormat(GpImage
*,GUID
*);
214 GpStatus WINGDIPAPI
GdipGetImageType(GpImage
*,ImageType
*);
215 GpStatus WINGDIPAPI
GdipGetImageVerticalResolution(GpImage
*,REAL
*);
216 GpStatus WINGDIPAPI
GdipGetImageWidth(GpImage
*,UINT
*);
217 GpStatus WINGDIPAPI
GdipGetMetafileHeaderFromMetafile(GpMetafile
*,MetafileHeader
*);
218 GpStatus WINGDIPAPI
GdipGetPropertyItemSize(GpImage
*,PROPID
,UINT
*);
219 GpStatus WINGDIPAPI
GdipImageGetFrameCount(GpImage
*,GDIPCONST GUID
*,UINT
*);
220 GpStatus WINGDIPAPI
GdipImageGetFrameDimensionsList(GpImage
*,GUID
*,UINT
);
221 GpStatus WINGDIPAPI
GdipImageSelectActiveFrame(GpImage
*,GDIPCONST GUID
*,UINT
);
222 GpStatus WINGDIPAPI
GdipLoadImageFromStream(IStream
*,GpImage
**);
223 GpStatus WINGDIPAPI
GdipLoadImageFromStreamICM(IStream
*,GpImage
**);
224 GpStatus WINGDIPAPI
GdipRemovePropertyItem(GpImage
*,PROPID
);
225 GpStatus WINGDIPAPI
GdipSaveImageToStream(GpImage
*,IStream
*,
226 GDIPCONST CLSID
*,GDIPCONST EncoderParameters
*);
227 GpStatus WINGDIPAPI
GdipSetImagePalette(GpImage
*,GDIPCONST ColorPalette
*);
229 GpStatus WINGDIPAPI
GdipCreateImageAttributes(GpImageAttributes
**);
230 GpStatus WINGDIPAPI
GdipDisposeImageAttributes(GpImageAttributes
*);
231 GpStatus WINGDIPAPI
GdipSetImageAttributesColorKeys(GpImageAttributes
*,
232 ColorAdjustType
,BOOL
,ARGB
,ARGB
);
233 GpStatus WINGDIPAPI
GdipSetImageAttributesColorMatrix(GpImageAttributes
*,
234 ColorAdjustType
,BOOL
,GDIPCONST ColorMatrix
*,GDIPCONST ColorMatrix
*,
236 GpStatus WINGDIPAPI
GdipSetImageAttributesWrapMode(GpImageAttributes
*,WrapMode
,
239 GpStatus WINGDIPAPI
GdipCreateFontFromLogfontA(HDC
,GDIPCONST LOGFONTA
*,GpFont
**);
240 GpStatus WINGDIPAPI
GdipCreateFontFromLogfontW(HDC
,GDIPCONST LOGFONTW
*,GpFont
**);