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
23 #pragma GCC system_header
26 class Brush
: public GdiplusBase
29 Brush
*Clone(VOID
) const
34 Status
GetLastStatus(VOID
)
36 return NotImplemented
;
39 BrushType
GetType(VOID
)
41 return BrushTypeSolidColor
;
46 class HatchBrush
: public Brush
49 HatchBrush(HatchStyle hatchStyle
, const Color
&foreColor
, const Color
&backColor
)
53 Status
GetBackgroundColor(Color
*color
) const
55 return NotImplemented
;
58 Status
GetForegroundColor(Color
*color
) const
60 return NotImplemented
;
63 HatchStyle
GetHatchStyle(VOID
) const
65 return HatchStyleHorizontal
;
70 class LinearGradientBrush
: public Brush
73 LinearGradientBrush(const PointF
&point1
, const PointF
&point2
, const Color
&color1
, const Color
&color2
)
77 LinearGradientBrush(const Rect
&rect
, const Color
&color1
, const Color
&color2
, REAL angle
, BOOL isAngleScalable
)
81 LinearGradientBrush(const Rect
&rect
, const Color
&color1
, const Color
&color2
, LinearGradientMode mode
)
85 LinearGradientBrush(const Point
&point1
, const Point
&point2
, const Color
&color1
, const Color
&color2
)
89 LinearGradientBrush(const RectF
&rect
, const Color
&color1
, const Color
&color2
, REAL angle
, BOOL isAngleScalable
)
93 LinearGradientBrush(const RectF
&rect
, const Color
&color1
, const Color
&color2
, LinearGradientMode mode
)
97 Status
GetBlend(REAL
*blendFactors
, REAL
*blendPositions
, INT count
)
99 return NotImplemented
;
102 INT
GetBlendCount(VOID
) const
107 BOOL
GetGammaCorrection(VOID
) const
112 INT
GetInterpolationColorCount(VOID
) const
117 Status
GetInterpolationColors(Color
*presetColors
, REAL
*blendPositions
, INT count
) const
119 return NotImplemented
;
122 Status
GetLinearColors(Color
* colors
) const
124 return NotImplemented
;
127 Status
GetRectangle(Rect
*rect
) const
129 return NotImplemented
;
132 Status
GetRectangle(RectF
* rect
) const
134 return NotImplemented
;
137 Status
GetTransform(Matrix
* matrix
) const
139 return NotImplemented
;
142 WrapMode
GetWrapMode(VOID
) const
147 Status
MultiplyTransform(const Matrix
*matrix
, MatrixOrder order
)
149 return NotImplemented
;
152 Status
ResetTransform(VOID
)
154 return NotImplemented
;
157 Status
RotateTransform(REAL angle
, MatrixOrder order
)
159 return NotImplemented
;
162 Status
ScaleTransform(REAL sx
, REAL sy
, MatrixOrder order
)
164 return NotImplemented
;
167 Status
SetBlend(const REAL
*blendFactors
, const REAL
*blendPositions
, INT count
)
169 return NotImplemented
;
172 Status
SetBlendBellShape(REAL focus
, REAL scale
)
174 return NotImplemented
;
177 Status
SetBlendTriangularShape(REAL focus
, REAL scale
)
179 return NotImplemented
;
182 Status
SetGammaCorrection(BOOL useGammaCorrection
)
184 return NotImplemented
;
187 Status
SetInterpolationColors(const Color
*presetColors
, const REAL
*blendPositions
, INT count
)
189 return NotImplemented
;
192 Status
SetLinearColors(const Color
& color1
, const Color
& color2
)
194 return NotImplemented
;
197 Status
SetTransform(const Matrix
* matrix
)
199 return NotImplemented
;
202 Status
SetWrapMode(WrapMode wrapMode
)
204 return NotImplemented
;
207 Status
TranslateTransform(REAL dx
, REAL dy
, MatrixOrder order
)
209 return NotImplemented
;
214 class SolidBrush
: Brush
217 SolidBrush(const Color
&color
)
221 Status
GetColor(Color
*color
) const
223 return NotImplemented
;
226 Status
SetColor(const Color
&color
)
228 return NotImplemented
;
233 class TextureBrush
: Brush
236 TextureBrush(Image
*image
, WrapMode wrapMode
, const RectF
&dstRect
)
240 TextureBrush(Image
*image
, Rect
&dstRect
, ImageAttributes
*imageAttributes
)
244 TextureBrush(Image
*image
, WrapMode wrapMode
, INT dstX
, INT dstY
, INT dstWidth
, INT dstHeight
)
248 TextureBrush(Image
*image
, WrapMode wrapMode
, REAL dstX
, REAL dstY
, REAL dstWidth
, REAL dstHeight
)
252 TextureBrush(Image
*image
, RectF
&dstRect
, ImageAttributes
*imageAttributes
)
256 TextureBrush(Image
*image
, WrapMode wrapMode
)
260 TextureBrush(Image
*image
, WrapMode wrapMode
, const Rect
&dstRect
)
264 Image
*GetImage(VOID
) const
269 Status
GetTransform(Matrix
*matrix
) const
271 return NotImplemented
;
274 WrapMode
GetWrapMode(VOID
) const
279 Status
MultiplyTransform(Matrix
*matrix
, MatrixOrder order
)
281 return NotImplemented
;
284 Status
ResetTransform(VOID
)
286 return NotImplemented
;
289 Status
RotateTransform(REAL angle
, MatrixOrder order
)
291 return NotImplemented
;
294 Status
ScaleTransform(REAL sx
, REAL sy
, MatrixOrder order
)
296 return NotImplemented
;
299 Status
SetTransform(const Matrix
*matrix
)
301 return NotImplemented
;
304 Status
SetWrapMode(WrapMode wrapMode
)
306 return NotImplemented
;
309 Status
TranslateTransform(REAL dx
, REAL dy
, MatrixOrder order
)
311 return NotImplemented
;
315 #endif /* _GDIPLUSBRUSH_H */