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
GdipCreateMetafileFromEmf(HENHMETAFILE
,BOOL
,GpMetafile
**);
53 GpStatus WINGDIPAPI
GdipCreateMetafileFromWmf(HMETAFILE
,BOOL
,
54 GDIPCONST WmfPlaceableFileHeader
*,GpMetafile
**);
55 GpStatus WINGDIPAPI
GdipDeleteGraphics(GpGraphics
*);
56 GpStatus WINGDIPAPI
GdipDrawArc(GpGraphics
*,GpPen
*,REAL
,REAL
,REAL
,REAL
,REAL
,REAL
);
57 GpStatus WINGDIPAPI
GdipDrawBezier(GpGraphics
*,GpPen
*,REAL
,REAL
,REAL
,REAL
,REAL
,
59 GpStatus WINGDIPAPI
GdipDrawCurve2(GpGraphics
*,GpPen
*,GDIPCONST GpPointF
*,INT
,REAL
);
60 GpStatus WINGDIPAPI
GdipDrawImagePointsRect(GpGraphics
*,GpImage
*,
61 GDIPCONST GpPointF
*,INT
,REAL
,REAL
,REAL
,REAL
,GpUnit
,
62 GDIPCONST GpImageAttributes
*,DrawImageAbort
,VOID
*);
63 GpStatus WINGDIPAPI
GdipDrawLine(GpGraphics
*graphics
,GpPen
*,REAL
,REAL
,REAL
,REAL
);
64 GpStatus WINGDIPAPI
GdipDrawLineI(GpGraphics
*,GpPen
*,INT
,INT
,INT
,INT
);
65 GpStatus WINGDIPAPI
GdipDrawLines(GpGraphics
*,GpPen
*,GDIPCONST GpPointF
*,INT
);
66 GpStatus WINGDIPAPI
GdipDrawPath(GpGraphics
*,GpPen
*,GpPath
*);
67 GpStatus WINGDIPAPI
GdipDrawPie(GpGraphics
*,GpPen
*,REAL
,REAL
,REAL
,REAL
,REAL
,REAL
);
68 GpStatus WINGDIPAPI
GdipDrawRectangleI(GpGraphics
*,GpPen
*,INT
,INT
,INT
,INT
);
69 GpStatus WINGDIPAPI
GdipFillPath(GpGraphics
*,GpBrush
*,GpPath
*);
70 GpStatus WINGDIPAPI
GdipFillPie(GpGraphics
*,GpBrush
*,REAL
,REAL
,REAL
,REAL
,REAL
,REAL
);
71 GpStatus WINGDIPAPI
GdipFillPolygonI(GpGraphics
*,GpBrush
*,GDIPCONST GpPoint
*,INT
,
73 GpStatus WINGDIPAPI
GdipGetCompositingQuality(GpGraphics
*,CompositingQuality
*);
74 GpStatus WINGDIPAPI
GdipGetInterpolationMode(GpGraphics
*,InterpolationMode
*);
75 GpStatus WINGDIPAPI
GdipGetPageScale(GpGraphics
*,REAL
*);
76 GpStatus WINGDIPAPI
GdipGetPageUnit(GpGraphics
*,GpUnit
*);
77 GpStatus WINGDIPAPI
GdipGetPixelOffsetMode(GpGraphics
*,PixelOffsetMode
*);
78 GpStatus WINGDIPAPI
GdipGetSmoothingMode(GpGraphics
*,SmoothingMode
*);
79 GpStatus WINGDIPAPI
GdipGetWorldTransform(GpGraphics
*,GpMatrix
*);
80 GpStatus WINGDIPAPI
GdipRestoreGraphics(GpGraphics
*,GraphicsState
);
81 GpStatus WINGDIPAPI
GdipSaveGraphics(GpGraphics
*,GraphicsState
*);
82 GpStatus WINGDIPAPI
GdipSetCompositingQuality(GpGraphics
*,CompositingQuality
);
83 GpStatus WINGDIPAPI
GdipSetInterpolationMode(GpGraphics
*,InterpolationMode
);
84 GpStatus WINGDIPAPI
GdipSetPageScale(GpGraphics
*,REAL
);
85 GpStatus WINGDIPAPI
GdipSetPageUnit(GpGraphics
*,GpUnit
);
86 GpStatus WINGDIPAPI
GdipSetPixelOffsetMode(GpGraphics
*,PixelOffsetMode
);
87 GpStatus WINGDIPAPI
GdipSetSmoothingMode(GpGraphics
*,SmoothingMode
);
88 GpStatus WINGDIPAPI
GdipSetWorldTransform(GpGraphics
*,GpMatrix
*);
90 GpStatus WINGDIPAPI
GdipCloneBrush(GpBrush
*,GpBrush
**);
91 GpStatus WINGDIPAPI
GdipCreatePathGradient(GDIPCONST GpPointF
*,INT
,GpWrapMode
,
93 GpStatus WINGDIPAPI
GdipCreatePathGradientFromPath(GDIPCONST GpPath
*,
95 GpStatus WINGDIPAPI
GdipCreateSolidFill(ARGB
,GpSolidFill
**);
96 GpStatus WINGDIPAPI
GdipDeleteBrush(GpBrush
*);
97 GpStatus WINGDIPAPI
GdipGetBrushType(GpBrush
*,GpBrushType
*);
98 GpStatus WINGDIPAPI
GdipGetPathGradientCenterPoint(GpPathGradient
*,GpPointF
*);
99 GpStatus WINGDIPAPI
GdipGetPathGradientFocusScales(GpPathGradient
*,REAL
*,REAL
*);
100 GpStatus WINGDIPAPI
GdipGetPathGradientGammaCorrection(GpPathGradient
*,BOOL
*);
101 GpStatus WINGDIPAPI
GdipGetPathGradientPointCount(GpPathGradient
*,INT
*);
102 GpStatus WINGDIPAPI
GdipGetPathGradientSurroundColorsWithCount(GpPathGradient
*,
104 GpStatus WINGDIPAPI
GdipGetSolidFillColor(GpSolidFill
*,ARGB
*);
105 GpStatus WINGDIPAPI
GdipSetPathGradientCenterColor(GpPathGradient
*,ARGB
);
106 GpStatus WINGDIPAPI
GdipSetPathGradientCenterPoint(GpPathGradient
*,GpPointF
*);
107 GpStatus WINGDIPAPI
GdipSetPathGradientFocusScales(GpPathGradient
*,REAL
,REAL
);
108 GpStatus WINGDIPAPI
GdipSetPathGradientGammaCorrection(GpPathGradient
*,BOOL
);
109 GpStatus WINGDIPAPI
GdipSetPathGradientSigmaBlend(GpPathGradient
*,REAL
,REAL
);
110 GpStatus WINGDIPAPI
GdipSetPathGradientSurroundColorsWithCount(GpPathGradient
*,
112 GpStatus WINGDIPAPI
GdipSetPathGradientWrapMode(GpPathGradient
*,GpWrapMode
);
113 GpStatus WINGDIPAPI
GdipSetSolidFillColor(GpSolidFill
*,ARGB
);
115 GpStatus WINGDIPAPI
GdipAddPathArc(GpPath
*,REAL
,REAL
,REAL
,REAL
,REAL
,REAL
);
116 GpStatus WINGDIPAPI
GdipAddPathBeziers(GpPath
*,GDIPCONST GpPointF
*,INT
);
117 GpStatus WINGDIPAPI
GdipAddPathEllipse(GpPath
*,REAL
,REAL
,REAL
,REAL
);
118 GpStatus WINGDIPAPI
GdipAddPathLine2(GpPath
*,GDIPCONST GpPointF
*,INT
);
119 GpStatus WINGDIPAPI
GdipAddPathPath(GpPath
*,GDIPCONST GpPath
*,BOOL
);
120 GpStatus WINGDIPAPI
GdipClonePath(GpPath
*,GpPath
**);
121 GpStatus WINGDIPAPI
GdipClosePathFigure(GpPath
*);
122 GpStatus WINGDIPAPI
GdipClosePathFigures(GpPath
*);
123 GpStatus WINGDIPAPI
GdipCreatePath(GpFillMode
,GpPath
**);
124 GpStatus WINGDIPAPI
GdipDeletePath(GpPath
*);
125 GpStatus WINGDIPAPI
GdipFillPolygon(GpGraphics
*,GpBrush
*,GDIPCONST GpPointF
*,
127 GpStatus WINGDIPAPI
GdipGetPathFillMode(GpPath
*,GpFillMode
*);
128 GpStatus WINGDIPAPI
GdipGetPathPoints(GpPath
*,GpPointF
*,INT
);
129 GpStatus WINGDIPAPI
GdipGetPathTypes(GpPath
*,BYTE
*,INT
);
130 GpStatus WINGDIPAPI
GdipGetPathWorldBounds(GpPath
*,GpRectF
*,GDIPCONST GpMatrix
*,
132 GpStatus WINGDIPAPI
GdipGetPointCount(GpPath
*,INT
*);
133 GpStatus WINGDIPAPI
GdipIsOutlineVisiblePathPointI(GpPath
*,INT
,INT
,GpPen
*,
135 GpStatus WINGDIPAPI
GdipResetPath(GpPath
*);
136 GpStatus WINGDIPAPI
GdipSetPathFillMode(GpPath
*,GpFillMode
);
137 GpStatus WINGDIPAPI
GdipStartPathFigure(GpPath
*);
138 GpStatus WINGDIPAPI
GdipTransformPath(GpPath
*,GpMatrix
*);
140 GpStatus WINGDIPAPI
GdipCloneMatrix(GpMatrix
*,GpMatrix
**);
141 GpStatus WINGDIPAPI
GdipCreateMatrix(GpMatrix
**);
142 GpStatus WINGDIPAPI
GdipCreateMatrix2(REAL
,REAL
,REAL
,REAL
,REAL
,REAL
,GpMatrix
**);
143 GpStatus WINGDIPAPI
GdipCreateMatrix3(GDIPCONST GpRectF
*,GDIPCONST GpPointF
*,
145 GpStatus WINGDIPAPI
GdipDeleteMatrix(GpMatrix
*);
146 GpStatus WINGDIPAPI
GdipGetMatrixElements(GDIPCONST GpMatrix
*,REAL
*);
147 GpStatus WINGDIPAPI
GdipMultiplyMatrix(GpMatrix
*,GpMatrix
*,GpMatrixOrder
);
148 GpStatus WINGDIPAPI
GdipRotateMatrix(GpMatrix
*,REAL
,GpMatrixOrder
);
149 GpStatus WINGDIPAPI
GdipScaleMatrix(GpMatrix
*,REAL
,REAL
,GpMatrixOrder
);
150 GpStatus WINGDIPAPI
GdipSetMatrixElements(GpMatrix
*,REAL
,REAL
,REAL
,REAL
,REAL
,REAL
);
151 GpStatus WINGDIPAPI
GdipTransformMatrixPoints(GpMatrix
*,GpPointF
*,INT
);
152 GpStatus WINGDIPAPI
GdipTranslateMatrix(GpMatrix
*,REAL
,REAL
,GpMatrixOrder
);
154 GpStatus WINGDIPAPI
GdipCreatePathIter(GpPathIterator
**,GpPath
*);
155 GpStatus WINGDIPAPI
GdipDeletePathIter(GpPathIterator
*);
156 GpStatus WINGDIPAPI
GdipPathIterCopyData(GpPathIterator
*,INT
*,GpPointF
*,BYTE
*,
158 GpStatus WINGDIPAPI
GdipPathIterNextSubpath(GpPathIterator
*,INT
*,INT
*,INT
*,BOOL
*);
159 GpStatus WINGDIPAPI
GdipPathIterRewind(GpPathIterator
*);
161 GpStatus WINGDIPAPI
GdipCloneCustomLineCap(GpCustomLineCap
*,GpCustomLineCap
**);
162 GpStatus WINGDIPAPI
GdipCreateCustomLineCap(GpPath
*,GpPath
*,GpLineCap
,REAL
,
164 GpStatus WINGDIPAPI
GdipDeleteCustomLineCap(GpCustomLineCap
*);
166 GpStatus WINGDIPAPI
GdipBitmapGetPixel(GpBitmap
*,INT
,INT
,ARGB
*);
167 GpStatus WINGDIPAPI
GdipCreateBitmapFromScan0(INT
,INT
,INT
,PixelFormat
,BYTE
*,
169 GpStatus WINGDIPAPI
GdipCreateBitmapFromStreamICM(IStream
*,GpBitmap
**);
170 GpStatus WINGDIPAPI
GdipDisposeImage(GpImage
*);
171 GpStatus WINGDIPAPI
GdipGetImageBounds(GpImage
*,GpRectF
*,GpUnit
*);
172 GpStatus WINGDIPAPI
GdipGetImageHeight(GpImage
*,UINT
*);
173 GpStatus WINGDIPAPI
GdipGetImageHorizontalResolution(GpImage
*,REAL
*);
174 GpStatus WINGDIPAPI
GdipGetImageRawFormat(GpImage
*,GUID
*);
175 GpStatus WINGDIPAPI
GdipGetImageType(GpImage
*,ImageType
*);
176 GpStatus WINGDIPAPI
GdipGetImageVerticalResolution(GpImage
*,REAL
*);
177 GpStatus WINGDIPAPI
GdipGetImageWidth(GpImage
*,UINT
*);
178 GpStatus WINGDIPAPI
GdipGetMetafileHeaderFromMetafile(GpMetafile
*,MetafileHeader
*);
179 GpStatus WINGDIPAPI
GdipGetPropertyItemSize(GpImage
*,PROPID
,UINT
*);
180 GpStatus WINGDIPAPI
GdipImageGetFrameCount(GpImage
*,GDIPCONST GUID
*,UINT
*);
181 GpStatus WINGDIPAPI
GdipLoadImageFromStreamICM(IStream
*,GpImage
**);
182 GpStatus WINGDIPAPI
GdipRemovePropertyItem(GpImage
*,PROPID
);
183 GpStatus WINGDIPAPI
GdipSaveImageToStream(GpImage
*,IStream
*,
184 GDIPCONST CLSID
*,GDIPCONST EncoderParameters
*);
186 GpStatus WINGDIPAPI
GdipCreateImageAttributes(GpImageAttributes
**);
187 GpStatus WINGDIPAPI
GdipDisposeImageAttributes(GpImageAttributes
*);
188 GpStatus WINGDIPAPI
GdipSetImageAttributesColorKeys(GpImageAttributes
*,
189 ColorAdjustType
,BOOL
,ARGB
,ARGB
);
190 GpStatus WINGDIPAPI
GdipSetImageAttributesWrapMode(GpImageAttributes
*,WrapMode
,