gdiplus: Initial path iterator implementation.
[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 GdipCreatePen1(ARGB,REAL,GpUnit,GpPen**);
31 GpStatus WINGDIPAPI GdipDeletePen(GpPen*);
32 GpStatus WINGDIPAPI GdipSetPenEndCap(GpPen*,GpLineCap);
33 GpStatus WINGDIPAPI GdipSetPenLineCap197819(GpPen*,GpLineCap,GpLineCap,GpDashCap);
34 GpStatus WINGDIPAPI GdipSetPenLineJoin(GpPen*,GpLineJoin);
35 GpStatus WINGDIPAPI GdipSetPenMiterLimit(GpPen*,REAL);
36
37 GpStatus WINGDIPAPI GdipCreateFromHDC(HDC,GpGraphics**);
38 GpStatus WINGDIPAPI GdipCreateFromHWND(HWND,GpGraphics**);
39 GpStatus WINGDIPAPI GdipDeleteGraphics(GpGraphics *);
40 GpStatus WINGDIPAPI GdipDrawArc(GpGraphics*,GpPen*,REAL,REAL,REAL,REAL,REAL,REAL);
41 GpStatus WINGDIPAPI GdipDrawBezier(GpGraphics*,GpPen*,REAL,REAL,REAL,REAL,REAL,
42     REAL,REAL,REAL);
43 GpStatus WINGDIPAPI GdipDrawCurve2(GpGraphics*,GpPen*,GDIPCONST GpPointF*,INT,REAL);
44 GpStatus WINGDIPAPI GdipDrawLineI(GpGraphics*,GpPen*,INT,INT,INT,INT);
45 GpStatus WINGDIPAPI GdipDrawLines(GpGraphics*,GpPen*,GDIPCONST GpPointF*,INT);
46 GpStatus WINGDIPAPI GdipDrawPath(GpGraphics*,GpPen*,GpPath*);
47 GpStatus WINGDIPAPI GdipDrawPie(GpGraphics*,GpPen*,REAL,REAL,REAL,REAL,REAL,REAL);
48 GpStatus WINGDIPAPI GdipDrawRectangleI(GpGraphics*,GpPen*,INT,INT,INT,INT);
49 GpStatus WINGDIPAPI GdipFillPath(GpGraphics*,GpBrush*,GpPath*);
50 GpStatus WINGDIPAPI GdipFillPie(GpGraphics*,GpBrush*,REAL,REAL,REAL,REAL,REAL,REAL);
51 GpStatus WINGDIPAPI GdipGetCompositingQuality(GpGraphics*,CompositingQuality*);
52 GpStatus WINGDIPAPI GdipGetInterpolationMode(GpGraphics*,InterpolationMode*);
53 GpStatus WINGDIPAPI GdipGetPixelOffsetMode(GpGraphics*,PixelOffsetMode*);
54 GpStatus WINGDIPAPI GdipGetSmoothingMode(GpGraphics*,SmoothingMode*);
55 GpStatus WINGDIPAPI GdipRestoreGraphics(GpGraphics*,GraphicsState);
56 GpStatus WINGDIPAPI GdipSaveGraphics(GpGraphics*,GraphicsState*);
57 GpStatus WINGDIPAPI GdipSetCompositingQuality(GpGraphics*,CompositingQuality);
58 GpStatus WINGDIPAPI GdipSetInterpolationMode(GpGraphics*,InterpolationMode);
59 GpStatus WINGDIPAPI GdipSetPixelOffsetMode(GpGraphics*,PixelOffsetMode);
60 GpStatus WINGDIPAPI GdipSetSmoothingMode(GpGraphics*,SmoothingMode);
61
62 GpStatus WINGDIPAPI GdipCreateSolidFill(ARGB,GpSolidFill**);
63 GpStatus WINGDIPAPI GdipGetBrushType(GpBrush*,GpBrushType*);
64 GpStatus WINGDIPAPI GdipDeleteBrush(GpBrush*);
65
66 GpStatus WINGDIPAPI GdipAddPathArc(GpPath*,REAL,REAL,REAL,REAL,REAL,REAL);
67 GpStatus WINGDIPAPI GdipAddPathLine2(GpPath*,GDIPCONST GpPointF*,INT);
68 GpStatus WINGDIPAPI GdipAddPathPath(GpPath*,GDIPCONST GpPath*,BOOL);
69 GpStatus WINGDIPAPI GdipClosePathFigure(GpPath*);
70 GpStatus WINGDIPAPI GdipClosePathFigures(GpPath*);
71 GpStatus WINGDIPAPI GdipCreatePath(GpFillMode,GpPath**);
72 GpStatus WINGDIPAPI GdipDeletePath(GpPath*);
73 GpStatus WINGDIPAPI GdipGetPathFillMode(GpPath*,GpFillMode*);
74 GpStatus WINGDIPAPI GdipGetPathPoints(GpPath*,GpPointF*,INT);
75 GpStatus WINGDIPAPI GdipGetPathTypes(GpPath*,BYTE*,INT);
76 GpStatus WINGDIPAPI GdipGetPathWorldBounds(GpPath*,GpRectF*,GDIPCONST GpMatrix*,
77     GDIPCONST GpPen*);
78 GpStatus WINGDIPAPI GdipGetPointCount(GpPath*,INT*);
79 GpStatus WINGDIPAPI GdipStartPathFigure(GpPath*);
80 GpStatus WINGDIPAPI GdipResetPath(GpPath*);
81 GpStatus WINGDIPAPI GdipSetPathFillMode(GpPath*,GpFillMode);
82 GpStatus WINGDIPAPI GdipTransformPath(GpPath*,GpMatrix*);
83
84 GpStatus WINGDIPAPI GdipCreateMatrix2(REAL,REAL,REAL,REAL,REAL,REAL,GpMatrix**);
85 GpStatus WINGDIPAPI GdipDeleteMatrix(GpMatrix*);
86 GpStatus WINGDIPAPI GdipTransformMatrixPoints(GpMatrix*,GpPointF*,INT);
87
88 GpStatus WINGDIPAPI GdipCreatePathIter(GpPathIterator**,GpPath*);
89 GpStatus WINGDIPAPI GdipDeletePathIter(GpPathIterator*);
90
91 #ifdef __cplusplus
92 }
93 #endif
94
95 #endif