I've been busy with school and also with preparing for the upcoming
[mono.git] / mcs / class / System.Drawing / gdiplus / graphics-path.h
1 /*
2  * graphics-path.h
3  *
4  * Author:
5  *      Duncan Mak (duncan@ximian.com)
6  *
7  * Copyright (C) Novell, Inc. 2003.
8  */
9
10
11 #ifndef _GRAPHICS_PATH_H_
12 #define _GRAPHICS_PATH_H_
13
14 #include "gdip.h"
15
16 GpStatus GdipCreatePath (GpFillMode brushMode, GpPath **path);
17 GpStatus GdipCreatePath2 (const GpPointF *points, const byte *types, int count, GpFillMode fillMode, GpPath **path);
18 GpStatus GdipClonePath (GpPath *path, GpPath **clonePath);
19 GpStatus GdipDeletePath (GpPath *path);
20 GpStatus GdipResetPath (GpPath *path);
21 GpStatus GdipGetPointCount (GpPath *path, int *count);
22 GpStatus GdipGetPathTypes (GpPath *path, byte *types, int count);
23 GpStatus GdipGetPathPoints (GpPath *path, GpPointF *points, int count);
24 GpStatus GdipGetPathPointsI (GpPath *path, GpPoint *points, int count);
25 GpStatus GdipGetPathFillMode (GpPath *path, GpFillMode *fillmode);
26 GpStatus GdipSetPathFillMode (GpPath *path, GpFillMode fillmode);
27 GpStatus GdipGetPathData (GpPath *path, GpPathData *pathData);
28 GpStatus GdipStartPathFigure (GpPath *path);
29 GpStatus GdipClosePathFigure (GpPath *path);
30 GpStatus GdipClosePathFigures (GpPath *path);
31 GpStatus GdipSetPathMarker (GpPath *path);
32 GpStatus GdipClearPathMarker (GpPath *path);
33 GpStatus GdipReversePath (GpPath *path);
34 GpStatus GdipGetPathLastPoint (GpPath *path, GpPointF *lastPoint);
35 GpStatus GdipAddPathLine (GpPath *path, float x1, float y1, float x2, float y2);
36 GpStatus GdipAddPathLine2 (GpPath *path, const GpPointF *points, int count);
37 GpStatus GdipAddPathArc (GpPath *path, float x, float y, float width, float height, float startAngle, float sweepAngle);
38 GpStatus GdipAddPathBezier (GpPath *path, float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4);
39 GpStatus GdipAddPathBeziers (GpPath *path, const GpPointF *points, int count);
40 GpStatus GdipAddPathCurve (GpPath *path, const GpPointF *points, int count);
41 GpStatus GdipAddPathCurve2 (GpPath *path, const GpPointF *points, int count, float tension);
42 GpStatus GdipAddPathCurve3 (GpPath *path, const GpPointF *points, int count, int offset, int numberOfSegments, float tension);
43 GpStatus GdipAddPathClosedCurve (GpPath *path, const GpPointF *points, int count);
44 GpStatus GdipAddPathClosedCurve2 (GpPath *path, const GpPointF *points, int count, float tension);
45 GpStatus GdipAddPathRectangle (GpPath *path, float x, float y, float width, float height);
46 GpStatus GdipAddPathRectangles (GpPath *path, const GpRectF *rects, int count);
47 GpStatus GdipAddPathEllipse (GpPath *path, float x, float y, float width, float height);
48 GpStatus GdipAddPathPie (GpPath *path, float x, float y, float width, float height, float startAngle, float sweepAngle);
49 GpStatus GdipAddPathPolygon (GpPath *path, const GpPointF *points, int count);
50 GpStatus GdipAddPathPath (GpPath *path, GpPath *addingPath, bool connect);
51
52 GpStatus GdipAddPathLineI (GpPath *path, int x1, int y1, int x2, int y2);
53 GpStatus GdipAddPathLine2I (GpPath *path, const GpPoint *points, int count);
54 GpStatus GdipAddPathArcI (GpPath *path, int x, int y, int width, int height, float startAngle, float sweepAngle);
55 GpStatus GdipAddPathBezierI (GpPath *path, int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4);
56 GpStatus GdipAddPathBeziersI (GpPath *path, const GpPoint *points, int count);
57 GpStatus GdipAddPathCurveI (GpPath *path, const GpPoint *points, int count);
58 GpStatus GdipAddPathCurve2I (GpPath *path, const GpPoint *points, int count, float tension);
59 GpStatus GdipAddPathCurve3I (GpPath *path, const GpPoint *points, int count, int offset, int numberOfSegments, float tension);
60 GpStatus GdipAddPathClosedCurveI (GpPath *path, const GpPoint *points, int count);
61 GpStatus GdipAddPathClosedCurve2I (GpPath *path, const GpPoint *points, int count, float tension);
62 GpStatus GdipAddPathRectangleI (GpPath *path, int x, int y, int width, int height);
63 GpStatus GdipAddPathRectanglesI (GpPath *path, const GpRect *rects, int count);
64 GpStatus GdipAddPathEllipseI (GpPath *path, int x, int y, int width, int height);
65 GpStatus GdipAddPathPieI (GpPath *path, int x, int y, int width, int height, float startAngle, float sweepAngle);
66 GpStatus GdipAddPathPolygonI (GpPath *path, const GpPoint *points, int count);
67 GpStatus GdipFlattenPath (GpPath *path, GpMatrix *matrix, float flatness);
68 GpStatus GdipWindingModeOutline (GpPath *path, GpMatrix *matrix, float flatness);
69 GpStatus GdipWidenPath (GpPath *nativePath, GpPen *pen, GpMatrix *matrix, float flatness);
70 GpStatus GdipWarpPath (GpPath *nativePath, GpMatrix *matrix, const GpPointF *points, int count, 
71                 float src, float srcy, float srcwidth, float srcheight, WarpMode warpMode, float flatness);
72 GpStatus GdipTransformPath (GpPath* path, GpMatrix *matrix);
73 GpStatus GdipGetPathWorldBounds (GpPath *path, GpRectF *bounds, const GpMatrix *matrix, const GpPen *pen);
74 GpStatus GdipGetPathWorldBoundsI (GpPath *path, GpRect *bounds, const GpMatrix *matrix, const GpPen *pen);
75 GpStatus GdipIsVisiblePathPoint (GpPath *path, float x, float y, GpGraphics *graphics, bool *result);
76 GpStatus GdipIsVisiblePathPointI (GpPath *path, int x, int y, GpGraphics *graphics, bool *result);
77 GpStatus GdipIsOutlineVisiblePathPoint (GpPath *path, float x, float y, GpGraphics *graphics, bool *result);
78 GpStatus GdipIsOutlineVisiblePathPointI (GpPath *path, int x, int y, GpGraphics *graphics, bool *result);
79
80
81
82 #endif /* _GRAPHICS_PATH_H_ */