gdiplus: Added GdipGetMatrixElements.
[wine] / include / gdiplusflat.h
1 /*
2  * Copyright (C) 2007 Google (Evan Stade)
3  *
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.
8  *
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.
13  *
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
17  */
18
19 #ifndef _FLATAPI_H
20 #define _FLATAPI_H
21
22 #define WINGDIPAPI __stdcall
23
24 #define GDIPCONST const
25
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29
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
49 GpStatus WINGDIPAPI GdipCreateFromHDC(HDC,GpGraphics**);
50 GpStatus WINGDIPAPI GdipCreateFromHWND(HWND,GpGraphics**);
51 GpStatus WINGDIPAPI GdipCreateMetafileFromEmf(HENHMETAFILE,BOOL,GpMetafile**);
52 GpStatus WINGDIPAPI GdipCreateMetafileFromWmf(HMETAFILE,BOOL,
53     GDIPCONST WmfPlaceableFileHeader*,GpMetafile**);
54 GpStatus WINGDIPAPI GdipDeleteGraphics(GpGraphics *);
55 GpStatus WINGDIPAPI GdipDrawArc(GpGraphics*,GpPen*,REAL,REAL,REAL,REAL,REAL,REAL);
56 GpStatus WINGDIPAPI GdipDrawBezier(GpGraphics*,GpPen*,REAL,REAL,REAL,REAL,REAL,
57     REAL,REAL,REAL);
58 GpStatus WINGDIPAPI GdipDrawCurve2(GpGraphics*,GpPen*,GDIPCONST GpPointF*,INT,REAL);
59 GpStatus WINGDIPAPI GdipDrawImagePointsRect(GpGraphics*,GpImage*,
60     GDIPCONST GpPointF*,INT,REAL,REAL,REAL,REAL,GpUnit,
61     GDIPCONST GpImageAttributes*,DrawImageAbort,VOID*);
62 GpStatus WINGDIPAPI GdipDrawLineI(GpGraphics*,GpPen*,INT,INT,INT,INT);
63 GpStatus WINGDIPAPI GdipDrawLines(GpGraphics*,GpPen*,GDIPCONST GpPointF*,INT);
64 GpStatus WINGDIPAPI GdipDrawPath(GpGraphics*,GpPen*,GpPath*);
65 GpStatus WINGDIPAPI GdipDrawPie(GpGraphics*,GpPen*,REAL,REAL,REAL,REAL,REAL,REAL);
66 GpStatus WINGDIPAPI GdipDrawRectangleI(GpGraphics*,GpPen*,INT,INT,INT,INT);
67 GpStatus WINGDIPAPI GdipFillPath(GpGraphics*,GpBrush*,GpPath*);
68 GpStatus WINGDIPAPI GdipFillPie(GpGraphics*,GpBrush*,REAL,REAL,REAL,REAL,REAL,REAL);
69 GpStatus WINGDIPAPI GdipFillPolygonI(GpGraphics*,GpBrush*,GDIPCONST GpPoint*,INT,
70     GpFillMode);
71 GpStatus WINGDIPAPI GdipGetCompositingQuality(GpGraphics*,CompositingQuality*);
72 GpStatus WINGDIPAPI GdipGetInterpolationMode(GpGraphics*,InterpolationMode*);
73 GpStatus WINGDIPAPI GdipGetPageScale(GpGraphics*,REAL*);
74 GpStatus WINGDIPAPI GdipGetPageUnit(GpGraphics*,GpUnit*);
75 GpStatus WINGDIPAPI GdipGetPixelOffsetMode(GpGraphics*,PixelOffsetMode*);
76 GpStatus WINGDIPAPI GdipGetSmoothingMode(GpGraphics*,SmoothingMode*);
77 GpStatus WINGDIPAPI GdipGetWorldTransform(GpGraphics*,GpMatrix*);
78 GpStatus WINGDIPAPI GdipRestoreGraphics(GpGraphics*,GraphicsState);
79 GpStatus WINGDIPAPI GdipSaveGraphics(GpGraphics*,GraphicsState*);
80 GpStatus WINGDIPAPI GdipSetCompositingQuality(GpGraphics*,CompositingQuality);
81 GpStatus WINGDIPAPI GdipSetInterpolationMode(GpGraphics*,InterpolationMode);
82 GpStatus WINGDIPAPI GdipSetPageScale(GpGraphics*,REAL);
83 GpStatus WINGDIPAPI GdipSetPageUnit(GpGraphics*,GpUnit);
84 GpStatus WINGDIPAPI GdipSetPixelOffsetMode(GpGraphics*,PixelOffsetMode);
85 GpStatus WINGDIPAPI GdipSetSmoothingMode(GpGraphics*,SmoothingMode);
86 GpStatus WINGDIPAPI GdipSetWorldTransform(GpGraphics*,GpMatrix*);
87
88 GpStatus WINGDIPAPI GdipCloneBrush(GpBrush*,GpBrush**);
89 GpStatus WINGDIPAPI GdipCreateSolidFill(ARGB,GpSolidFill**);
90 GpStatus WINGDIPAPI GdipGetBrushType(GpBrush*,GpBrushType*);
91 GpStatus WINGDIPAPI GdipDeleteBrush(GpBrush*);
92 GpStatus WINGDIPAPI GdipGetSolidFillColor(GpSolidFill*,ARGB*);
93 GpStatus WINGDIPAPI GdipSetSolidFillColor(GpSolidFill*,ARGB);
94
95 GpStatus WINGDIPAPI GdipAddPathArc(GpPath*,REAL,REAL,REAL,REAL,REAL,REAL);
96 GpStatus WINGDIPAPI GdipAddPathBeziers(GpPath*,GDIPCONST GpPointF*,INT);
97 GpStatus WINGDIPAPI GdipAddPathEllipse(GpPath*,REAL,REAL,REAL,REAL);
98 GpStatus WINGDIPAPI GdipAddPathLine2(GpPath*,GDIPCONST GpPointF*,INT);
99 GpStatus WINGDIPAPI GdipAddPathPath(GpPath*,GDIPCONST GpPath*,BOOL);
100 GpStatus WINGDIPAPI GdipClosePathFigure(GpPath*);
101 GpStatus WINGDIPAPI GdipClosePathFigures(GpPath*);
102 GpStatus WINGDIPAPI GdipCreatePath(GpFillMode,GpPath**);
103 GpStatus WINGDIPAPI GdipDeletePath(GpPath*);
104 GpStatus WINGDIPAPI GdipGetPathFillMode(GpPath*,GpFillMode*);
105 GpStatus WINGDIPAPI GdipGetPathPoints(GpPath*,GpPointF*,INT);
106 GpStatus WINGDIPAPI GdipGetPathTypes(GpPath*,BYTE*,INT);
107 GpStatus WINGDIPAPI GdipGetPathWorldBounds(GpPath*,GpRectF*,GDIPCONST GpMatrix*,
108     GDIPCONST GpPen*);
109 GpStatus WINGDIPAPI GdipGetPointCount(GpPath*,INT*);
110 GpStatus WINGDIPAPI GdipStartPathFigure(GpPath*);
111 GpStatus WINGDIPAPI GdipResetPath(GpPath*);
112 GpStatus WINGDIPAPI GdipSetPathFillMode(GpPath*,GpFillMode);
113 GpStatus WINGDIPAPI GdipTransformPath(GpPath*,GpMatrix*);
114
115 GpStatus WINGDIPAPI GdipCloneMatrix(GpMatrix*,GpMatrix**);
116 GpStatus WINGDIPAPI GdipCreateMatrix2(REAL,REAL,REAL,REAL,REAL,REAL,GpMatrix**);
117 GpStatus WINGDIPAPI GdipCreateMatrix(GpMatrix**);
118 GpStatus WINGDIPAPI GdipDeleteMatrix(GpMatrix*);
119 GpStatus WINGDIPAPI GdipGetMatrixElements(GDIPCONST GpMatrix*,REAL*);
120 GpStatus WINGDIPAPI GdipMultiplyMatrix(GpMatrix*,GpMatrix*,GpMatrixOrder);
121 GpStatus WINGDIPAPI GdipRotateMatrix(GpMatrix*,REAL,GpMatrixOrder);
122 GpStatus WINGDIPAPI GdipScaleMatrix(GpMatrix*,REAL,REAL,GpMatrixOrder);
123 GpStatus WINGDIPAPI GdipTransformMatrixPoints(GpMatrix*,GpPointF*,INT);
124 GpStatus WINGDIPAPI GdipTranslateMatrix(GpMatrix*,REAL,REAL,GpMatrixOrder);
125
126 GpStatus WINGDIPAPI GdipCreatePathIter(GpPathIterator**,GpPath*);
127 GpStatus WINGDIPAPI GdipDeletePathIter(GpPathIterator*);
128 GpStatus WINGDIPAPI GdipPathIterCopyData(GpPathIterator*,INT*,GpPointF*,BYTE*,
129     INT,INT);
130 GpStatus WINGDIPAPI GdipPathIterNextSubpath(GpPathIterator*,INT*,INT*,INT*,BOOL*);
131 GpStatus WINGDIPAPI GdipPathIterRewind(GpPathIterator*);
132
133 GpStatus WINGDIPAPI GdipCloneCustomLineCap(GpCustomLineCap*,GpCustomLineCap**);
134 GpStatus WINGDIPAPI GdipCreateCustomLineCap(GpPath*,GpPath*,GpLineCap,REAL,
135     GpCustomLineCap**);
136 GpStatus WINGDIPAPI GdipDeleteCustomLineCap(GpCustomLineCap*);
137
138 GpStatus WINGDIPAPI GdipDisposeImage(GpImage*);
139 GpStatus WINGDIPAPI GdipGetImageBounds(GpImage*,GpRectF*,GpUnit*);
140 GpStatus WINGDIPAPI GdipGetImageHeight(GpImage*,UINT*);
141 GpStatus WINGDIPAPI GdipGetImageHorizontalResolution(GpImage*,REAL*);
142 GpStatus WINGDIPAPI GdipGetImageRawFormat(GpImage*,GUID*);
143 GpStatus WINGDIPAPI GdipGetImageType(GpImage*,ImageType*);
144 GpStatus WINGDIPAPI GdipGetImageVerticalResolution(GpImage*,REAL*);
145 GpStatus WINGDIPAPI GdipGetImageWidth(GpImage*,UINT*);
146 GpStatus WINGDIPAPI GdipGetMetafileHeaderFromMetafile(GpMetafile*,MetafileHeader*);
147 GpStatus WINGDIPAPI GdipImageGetFrameCount(GpImage*,GDIPCONST GUID*,UINT*);
148
149 GpStatus WINGDIPAPI GdipCreateImageAttributes(GpImageAttributes**);
150 GpStatus WINGDIPAPI GdipDisposeImageAttributes(GpImageAttributes*);
151 GpStatus WINGDIPAPI GdipSetImageAttributesWrapMode(GpImageAttributes*,WrapMode,
152     ARGB,BOOL);
153
154 #ifdef __cplusplus
155 }
156 #endif
157
158 #endif