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 _GDIPLUSBRUSH_H
20 #define _GDIPLUSBRUSH_H
22 class Brush
: public GdiplusBase
25 Brush
*Clone(VOID
) const
30 Status
GetLastStatus(VOID
)
32 return NotImplemented
;
35 BrushType
GetType(VOID
)
37 return BrushTypeSolidColor
;
42 class HatchBrush
: public Brush
45 HatchBrush(HatchStyle hatchStyle
, const Color
&foreColor
, const Color
&backColor
)
49 Status
GetBackgroundColor(Color
*color
) const
51 return NotImplemented
;
54 Status
GetForegroundColor(Color
*color
) const
56 return NotImplemented
;
59 HatchStyle
GetHatchStyle(VOID
) const
61 return HatchStyleHorizontal
;
66 class LinearGradientBrush
: public Brush
69 LinearGradientBrush(const PointF
&point1
, const PointF
&point2
, const Color
&color1
, const Color
&color2
)
73 LinearGradientBrush(const Rect
&rect
, const Color
&color1
, const Color
&color2
, REAL angle
, BOOL isAngleScalable
)
77 LinearGradientBrush(const Rect
&rect
, const Color
&color1
, const Color
&color2
, LinearGradientMode mode
)
81 LinearGradientBrush(const Point
&point1
, const Point
&point2
, const Color
&color1
, const Color
&color2
)
85 LinearGradientBrush(const RectF
&rect
, const Color
&color1
, const Color
&color2
, REAL angle
, BOOL isAngleScalable
)
89 LinearGradientBrush(const RectF
&rect
, const Color
&color1
, const Color
&color2
, LinearGradientMode mode
)
93 Status
GetBlend(REAL
*blendFactors
, REAL
*blendPositions
, INT count
)
95 return NotImplemented
;
98 INT
GetBlendCount(VOID
) const
103 BOOL
GetGammaCorrection(VOID
) const
108 INT
GetInterpolationColorCount(VOID
) const
113 Status
GetInterpolationColors(Color
*presetColors
, REAL
*blendPositions
, INT count
) const
115 return NotImplemented
;
118 Status
GetLinearColors(Color
* colors
) const
120 return NotImplemented
;
123 Status
GetRectangle(Rect
*rect
) const
125 return NotImplemented
;
128 Status
GetRectangle(RectF
* rect
) const
130 return NotImplemented
;
133 Status
GetTransform(Matrix
* matrix
) const
135 return NotImplemented
;
138 WrapMode
GetWrapMode(VOID
) const
143 Status
MultiplyTransform(const Matrix
*matrix
, MatrixOrder order
)
145 return NotImplemented
;
148 Status
ResetTransform(VOID
)
150 return NotImplemented
;
153 Status
RotateTransform(REAL angle
, MatrixOrder order
)
155 return NotImplemented
;
158 Status
ScaleTransform(REAL sx
, REAL sy
, MatrixOrder order
)
160 return NotImplemented
;
163 Status
SetBlend(const REAL
*blendFactors
, const REAL
*blendPositions
, INT count
)
165 return NotImplemented
;
168 Status
SetBlendBellShape(REAL focus
, REAL scale
)
170 return NotImplemented
;
173 Status
SetBlendTriangularShape(REAL focus
, REAL scale
)
175 return NotImplemented
;
178 Status
SetGammaCorrection(BOOL useGammaCorrection
)
180 return NotImplemented
;
183 Status
SetInterpolationColors(const Color
*presetColors
, const REAL
*blendPositions
, INT count
)
185 return NotImplemented
;
188 Status
SetLinearColors(const Color
& color1
, const Color
& color2
)
190 return NotImplemented
;
193 Status
SetTransform(const Matrix
* matrix
)
195 return NotImplemented
;
198 Status
SetWrapMode(WrapMode wrapMode
)
200 return NotImplemented
;
203 Status
TranslateTransform(REAL dx
, REAL dy
, MatrixOrder order
)
205 return NotImplemented
;
210 class SolidBrush
: Brush
213 SolidBrush(const Color
&color
)
217 Status
GetColor(Color
*color
) const
219 return NotImplemented
;
222 Status
SetColor(const Color
&color
)
224 return NotImplemented
;
229 class TextureBrush
: Brush
232 TextureBrush(Image
*image
, WrapMode wrapMode
, const RectF
&dstRect
)
236 TextureBrush(Image
*image
, Rect
&dstRect
, ImageAttributes
*imageAttributes
)
240 TextureBrush(Image
*image
, WrapMode wrapMode
, INT dstX
, INT dstY
, INT dstWidth
, INT dstHeight
)
244 TextureBrush(Image
*image
, WrapMode wrapMode
, REAL dstX
, REAL dstY
, REAL dstWidth
, REAL dstHeight
)
248 TextureBrush(Image
*image
, RectF
&dstRect
, ImageAttributes
*imageAttributes
)
252 TextureBrush(Image
*image
, WrapMode wrapMode
)
256 TextureBrush(Image
*image
, WrapMode wrapMode
, const Rect
&dstRect
)
260 Image
*GetImage(VOID
) const
265 Status
GetTransform(Matrix
*matrix
) const
267 return NotImplemented
;
270 WrapMode
GetWrapMode(VOID
) const
275 Status
MultiplyTransform(Matrix
*matrix
, MatrixOrder order
)
277 return NotImplemented
;
280 Status
ResetTransform(VOID
)
282 return NotImplemented
;
285 Status
RotateTransform(REAL angle
, MatrixOrder order
)
287 return NotImplemented
;
290 Status
ScaleTransform(REAL sx
, REAL sy
, MatrixOrder order
)
292 return NotImplemented
;
295 Status
SetTransform(const Matrix
*matrix
)
297 return NotImplemented
;
300 Status
SetWrapMode(WrapMode wrapMode
)
302 return NotImplemented
;
305 Status
TranslateTransform(REAL dx
, REAL dy
, MatrixOrder order
)
307 return NotImplemented
;
311 #endif /* _GDIPLUSBRUSH_H */