6 * This file is part of the w32api package.
8 * THIS SOFTWARE IS NOT COPYRIGHTED
10 * This source code is offered for use in the public domain. You may
11 * use, modify or distribute it freely.
13 * This code is distributed in the hope that it will be useful but
14 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
15 * DISCLAIMED. This includes but is not limited to warranties of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
19 #ifndef _GDIPLUSPATH_H
20 #define _GDIPLUSPATH_H
23 #pragma GCC system_header
26 class GraphicsPath
: public GdiplusBase
29 GraphicsPath(const Point
*points
, const BYTE
*types
, INT count
, FillMode fillMode
)
33 GraphicsPath(FillMode fillMode
)
37 GraphicsPath(const PointF
*points
, const BYTE
*types
, INT count
, FillMode fillMode
)
41 Status
AddArc(const Rect
&rect
, REAL startAngle
, REAL sweepAngle
)
43 return NotImplemented
;
46 Status
AddArc(const RectF
&rect
, REAL startAngle
, REAL sweepAngle
)
48 return NotImplemented
;
51 Status
AddArc(INT x
, INT y
, INT width
, INT height
, REAL startAngle
, REAL sweepAngle
)
53 return NotImplemented
;
56 Status
AddArc(REAL x
, REAL y
, REAL width
, REAL height
, REAL startAngle
, REAL sweepAngle
)
58 return NotImplemented
;
61 Status
AddBezier(const Point
&pt1
, const Point
&pt2
, const Point
&pt3
, const Point
&pt4
)
63 return NotImplemented
;
66 Status
AddBezier(REAL x1
, REAL y1
, REAL x2
, REAL y2
, REAL x3
, REAL y3
, REAL x4
, REAL y4
)
68 return NotImplemented
;
71 Status
AddBezier(const PointF
&pt1
, const PointF
&pt2
, const PointF
&pt3
, const PointF
&pt4
)
73 return NotImplemented
;
76 Status
AddBezier(INT x1
, INT y1
, INT x2
, INT y2
, INT x3
, INT y3
, INT x4
, INT y4
)
78 return NotImplemented
;
81 Status
AddBeziers(const Point
*points
, INT count
)
83 return NotImplemented
;
86 Status
AddBeziers(const PointF
*points
, INT count
)
88 return NotImplemented
;
91 Status
AddClosedCurve(const Point
*points
, INT count
)
93 return NotImplemented
;
96 Status
AddClosedCurve(const Point
*points
, INT count
, REAL tension
)
98 return NotImplemented
;
101 Status
AddClosedCurve(const PointF
*points
, INT count
, REAL tension
)
103 return NotImplemented
;
106 Status
AddClosedCurve(const PointF
*points
, INT count
)
108 return NotImplemented
;
111 Status
AddCurve(const Point
*points
, INT count
)
113 return NotImplemented
;
116 Status
AddCurve(const PointF
*points
, INT count
, REAL tension
)
118 return NotImplemented
;
121 Status
AddCurve(const PointF
*points
, INT count
)
123 return NotImplemented
;
126 Status
AddCurve(const Point
*points
, INT count
, INT offset
, INT numberOfSegments
, REAL tension
)
128 return NotImplemented
;
131 Status
AddCurve(const Point
*points
, INT count
, REAL tension
)
133 return NotImplemented
;
136 Status
AddCurve(const PointF
*points
, INT count
, INT offset
, INT numberOfSegments
, REAL tension
)
138 return NotImplemented
;
141 Status
AddEllipse(const Rect
&rect
)
143 return NotImplemented
;
146 Status
AddEllipse(const RectF
&rect
)
148 return NotImplemented
;
151 Status
AddEllipse(INT x
, INT y
, INT width
, INT height
)
153 return NotImplemented
;
156 Status
AddEllipse(REAL x
, REAL y
, REAL width
, REAL height
)
158 return NotImplemented
;
161 Status
AddLine(const Point
&pt1
, const Point
&pt2
)
163 return NotImplemented
;
166 Status
AddLine(const PointF
&pt1
, const PointF
&pt2
)
168 return NotImplemented
;
171 Status
AddLine(REAL x1
, REAL y1
, REAL x2
, REAL y2
)
173 return NotImplemented
;
176 Status
AddLine(INT x1
, INT y1
, INT x2
, INT y2
)
178 return NotImplemented
;
181 Status
AddLines(const Point
*points
, INT count
)
183 return NotImplemented
;
186 Status
AddLines(const PointF
*points
, INT count
)
188 return NotImplemented
;
191 Status
AddPath(const GraphicsPath
*addingPath
, BOOL connect
)
193 return NotImplemented
;
196 Status
AddPie(const Rect
&rect
, REAL startAngle
, REAL sweepAngle
)
198 return NotImplemented
;
201 Status
AddPie(INT x
, INT y
, INT width
, INT height
, REAL startAngle
, REAL sweepAngle
)
203 return NotImplemented
;
206 Status
AddPie(REAL x
, REAL y
, REAL width
, REAL height
, REAL startAngle
, REAL sweepAngle
)
208 return NotImplemented
;
211 Status
AddPie(const RectF
&rect
, REAL startAngle
, REAL sweepAngle
)
213 return NotImplemented
;
216 Status
AddPolygon(const Point
*points
, INT count
)
218 return NotImplemented
;
221 Status
AddPolygon(const PointF
*points
, INT count
)
223 return NotImplemented
;
226 Status
AddRectangle(const Rect
&rect
)
228 return NotImplemented
;
231 Status
AddRectangle(const RectF
&rect
)
233 return NotImplemented
;
236 Status
AddRectangles(const Rect
*rects
, INT count
)
238 return NotImplemented
;
241 Status
AddRectangles(const RectF
*rects
, INT count
)
243 return NotImplemented
;
246 Status
AddString(const WCHAR
*string
, INT length
, const FontFamily
*family
, INT style
, REAL emSize
, const Rect
&layoutRect
, const StringFormat
*format
)
248 return NotImplemented
;
251 Status
AddString(const WCHAR
*string
, INT length
, const FontFamily
*family
, INT style
, REAL emSize
, const PointF
&origin
, const StringFormat
*format
)
253 return NotImplemented
;
256 Status
AddString(const WCHAR
*string
, INT length
, const FontFamily
*family
, INT style
, REAL emSize
, const Point
&origin
, const StringFormat
*format
)
258 return NotImplemented
;
261 Status
AddString(const WCHAR
*string
, INT length
, const FontFamily
*family
, INT style
, REAL emSize
, const RectF
&layoutRect
, const StringFormat
*format
)
263 return NotImplemented
;
266 Status
ClearMarkers(VOID
)
268 return NotImplemented
;
271 GraphicsPath
*Clone(VOID
)
276 Status
CloseAllFigures(VOID
)
278 return NotImplemented
;
281 Status
CloseFigure(VOID
)
283 return NotImplemented
;
286 Status
Flatten(const Matrix
*matrix
, REAL flatness
)
288 return NotImplemented
;
291 Status
GetBounds(Rect
*bounds
, const Matrix
*matrix
, const Pen
*pen
)
293 return NotImplemented
;
296 Status
GetBounds(RectF
*bounds
, const Matrix
*matrix
, const Pen
*pen
)
298 return NotImplemented
;
301 FillMode
GetFillMode(VOID
)
303 return FillModeAlternate
;
306 Status
GetLastPoint(PointF
*lastPoint
)
308 return NotImplemented
;
311 Status
GetLastStatus(VOID
)
313 return NotImplemented
;
316 Status
GetPathData(PathData
*pathData
)
318 return NotImplemented
;
321 Status
GetPathPoints(Point
*points
, INT count
)
323 return NotImplemented
;
326 Status
GetPathPoints(PointF
*points
, INT count
)
328 return NotImplemented
;
331 Status
GetPathTypes(BYTE
*types
, INT count
)
333 return NotImplemented
;
336 INT
GetPointCount(VOID
)
341 BOOL
IsOutlineVisible(const Point
&point
, const Pen
*pen
, const Graphics
*g
)
346 BOOL
IsOutlineVisible(REAL x
, REAL y
, const Pen
*pen
, const Graphics
*g
)
351 BOOL
IsOutlineVisible(INT x
, INT y
, const Pen
*pen
, const Graphics
*g
)
356 BOOL
IsOutlineVisible(const PointF
&point
, const Pen
*pen
, const Graphics
*g
)
361 BOOL
IsVisible(REAL x
, REAL y
, const Graphics
*g
)
366 BOOL
IsVisible(const PointF
&point
, const Graphics
*g
)
371 BOOL
IsVisible(INT x
, INT y
, const Graphics
*g
)
376 BOOL
IsVisible(const Point
&point
, const Graphics
*g
)
378 return NotImplemented
;
381 Status
Outline(const Matrix
*matrix
, REAL flatness
)
383 return NotImplemented
;
388 return NotImplemented
;
393 return NotImplemented
;
396 Status
SetFillMode(FillMode fillmode
)
398 return NotImplemented
;
401 Status
SetMarker(VOID
)
403 return NotImplemented
;
406 Status
StartFigure(VOID
)
408 return NotImplemented
;
411 Status
Transform(const Matrix
*matrix
)
413 return NotImplemented
;
416 Status
Warp(const PointF
*destPoints
, INT count
, const RectF
&srcRect
, const Matrix
*matrix
, WarpMode warpMode
, REAL flatness
)
418 return NotImplemented
;
421 Status
Widen(const Pen
*pen
, const Matrix
*matrix
, REAL flatness
)
423 return NotImplemented
;
428 class GraphicsPathIterator
: public GdiplusBase
431 GraphicsPathIterator(GraphicsPath
*path
)
435 INT
CopyData(PointF
*points
, BYTE
*types
, INT startIndex
, INT endIndex
)
440 INT
Enumerate(PointF
*points
, BYTE
*types
, INT count
)
450 Status
GetLastStatus(VOID
)
452 return NotImplemented
;
455 INT
GetSubpathCount(VOID
)
465 INT
NextMarker(GraphicsPath
*path
)
470 INT
NextMarker(INT
*startIndex
, INT
*endIndex
)
475 INT
NextPathType(BYTE
*pathType
, INT
*startIndex
, INT
*endIndex
)
480 INT
NextSubpath(GraphicsPath
*path
, BOOL
*isClosed
)
485 INT
NextSubpath(INT
*startIndex
, INT
*endIndex
, BOOL
*isClosed
)
496 class PathGradientBrush
: public Brush
499 PathGradientBrush(const Point
*points
, INT count
, WrapMode wrapMode
)
503 PathGradientBrush(const PointF
*points
, INT count
, WrapMode wrapMode
)
507 PathGradientBrush(const GraphicsPath
*path
)
511 INT
GetBlendCount(VOID
)
516 Status
GetBlend(REAL
*blendFactors
, REAL
*blendPositions
, INT count
)
518 return NotImplemented
;
521 Status
GetCenterColor(Color
*color
)
523 return NotImplemented
;
526 Status
GetCenterPoint(Point
*point
)
528 return NotImplemented
;
531 Status
GetCenterPoint(PointF
*point
)
533 return NotImplemented
;
536 Status
GetFocusScales(REAL
*xScale
, REAL
*yScale
)
538 return NotImplemented
;
541 BOOL
GetGammaCorrection(VOID
)
546 Status
GetGraphicsPath(GraphicsPath
*path
)
548 return NotImplemented
;
551 INT
GetInterpolationColorCount(VOID
)
556 Status
GetInterpolationColors(Color
*presetColors
, REAL
*blendPositions
, INT count
)
558 return NotImplemented
;
561 INT
GetPointCount(VOID
)
566 Status
GetRectangle(RectF
*rect
)
568 return NotImplemented
;
571 Status
GetRectangle(Rect
*rect
)
573 return NotImplemented
;
576 INT
GetSurroundColorCount(VOID
)
581 Status
GetSurroundColors(Color
*colors
, INT
*count
)
583 return NotImplemented
;
586 Status
GetTransform(Matrix
*matrix
)
588 return NotImplemented
;
591 WrapMode
GetWrapMode(VOID
)
596 Status
MultiplyTransform(Matrix
*matrix
, MatrixOrder order
)
598 return NotImplemented
;
601 Status
ResetTransform(VOID
)
603 return NotImplemented
;
606 Status
RotateTransform(REAL angle
, MatrixOrder order
)
608 return NotImplemented
;
611 Status
ScaleTransform(REAL sx
, REAL sy
, MatrixOrder order
)
613 return NotImplemented
;
616 Status
SetBlend(REAL
*blendFactors
, REAL
*blendPositions
, INT count
)
618 return NotImplemented
;
621 Status
SetBlendBellShape(REAL focus
, REAL scale
)
623 return NotImplemented
;
626 Status
SetBlendTriangularShape(REAL focus
, REAL scale
)
628 return NotImplemented
;
631 Status
SetCenterColor(const Color
&color
)
633 return NotImplemented
;
636 Status
SetCenterPoint(const Point
&point
)
638 return NotImplemented
;
641 Status
SetCenterPoint(const PointF
&point
)
643 return NotImplemented
;
646 Status
SetFocusScales(REAL xScale
, REAL yScale
)
648 return NotImplemented
;
651 Status
SetGammaCorrection(BOOL useGammaCorrection
)
653 return NotImplemented
;
656 Status
SetGraphicsPath(const GraphicsPath
* path
)
658 return NotImplemented
;
661 Status
SetInterpolationColors(const Color
*presetColors
, REAL
*blendPositions
, INT count
)
663 return NotImplemented
;
666 Status
SetSurroundColors(const Color
*colors
, INT
*count
)
668 return NotImplemented
;
671 Status
SetTransform(const Matrix
*matrix
)
673 return NotImplemented
;
676 Status
SetWrapMode(WrapMode wrapMode
)
678 return NotImplemented
;
681 Status
TranslateTransform(REAL dx
, REAL dy
, MatrixOrder order
)
683 return NotImplemented
;
687 #endif /* _GDIPLUSPATH_H */