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
22 class GraphicsPath
: public GdiplusBase
25 GraphicsPath(const Point
*points
, const BYTE
*types
, INT count
, FillMode fillMode
)
29 GraphicsPath(FillMode fillMode
)
33 GraphicsPath(const PointF
*points
, const BYTE
*types
, INT count
, FillMode fillMode
)
37 Status
AddArc(const Rect
&rect
, REAL startAngle
, REAL sweepAngle
)
39 return NotImplemented
;
42 Status
AddArc(const RectF
&rect
, REAL startAngle
, REAL sweepAngle
)
44 return NotImplemented
;
47 Status
AddArc(INT x
, INT y
, INT width
, INT height
, REAL startAngle
, REAL sweepAngle
)
49 return NotImplemented
;
52 Status
AddArc(REAL x
, REAL y
, REAL width
, REAL height
, REAL startAngle
, REAL sweepAngle
)
54 return NotImplemented
;
57 Status
AddBezier(const Point
&pt1
, const Point
&pt2
, const Point
&pt3
, const Point
&pt4
)
59 return NotImplemented
;
62 Status
AddBezier(REAL x1
, REAL y1
, REAL x2
, REAL y2
, REAL x3
, REAL y3
, REAL x4
, REAL y4
)
64 return NotImplemented
;
67 Status
AddBezier(const PointF
&pt1
, const PointF
&pt2
, const PointF
&pt3
, const PointF
&pt4
)
69 return NotImplemented
;
72 Status
AddBezier(INT x1
, INT y1
, INT x2
, INT y2
, INT x3
, INT y3
, INT x4
, INT y4
)
74 return NotImplemented
;
77 Status
AddBeziers(const Point
*points
, INT count
)
79 return NotImplemented
;
82 Status
AddBeziers(const PointF
*points
, INT count
)
84 return NotImplemented
;
87 Status
AddClosedCurve(const Point
*points
, INT count
)
89 return NotImplemented
;
92 Status
AddClosedCurve(const Point
*points
, INT count
, REAL tension
)
94 return NotImplemented
;
97 Status
AddClosedCurve(const PointF
*points
, INT count
, REAL tension
)
99 return NotImplemented
;
102 Status
AddClosedCurve(const PointF
*points
, INT count
)
104 return NotImplemented
;
107 Status
AddCurve(const Point
*points
, INT count
)
109 return NotImplemented
;
112 Status
AddCurve(const PointF
*points
, INT count
, REAL tension
)
114 return NotImplemented
;
117 Status
AddCurve(const PointF
*points
, INT count
)
119 return NotImplemented
;
122 Status
AddCurve(const Point
*points
, INT count
, INT offset
, INT numberOfSegments
, REAL tension
)
124 return NotImplemented
;
127 Status
AddCurve(const Point
*points
, INT count
, REAL tension
)
129 return NotImplemented
;
132 Status
AddCurve(const PointF
*points
, INT count
, INT offset
, INT numberOfSegments
, REAL tension
)
134 return NotImplemented
;
137 Status
AddEllipse(const Rect
&rect
)
139 return NotImplemented
;
142 Status
AddEllipse(const RectF
&rect
)
144 return NotImplemented
;
147 Status
AddEllipse(INT x
, INT y
, INT width
, INT height
)
149 return NotImplemented
;
152 Status
AddEllipse(REAL x
, REAL y
, REAL width
, REAL height
)
154 return NotImplemented
;
157 Status
AddLine(const Point
&pt1
, const Point
&pt2
)
159 return NotImplemented
;
162 Status
AddLine(const PointF
&pt1
, const PointF
&pt2
)
164 return NotImplemented
;
167 Status
AddLine(REAL x1
, REAL y1
, REAL x2
, REAL y2
)
169 return NotImplemented
;
172 Status
AddLine(INT x1
, INT y1
, INT x2
, INT y2
)
174 return NotImplemented
;
177 Status
AddLines(const Point
*points
, INT count
)
179 return NotImplemented
;
182 Status
AddLines(const PointF
*points
, INT count
)
184 return NotImplemented
;
187 Status
AddPath(const GraphicsPath
*addingPath
, BOOL connect
)
189 return NotImplemented
;
192 Status
AddPie(const Rect
&rect
, REAL startAngle
, REAL sweepAngle
)
194 return NotImplemented
;
197 Status
AddPie(INT x
, INT y
, INT width
, INT height
, REAL startAngle
, REAL sweepAngle
)
199 return NotImplemented
;
202 Status
AddPie(REAL x
, REAL y
, REAL width
, REAL height
, REAL startAngle
, REAL sweepAngle
)
204 return NotImplemented
;
207 Status
AddPie(const RectF
&rect
, REAL startAngle
, REAL sweepAngle
)
209 return NotImplemented
;
212 Status
AddPolygon(const Point
*points
, INT count
)
214 return NotImplemented
;
217 Status
AddPolygon(const PointF
*points
, INT count
)
219 return NotImplemented
;
222 Status
AddRectangle(const Rect
&rect
)
224 return NotImplemented
;
227 Status
AddRectangle(const RectF
&rect
)
229 return NotImplemented
;
232 Status
AddRectangles(const Rect
*rects
, INT count
)
234 return NotImplemented
;
237 Status
AddRectangles(const RectF
*rects
, INT count
)
239 return NotImplemented
;
242 Status
AddString(const WCHAR
*string
, INT length
, const FontFamily
*family
, INT style
, REAL emSize
, const Rect
&layoutRect
, const StringFormat
*format
)
244 return NotImplemented
;
247 Status
AddString(const WCHAR
*string
, INT length
, const FontFamily
*family
, INT style
, REAL emSize
, const PointF
&origin
, const StringFormat
*format
)
249 return NotImplemented
;
252 Status
AddString(const WCHAR
*string
, INT length
, const FontFamily
*family
, INT style
, REAL emSize
, const Point
&origin
, const StringFormat
*format
)
254 return NotImplemented
;
257 Status
AddString(const WCHAR
*string
, INT length
, const FontFamily
*family
, INT style
, REAL emSize
, const RectF
&layoutRect
, const StringFormat
*format
)
259 return NotImplemented
;
262 Status
ClearMarkers(VOID
)
264 return NotImplemented
;
267 GraphicsPath
*Clone(VOID
)
272 Status
CloseAllFigures(VOID
)
274 return NotImplemented
;
277 Status
CloseFigure(VOID
)
279 return NotImplemented
;
282 Status
Flatten(const Matrix
*matrix
, REAL flatness
)
284 return NotImplemented
;
287 Status
GetBounds(Rect
*bounds
, const Matrix
*matrix
, const Pen
*pen
)
289 return NotImplemented
;
292 Status
GetBounds(RectF
*bounds
, const Matrix
*matrix
, const Pen
*pen
)
294 return NotImplemented
;
297 FillMode
GetFillMode(VOID
)
299 return FillModeAlternate
;
302 Status
GetLastPoint(PointF
*lastPoint
)
304 return NotImplemented
;
307 Status
GetLastStatus(VOID
)
309 return NotImplemented
;
312 Status
GetPathData(PathData
*pathData
)
314 return NotImplemented
;
317 Status
GetPathPoints(Point
*points
, INT count
)
319 return NotImplemented
;
322 Status
GetPathPoints(PointF
*points
, INT count
)
324 return NotImplemented
;
327 Status
GetPathTypes(BYTE
*types
, INT count
)
329 return NotImplemented
;
332 INT
GetPointCount(VOID
)
337 BOOL
IsOutlineVisible(const Point
&point
, const Pen
*pen
, const Graphics
*g
)
342 BOOL
IsOutlineVisible(REAL x
, REAL y
, const Pen
*pen
, const Graphics
*g
)
347 BOOL
IsOutlineVisible(INT x
, INT y
, const Pen
*pen
, const Graphics
*g
)
352 BOOL
IsOutlineVisible(const PointF
&point
, const Pen
*pen
, const Graphics
*g
)
357 BOOL
IsVisible(REAL x
, REAL y
, const Graphics
*g
)
362 BOOL
IsVisible(const PointF
&point
, const Graphics
*g
)
367 BOOL
IsVisible(INT x
, INT y
, const Graphics
*g
)
372 BOOL
IsVisible(const Point
&point
, const Graphics
*g
)
374 return NotImplemented
;
377 Status
Outline(const Matrix
*matrix
, REAL flatness
)
379 return NotImplemented
;
384 return NotImplemented
;
389 return NotImplemented
;
392 Status
SetFillMode(FillMode fillmode
)
394 return NotImplemented
;
397 Status
SetMarker(VOID
)
399 return NotImplemented
;
402 Status
StartFigure(VOID
)
404 return NotImplemented
;
407 Status
Transform(const Matrix
*matrix
)
409 return NotImplemented
;
412 Status
Warp(const PointF
*destPoints
, INT count
, const RectF
&srcRect
, const Matrix
*matrix
, WarpMode warpMode
, REAL flatness
)
414 return NotImplemented
;
417 Status
Widen(const Pen
*pen
, const Matrix
*matrix
, REAL flatness
)
419 return NotImplemented
;
424 class GraphicsPathIterator
: public GdiplusBase
427 GraphicsPathIterator(GraphicsPath
*path
)
431 INT
CopyData(PointF
*points
, BYTE
*types
, INT startIndex
, INT endIndex
)
436 INT
Enumerate(PointF
*points
, BYTE
*types
, INT count
)
446 Status
GetLastStatus(VOID
)
448 return NotImplemented
;
451 INT
GetSubpathCount(VOID
)
461 INT
NextMarker(GraphicsPath
*path
)
466 INT
NextMarker(INT
*startIndex
, INT
*endIndex
)
471 INT
NextPathType(BYTE
*pathType
, INT
*startIndex
, INT
*endIndex
)
476 INT
NextSubpath(GraphicsPath
*path
, BOOL
*isClosed
)
481 INT
NextSubpath(INT
*startIndex
, INT
*endIndex
, BOOL
*isClosed
)
492 class PathGradientBrush
: public Brush
495 PathGradientBrush(const Point
*points
, INT count
, WrapMode wrapMode
)
499 PathGradientBrush(const PointF
*points
, INT count
, WrapMode wrapMode
)
503 PathGradientBrush(const GraphicsPath
*path
)
507 INT
GetBlendCount(VOID
)
512 Status
GetBlend(REAL
*blendFactors
, REAL
*blendPositions
, INT count
)
514 return NotImplemented
;
517 Status
GetCenterColor(Color
*color
)
519 return NotImplemented
;
522 Status
GetCenterPoint(Point
*point
)
524 return NotImplemented
;
527 Status
GetCenterPoint(PointF
*point
)
529 return NotImplemented
;
532 Status
GetFocusScales(REAL
*xScale
, REAL
*yScale
)
534 return NotImplemented
;
537 BOOL
GetGammaCorrection(VOID
)
542 Status
GetGraphicsPath(GraphicsPath
*path
)
544 return NotImplemented
;
547 INT
GetInterpolationColorCount(VOID
)
552 Status
GetInterpolationColors(Color
*presetColors
, REAL
*blendPositions
, INT count
)
554 return NotImplemented
;
557 INT
GetPointCount(VOID
)
562 Status
GetRectangle(RectF
*rect
)
564 return NotImplemented
;
567 Status
GetRectangle(Rect
*rect
)
569 return NotImplemented
;
572 INT
GetSurroundColorCount(VOID
)
577 Status
GetSurroundColors(Color
*colors
, INT
*count
)
579 return NotImplemented
;
582 Status
GetTransform(Matrix
*matrix
)
584 return NotImplemented
;
587 WrapMode
GetWrapMode(VOID
)
592 Status
MultiplyTransform(Matrix
*matrix
, MatrixOrder order
)
594 return NotImplemented
;
597 Status
ResetTransform(VOID
)
599 return NotImplemented
;
602 Status
RotateTransform(REAL angle
, MatrixOrder order
)
604 return NotImplemented
;
607 Status
ScaleTransform(REAL sx
, REAL sy
, MatrixOrder order
)
609 return NotImplemented
;
612 Status
SetBlend(REAL
*blendFactors
, REAL
*blendPositions
, INT count
)
614 return NotImplemented
;
617 Status
SetBlendBellShape(REAL focus
, REAL scale
)
619 return NotImplemented
;
622 Status
SetBlendTriangularShape(REAL focus
, REAL scale
)
624 return NotImplemented
;
627 Status
SetCenterColor(const Color
&color
)
629 return NotImplemented
;
632 Status
SetCenterPoint(const Point
&point
)
634 return NotImplemented
;
637 Status
SetCenterPoint(const PointF
&point
)
639 return NotImplemented
;
642 Status
SetFocusScales(REAL xScale
, REAL yScale
)
644 return NotImplemented
;
647 Status
SetGammaCorrection(BOOL useGammaCorrection
)
649 return NotImplemented
;
652 Status
SetGraphicsPath(const GraphicsPath
* path
)
654 return NotImplemented
;
657 Status
SetInterpolationColors(const Color
*presetColors
, REAL
*blendPositions
, INT count
)
659 return NotImplemented
;
662 Status
SetSurroundColors(const Color
*colors
, INT
*count
)
664 return NotImplemented
;
667 Status
SetTransform(const Matrix
*matrix
)
669 return NotImplemented
;
672 Status
SetWrapMode(WrapMode wrapMode
)
674 return NotImplemented
;
677 Status
TranslateTransform(REAL dx
, REAL dy
, MatrixOrder order
)
679 return NotImplemented
;
683 #endif /* _GDIPLUSPATH_H */