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
24 class Brush
: public GdiplusBase
27 Brush
*Clone(VOID
) const
32 Status
GetLastStatus(VOID
)
34 return NotImplemented
;
37 BrushType
GetType(VOID
)
39 return BrushTypeSolidColor
;
44 class HatchBrush
: public Brush
47 HatchBrush(HatchStyle hatchStyle
, const Color
&foreColor
, const Color
&backColor
)
51 Status
GetBackgroundColor(Color
*color
) const
53 return NotImplemented
;
56 Status
GetForegroundColor(Color
*color
) const
58 return NotImplemented
;
61 HatchStyle
GetHatchStyle(VOID
) const
63 return HatchStyleHorizontal
;
68 class LinearGradientBrush
: public Brush
71 LinearGradientBrush(const PointF
&point1
, const PointF
&point2
, const Color
&color1
, const Color
&color2
)
75 LinearGradientBrush(const Rect
&rect
, const Color
&color1
, const Color
&color2
, REAL angle
, BOOL isAngleScalable
)
79 LinearGradientBrush(const Rect
&rect
, const Color
&color1
, const Color
&color2
, LinearGradientMode mode
)
83 LinearGradientBrush(const Point
&point1
, const Point
&point2
, const Color
&color1
, const Color
&color2
)
87 LinearGradientBrush(const RectF
&rect
, const Color
&color1
, const Color
&color2
, REAL angle
, BOOL isAngleScalable
)
91 LinearGradientBrush(const RectF
&rect
, const Color
&color1
, const Color
&color2
, LinearGradientMode mode
)
95 Status
GetBlend(REAL
*blendFactors
, REAL
*blendPositions
, INT count
)
97 return NotImplemented
;
100 INT
GetBlendCount(VOID
) const
105 BOOL
GetGammaCorrection(VOID
) const
110 INT
GetInterpolationColorCount(VOID
) const
115 Status
GetInterpolationColors(Color
*presetColors
, REAL
*blendPositions
, INT count
) const
117 return NotImplemented
;
120 Status
GetLinearColors(Color
* colors
) const
122 return NotImplemented
;
125 Status
GetRectangle(Rect
*rect
) const
127 return NotImplemented
;
130 Status
GetRectangle(RectF
* rect
) const
132 return NotImplemented
;
135 Status
GetTransform(Matrix
* matrix
) const
137 return NotImplemented
;
140 WrapMode
GetWrapMode(VOID
) const
145 Status
MultiplyTransform(const Matrix
*matrix
, MatrixOrder order
)
147 return NotImplemented
;
150 Status
ResetTransform(VOID
)
152 return NotImplemented
;
155 Status
RotateTransform(REAL angle
, MatrixOrder order
)
157 return NotImplemented
;
160 Status
ScaleTransform(REAL sx
, REAL sy
, MatrixOrder order
)
162 return NotImplemented
;
165 Status
SetBlend(const REAL
*blendFactors
, const REAL
*blendPositions
, INT count
)
167 return NotImplemented
;
170 Status
SetBlendBellShape(REAL focus
, REAL scale
)
172 return NotImplemented
;
175 Status
SetBlendTriangularShape(REAL focus
, REAL scale
)
177 return NotImplemented
;
180 Status
SetGammaCorrection(BOOL useGammaCorrection
)
182 return NotImplemented
;
185 Status
SetInterpolationColors(const Color
*presetColors
, const REAL
*blendPositions
, INT count
)
187 return NotImplemented
;
190 Status
SetLinearColors(const Color
& color1
, const Color
& color2
)
192 return NotImplemented
;
195 Status
SetTransform(const Matrix
* matrix
)
197 return NotImplemented
;
200 Status
SetWrapMode(WrapMode wrapMode
)
202 return NotImplemented
;
205 Status
TranslateTransform(REAL dx
, REAL dy
, MatrixOrder order
)
207 return NotImplemented
;
212 class SolidBrush
: Brush
215 SolidBrush(const Color
&color
)
219 Status
GetColor(Color
*color
) const
221 return NotImplemented
;
224 Status
SetColor(const Color
&color
)
226 return NotImplemented
;
231 class TextureBrush
: Brush
234 TextureBrush(Image
*image
, WrapMode wrapMode
, const RectF
&dstRect
)
238 TextureBrush(Image
*image
, Rect
&dstRect
, ImageAttributes
*imageAttributes
)
242 TextureBrush(Image
*image
, WrapMode wrapMode
, INT dstX
, INT dstY
, INT dstWidth
, INT dstHeight
)
246 TextureBrush(Image
*image
, WrapMode wrapMode
, REAL dstX
, REAL dstY
, REAL dstWidth
, REAL dstHeight
)
250 TextureBrush(Image
*image
, RectF
&dstRect
, ImageAttributes
*imageAttributes
)
254 TextureBrush(Image
*image
, WrapMode wrapMode
)
258 TextureBrush(Image
*image
, WrapMode wrapMode
, const Rect
&dstRect
)
262 Image
*GetImage(VOID
) const
267 Status
GetTransform(Matrix
*matrix
) const
269 return NotImplemented
;
272 WrapMode
GetWrapMode(VOID
) const
277 Status
MultiplyTransform(Matrix
*matrix
, MatrixOrder order
)
279 return NotImplemented
;
282 Status
ResetTransform(VOID
)
284 return NotImplemented
;
287 Status
RotateTransform(REAL angle
, MatrixOrder order
)
289 return NotImplemented
;
292 Status
ScaleTransform(REAL sx
, REAL sy
, MatrixOrder order
)
294 return NotImplemented
;
297 Status
SetTransform(const Matrix
*matrix
)
299 return NotImplemented
;
302 Status
SetWrapMode(WrapMode wrapMode
)
304 return NotImplemented
;
307 Status
TranslateTransform(REAL dx
, REAL dy
, MatrixOrder order
)
309 return NotImplemented
;
313 #endif /* _GDIPLUSBRUSH_H */