ReactOS  0.4.15-dev-1377-ga59cecd
gdiplusbrush.h
Go to the documentation of this file.
1 /*
2  * GdiPlusBrush.h
3  *
4  * Windows GDI+
5  *
6  * This file is part of the w32api package.
7  *
8  * THIS SOFTWARE IS NOT COPYRIGHTED
9  *
10  * This source code is offered for use in the public domain. You may
11  * use, modify or distribute it freely.
12  *
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.
17  */
18 
19 #ifndef _GDIPLUSBRUSH_H
20 #define _GDIPLUSBRUSH_H
21 
22 class Brush : public GdiplusBase
23 {
24  public:
25  friend class Graphics;
26  friend class Pen;
27 
28  virtual ~Brush()
29  {
31  }
32 
33  Brush *
34  Clone() const
35  {
36  GpBrush *brush = NULL;
38  if (lastStatus != Ok)
39  return NULL;
40 
41  Brush *newBrush = new Brush(brush, lastStatus);
42  if (newBrush == NULL)
43  {
45  }
46  return newBrush;
47  }
48 
49  Status
50  GetLastStatus() const
51  {
52  return lastStatus;
53  }
54 
55  BrushType
56  GetType() const
57  {
60  return type;
61  }
62 
63  protected:
65  mutable Status lastStatus;
66 
68  {
69  }
70 
72  {
73  }
74 
75  Status
77  {
78  if (status != Ok)
80  return status;
81  }
82 
83  void
85  {
86  nativeBrush = brush;
87  }
88 
89  private:
90  // Brush is not copyable
91  Brush(const Brush &);
92  Brush &
93  operator=(const Brush &);
94 
95  // get native
96  friend inline GpBrush *&
97  getNat(const Brush *brush)
98  {
99  return const_cast<Brush *>(brush)->nativeBrush;
100  }
101 };
102 
103 class HatchBrush : public Brush
104 {
105  public:
106  friend class Pen;
107 
108  HatchBrush(HatchStyle hatchStyle, const Color &foreColor, const Color &backColor)
109  {
110  GpHatch *brush = NULL;
111  lastStatus = DllExports::GdipCreateHatchBrush(hatchStyle, foreColor.GetValue(), backColor.GetValue(), &brush);
112  SetNativeBrush(brush);
113  }
114 
115  Status
117  {
118  if (!color)
119  return SetStatus(InvalidParameter);
120 
121  ARGB argb;
122  GpHatch *hatch = GetNativeHatch();
124 
125  color->SetValue(argb);
126  return lastStatus;
127  }
128 
129  Status
131  {
132  if (!color)
133  return SetStatus(InvalidParameter);
134 
135  ARGB argb;
136  GpHatch *hatch = GetNativeHatch();
138 
139  color->SetValue(argb);
140  return lastStatus;
141  }
142 
143  HatchStyle
145  {
146  HatchStyle hatchStyle;
147  GpHatch *hatch = GetNativeHatch();
148  SetStatus(DllExports::GdipGetHatchStyle(hatch, &hatchStyle));
149  return hatchStyle;
150  }
151 
152  protected:
154  {
155  }
156 
157  GpHatch *
159  {
160  return static_cast<GpHatch *>(nativeBrush);
161  }
162 };
163 
165 {
166  public:
167  friend class Pen;
168 
169  LinearGradientBrush(const PointF &point1, const PointF &point2, const Color &color1, const Color &color2)
170  {
171  GpLineGradient *brush = NULL;
173  &point1, &point2, color1.GetValue(), color2.GetValue(), WrapModeTile, &brush);
174  SetNativeBrush(brush);
175  }
176 
178  const Rect &rect,
179  const Color &color1,
180  const Color &color2,
181  REAL angle,
182  BOOL isAngleScalable = FALSE)
183  {
184  GpLineGradient *brush = NULL;
186  &rect, color1.GetValue(), color2.GetValue(), angle, isAngleScalable, WrapModeTile, &brush);
187  SetNativeBrush(brush);
188  }
189 
190  LinearGradientBrush(const Rect &rect, const Color &color1, const Color &color2, LinearGradientMode mode)
191  {
192  GpLineGradient *brush = NULL;
194  &rect, color1.GetValue(), color2.GetValue(), mode, WrapModeTile, &brush);
195  SetNativeBrush(brush);
196  }
197 
198  LinearGradientBrush(const Point &point1, const Point &point2, const Color &color1, const Color &color2)
199  {
200  GpLineGradient *brush = NULL;
202  &point1, &point2, color1.GetValue(), color2.GetValue(), WrapModeTile, &brush);
203  SetNativeBrush(brush);
204  }
205 
207  const RectF &rect,
208  const Color &color1,
209  const Color &color2,
210  REAL angle,
211  BOOL isAngleScalable = FALSE)
212  {
213  GpLineGradient *brush = NULL;
215  &rect, color1.GetValue(), color2.GetValue(), angle, isAngleScalable, WrapModeTile, &brush);
216  SetNativeBrush(brush);
217  }
218 
219  LinearGradientBrush(const RectF &rect, const Color &color1, const Color &color2, LinearGradientMode mode)
220  {
221  GpLineGradient *brush = NULL;
223  &rect, color1.GetValue(), color2.GetValue(), mode, WrapModeTile, &brush);
224  SetNativeBrush(brush);
225  }
226 
227  Status
228  GetBlend(REAL *blendFactors, REAL *blendPositions, INT count)
229  {
230  GpLineGradient *gradient = GetNativeGradient();
231  return SetStatus(DllExports::GdipGetLineBlend(gradient, blendFactors, blendPositions, count));
232  }
233 
234  INT
236  {
237  INT count = 0;
238  GpLineGradient *gradient = GetNativeGradient();
240  return count;
241  }
242 
243  BOOL
245  {
246  BOOL useGammaCorrection;
247  GpLineGradient *gradient = GetNativeGradient();
248  SetStatus(DllExports::GdipGetLineGammaCorrection(gradient, &useGammaCorrection));
249  return useGammaCorrection;
250  }
251 
252  INT
254  {
255  INT count = 0;
256  GpLineGradient *gradient = GetNativeGradient();
258  return count;
259  }
260 
261  Status
262  GetInterpolationColors(Color *presetColors, REAL *blendPositions, INT count) const
263  {
264  return SetStatus(NotImplemented);
265  }
266 
267  Status
268  GetLinearColors(Color *colors) const
269  {
270  if (!colors)
271  return SetStatus(InvalidParameter);
272 
273  GpLineGradient *gradient = GetNativeGradient();
274 
275  ARGB argb[2];
276  SetStatus(DllExports::GdipGetLineColors(gradient, argb));
277  if (lastStatus == Ok)
278  {
279  colors[0] = Color(argb[0]);
280  colors[1] = Color(argb[1]);
281  }
282  return lastStatus;
283  }
284 
285  Status
287  {
288  GpLineGradient *gradient = GetNativeGradient();
289  return SetStatus(DllExports::GdipGetLineRectI(gradient, rect));
290  }
291 
292  Status
294  {
295  GpLineGradient *gradient = GetNativeGradient();
296  return SetStatus(DllExports::GdipGetLineRect(gradient, rect));
297  }
298 
299  Status
301  {
302  GpLineGradient *gradient = GetNativeGradient();
304  }
305 
306  WrapMode
307  GetWrapMode() const
308  {
309 
310  WrapMode wrapMode;
311  GpLineGradient *gradient = GetNativeGradient();
312  SetStatus(DllExports::GdipGetLineWrapMode(gradient, &wrapMode));
313  return wrapMode;
314  }
315 
316  Status
318  {
319  GpLineGradient *gradient = GetNativeGradient();
321  }
322 
323  Status
325  {
326  GpLineGradient *gradient = GetNativeGradient();
328  }
329 
330  Status
332  {
333  GpLineGradient *gradient = GetNativeGradient();
335  }
336 
337  Status
339  {
340  GpLineGradient *gradient = GetNativeGradient();
341  return SetStatus(DllExports::GdipScaleLineTransform(gradient, sx, sy, order));
342  }
343 
344  Status
345  SetBlend(const REAL *blendFactors, const REAL *blendPositions, INT count)
346  {
347  GpLineGradient *gradient = GetNativeGradient();
348  return SetStatus(DllExports::GdipSetLineBlend(gradient, blendFactors, blendPositions, count));
349  }
350 
351  Status
353  {
354  GpLineGradient *gradient = GetNativeGradient();
355  return SetStatus(DllExports::GdipSetLineSigmaBlend(gradient, focus, scale));
356  }
357 
358  Status
360  {
361  GpLineGradient *gradient = GetNativeGradient();
362  return SetStatus(DllExports::GdipSetLineLinearBlend(gradient, focus, scale));
363  }
364 
365  Status
366  SetGammaCorrection(BOOL useGammaCorrection)
367  {
368  GpLineGradient *gradient = GetNativeGradient();
369  return SetStatus(DllExports::GdipSetLineGammaCorrection(gradient, useGammaCorrection));
370  }
371 
372  Status
373  SetInterpolationColors(const Color *presetColors, const REAL *blendPositions, INT count)
374  {
375  return SetStatus(NotImplemented);
376  }
377 
378  Status
379  SetLinearColors(const Color &color1, const Color &color2)
380  {
381  GpLineGradient *gradient = GetNativeGradient();
382  return SetStatus(DllExports::GdipSetLineColors(gradient, color1.GetValue(), color2.GetValue()));
383  }
384 
385  Status
387  {
388  GpLineGradient *gradient = GetNativeGradient();
390  }
391 
392  Status
394  {
395  GpLineGradient *gradient = GetNativeGradient();
396  return SetStatus(DllExports::GdipSetLineWrapMode(gradient, wrapMode));
397  }
398 
399  Status
401  {
402  GpLineGradient *gradient = GetNativeGradient();
404  }
405 
406  Status
407  SetLinearPoints(const PointF &point1, const PointF &point2)
408  {
409 #if 1
410  return SetStatus(NotImplemented);
411 #else
412  GpLineGradient *gradient = GetNativeGradient();
413  return SetStatus(DllExports::GdipSetLinePoints(gradient, &point1, &point2));
414 #endif
415  }
416 
417  Status
419  {
420 #if 1
421  return SetStatus(NotImplemented);
422 #else
423  GpLineGradient *gradient = GetNativeGradient();
424  return SetStatus(DllExports::GdipGetLinePoints(gradient, points));
425 #endif
426  }
427 
428  Status
429  SetLinearPoints(const Point &point1, const Point &point2)
430  {
431 #if 1
432  return SetStatus(NotImplemented);
433 #else
434  GpLineGradient *gradient = GetNativeGradient();
435  return SetStatus(DllExports::GdipSetLinePointsI(gradient, &point1, &point2));
436 #endif
437  }
438 
439  Status
441  {
442 #if 1
443  return SetStatus(NotImplemented);
444 #else
445  GpLineGradient *gradient = GetNativeGradient();
446  return SetStatus(DllExports::GdipGetLinePointsI(gradient, points));
447 #endif
448  }
449 
450  protected:
453  {
454  return static_cast<GpLineGradient *>(nativeBrush);
455  }
456 };
457 
459 {
460  public:
461  friend class Pen;
462 
464  {
465  GpSolidFill *brush = NULL;
466  lastStatus = DllExports::GdipCreateSolidFill(color.GetValue(), &brush);
467  SetNativeBrush(brush);
468  }
469 
470  Status
472  {
473  if (!color)
474  return SetStatus(InvalidParameter);
475 
476  ARGB argb;
479 
480  *color = Color(argb);
481  return lastStatus;
482  }
483 
484  Status
486  {
489  }
490 
491  protected:
493  {
494  }
495 
496  GpSolidFill *
498  {
499  return static_cast<GpSolidFill *>(nativeBrush);
500  }
501 };
502 
504 {
505  public:
506  TextureBrush(Image *image, WrapMode wrapMode, const RectF &dstRect)
507  {
510  getNat(image), wrapMode, dstRect.X, dstRect.Y, dstRect.Width, dstRect.Height, &texture);
512  }
513 
514  TextureBrush(Image *image, Rect &dstRect, ImageAttributes *imageAttributes)
515  {
517  GpImageAttributes *attrs = imageAttributes ? getNat(imageAttributes) : NULL;
519  getNat(image), attrs, dstRect.X, dstRect.Y, dstRect.Width, dstRect.Height, &texture);
521  }
522 
523  TextureBrush(Image *image, WrapMode wrapMode, INT dstX, INT dstY, INT dstWidth, INT dstHeight)
524  {
526  lastStatus =
527  DllExports::GdipCreateTexture2I(getNat(image), wrapMode, dstX, dstY, dstWidth, dstHeight, &texture);
529  }
530 
531  TextureBrush(Image *image, WrapMode wrapMode, REAL dstX, REAL dstY, REAL dstWidth, REAL dstHeight)
532  {
534  lastStatus = DllExports::GdipCreateTexture2(getNat(image), wrapMode, dstX, dstY, dstWidth, dstHeight, &texture);
536  }
537 
538  TextureBrush(Image *image, RectF &dstRect, ImageAttributes *imageAttributes)
539  {
541  GpImageAttributes *attrs = imageAttributes ? getNat(imageAttributes) : NULL;
543  getNat(image), attrs, dstRect.X, dstRect.Y, dstRect.Width, dstRect.Height, &texture);
545  }
546 
548  {
552  }
553 
554  TextureBrush(Image *image, WrapMode wrapMode, const Rect &dstRect)
555  {
558  getNat(image), wrapMode, dstRect.X, dstRect.Y, dstRect.Width, dstRect.Height, &texture);
560  }
561 
562  // Defined in "gdiplusheaders.h":
563  Image *
564  GetImage() const;
565 
566  Status
568  {
571  }
572 
573  WrapMode
574  GetWrapMode() const
575  {
576  WrapMode wrapMode;
579  return wrapMode;
580  }
581 
582  Status
584  {
587  }
588 
589  Status
591  {
594  }
595 
596  Status
598  {
601  }
602 
603  Status
605  {
608  }
609 
610  Status
612  {
615  }
616 
617  Status
619  {
622  }
623 
624  Status
626  {
629  }
630 
631  protected:
632  GpTexture *
634  {
635  return static_cast<GpTexture *>(nativeBrush);
636  }
637 
639  {
640  }
641 };
642 
643 #endif /* _GDIPLUSBRUSH_H */
GpStatus WINGDIPAPI GdipGetSolidFillColor(GpSolidFill *sf, ARGB *argb)
Definition: brush.c:1273
Status ScaleTransform(REAL sx, REAL sy, MatrixOrder order=MatrixOrderPrepend)
Definition: gdiplusbrush.h:338
LinearGradientBrush(const RectF &rect, const Color &color1, const Color &color2, LinearGradientMode mode)
Definition: gdiplusbrush.h:219
GpStatus WINGDIPAPI GdipSetTextureTransform(GpTexture *texture, GDIPCONST GpMatrix *matrix)
Definition: brush.c:1939
Status RotateTransform(REAL angle, MatrixOrder order)
Definition: gdiplusbrush.h:331
GLuint GLdouble GLdouble GLint GLint order
Definition: glext.h:11194
Status SetInterpolationColors(const Color *presetColors, const REAL *blendPositions, INT count)
Definition: gdiplusbrush.h:373
SolidBrush(const Color &color)
Definition: gdiplusbrush.h:463
GpStatus WINGDIPAPI GdipScaleLineTransform(GpLineGradient *brush, REAL sx, REAL sy, GpMatrixOrder order)
Definition: brush.c:2141
HatchStyle
Definition: gdiplusenums.h:389
GpStatus WINGDIPAPI GdipResetLineTransform(GpLineGradient *brush)
Definition: brush.c:2106
LinearGradientMode
Definition: gdiplusenums.h:224
Brush * Clone() const
Definition: gdiplusbrush.h:34
Status SetLinearColors(const Color &color1, const Color &color2)
Definition: gdiplusbrush.h:379
GpStatus WINGDIPAPI GdipGetLineWrapMode(GpLineGradient *brush, GpWrapMode *wrapmode)
Definition: brush.c:1043
void SetNativeBrush(GpBrush *brush)
Definition: gdiplusbrush.h:84
Status SetBlend(const REAL *blendFactors, const REAL *blendPositions, INT count)
Definition: gdiplusbrush.h:345
Status GetTransform(Matrix *matrix) const
Definition: gdiplusbrush.h:300
GLenum GLint GLint GLint GLint GLuint GLenum GLint GLint GLint dstY
Definition: glext.h:11259
GpStatus WINGDIPAPI GdipCreateLineBrushFromRectWithAngleI(GDIPCONST GpRect *rect, ARGB startcolor, ARGB endcolor, REAL angle, BOOL isAngleScalable, GpWrapMode wrap, GpLineGradient **line)
Definition: brush.c:593
INT GetBlendCount() const
Definition: gdiplusbrush.h:235
WrapMode
Definition: gdiplusenums.h:205
GpStatus WINGDIPAPI GdipSetLineTransform(GpLineGradient *brush, GDIPCONST GpMatrix *matrix)
Definition: brush.c:2116
GpStatus WINGDIPAPI GdipGetLineColors(GpLineGradient *brush, ARGB *colors)
Definition: brush.c:1983
GpStatus WINGDIPAPI GdipCreateLineBrushI(GDIPCONST GpPoint *startpoint, GDIPCONST GpPoint *endpoint, ARGB startcolor, ARGB endcolor, GpWrapMode wrap, GpLineGradient **line)
Definition: brush.c:415
Status TranslateTransform(REAL dx, REAL dy, MatrixOrder order)
Definition: gdiplusbrush.h:625
GLuint GLenum matrix
Definition: glext.h:9407
INT Width
Definition: gdiplustypes.h:671
GLuint GLuint GLsizei count
Definition: gl.h:1545
GLint dy
Definition: linetemp.h:97
GLenum GLenum GLenum GLenum GLenum scale
Definition: glext.h:9032
Status SetBlendTriangularShape(REAL focus, REAL scale=1.0f)
Definition: gdiplusbrush.h:359
Status TranslateTransform(REAL dx, REAL dy, MatrixOrder order=MatrixOrderPrepend)
Definition: gdiplusbrush.h:400
WrapMode GetWrapMode() const
Definition: gdiplusbrush.h:307
TextureBrush(Image *image, Rect &dstRect, ImageAttributes *imageAttributes)
Definition: gdiplusbrush.h:514
Status SetTransform(const Matrix *matrix)
Definition: gdiplusbrush.h:386
GpStatus WINGDIPAPI GdipCreateTexture(GpImage *image, GpWrapMode wrapmode, GpTexture **texture)
Definition: brush.c:786
GpStatus WINGDIPAPI GdipSetTextureWrapMode(GpTexture *brush, GpWrapMode wrapmode)
Definition: brush.c:1957
Status lastStatus
Definition: gdiplusbrush.h:65
TextureBrush(Image *image, WrapMode wrapMode, const Rect &dstRect)
Definition: gdiplusbrush.h:554
Status GetLinearColors(Color *colors) const
Definition: gdiplusbrush.h:268
GpStatus WINGDIPAPI GdipSetSolidFillColor(GpSolidFill *sf, ARGB argb)
Definition: brush.c:1925
GpStatus WINGDIPAPI GdipGetLineBlend(GpLineGradient *brush, REAL *factors, REAL *positions, INT count)
Definition: brush.c:1403
GpStatus WINGDIPAPI GdipGetLineBlendCount(GpLineGradient *brush, INT *count)
Definition: brush.c:1420
GLfloat angle
Definition: glext.h:10853
Status MultiplyTransform(const Matrix *matrix, MatrixOrder order)
Definition: gdiplusbrush.h:317
BOOL GetGammaCorrection() const
Definition: gdiplusbrush.h:244
int32_t INT
Definition: typedefs.h:58
GpStatus WINGDIPAPI GdipCreateLineBrushFromRectI(GDIPCONST GpRect *rect, ARGB startcolor, ARGB endcolor, LinearGradientMode mode, GpWrapMode wrap, GpLineGradient **line)
Definition: brush.c:469
virtual ~Brush()
Definition: gdiplusbrush.h:28
& rect
Definition: startmenu.cpp:1413
GpStatus WINGDIPAPI GdipSetLineColors(GpLineGradient *brush, ARGB color1, ARGB color2)
Definition: brush.c:1969
friend GpBrush *& getNat(const Brush *brush)
Definition: gdiplusbrush.h:97
struct Color Color
Status GetRectangle(RectF *rect) const
Definition: gdiplusbrush.h:293
GpStatus WINGDIPAPI GdipCreateLineBrush(GDIPCONST GpPointF *startpoint, GDIPCONST GpPointF *endpoint, ARGB startcolor, ARGB endcolor, GpWrapMode wrap, GpLineGradient **line)
Definition: brush.c:372
Status GetTransform(Matrix *matrix) const
Definition: gdiplusbrush.h:567
Status ScaleTransform(REAL sx, REAL sy, MatrixOrder order)
Definition: gdiplusbrush.h:604
#define FALSE
Definition: types.h:117
unsigned int BOOL
Definition: ntddk_ex.h:94
GLuint color
Definition: glext.h:6243
Brush & operator=(const Brush &)
Status GetLinearPoints(Point *points) const
Definition: gdiplusbrush.h:440
INT X
Definition: gdiplustypes.h:669
GpStatus WINGDIPAPI GdipGetLinePresetBlendCount(GpLineGradient *brush, INT *count)
Definition: brush.c:2095
Status SetLinearPoints(const Point &point1, const Point &point2)
Definition: gdiplusbrush.h:429
GpStatus WINGDIPAPI GdipGetLineRect(GpLineGradient *brush, GpRectF *rect)
Definition: brush.c:2191
HatchStyle GetHatchStyle() const
Definition: gdiplusbrush.h:144
GpStatus WINGDIPAPI GdipSetLineBlend(GpLineGradient *brush, GDIPCONST REAL *factors, GDIPCONST REAL *positions, INT count)
Definition: brush.c:1369
LinearGradientBrush(const RectF &rect, const Color &color1, const Color &color2, REAL angle, BOOL isAngleScalable=FALSE)
Definition: gdiplusbrush.h:206
GpStatus WINGDIPAPI GdipCloneBrush(GpBrush *brush, GpBrush **clone)
Definition: brush.c:70
GpTexture * GetNativeTexture() const
Definition: gdiplusbrush.h:633
TextureBrush(Image *image, RectF &dstRect, ImageAttributes *imageAttributes)
Definition: gdiplusbrush.h:538
REAL Height
Definition: gdiplustypes.h:664
Status SetColor(const Color &color)
Definition: gdiplusbrush.h:485
GpStatus WINGDIPAPI GdipMultiplyLineTransform(GpLineGradient *brush, GDIPCONST GpMatrix *matrix, GpMatrixOrder order)
Definition: brush.c:2152
LinearGradientBrush(const Point &point1, const Point &point2, const Color &color1, const Color &color2)
Definition: gdiplusbrush.h:198
INT GetInterpolationColorCount() const
Definition: gdiplusbrush.h:253
MatrixOrder
Definition: gdiplusenums.h:186
GpSolidFill * GetNativeFill() const
Definition: gdiplusbrush.h:497
GpStatus WINGDIPAPI GdipCreateHatchBrush(GpHatchStyle hatchstyle, ARGB forecol, ARGB backcol, GpHatch **brush)
Definition: brush.c:276
GpStatus WINGDIPAPI GdipDeleteBrush(GpBrush *brush)
Definition: brush.c:994
GpBrush * nativeBrush
Definition: gdiplusbrush.h:64
GpStatus WINGDIPAPI GdipSetLineWrapMode(GpLineGradient *line, GpWrapMode wrap)
Definition: brush.c:1501
GpLineGradient * GetNativeGradient() const
Definition: gdiplusbrush.h:452
GpStatus WINGDIPAPI GdipGetLineRectI(GpLineGradient *brush, GpRect *rect)
Definition: brush.c:2203
GpStatus WINGDIPAPI GdipSetLineSigmaBlend(GpLineGradient *line, REAL focus, REAL scale)
Definition: brush.c:1445
Status
Definition: gdiplustypes.h:24
GpHatch * GetNativeHatch() const
Definition: gdiplusbrush.h:158
Status SetStatus(Status status) const
Definition: gdiplusbrush.h:76
Status RotateTransform(REAL angle, MatrixOrder order)
Definition: gdiplusbrush.h:597
GLfloat f
Definition: glext.h:7540
Status SetBlendBellShape(REAL focus, REAL scale)
Definition: gdiplusbrush.h:352
Status SetWrapMode(WrapMode wrapMode)
Definition: gdiplusbrush.h:618
GpStatus WINGDIPAPI GdipTranslateLineTransform(GpLineGradient *brush, REAL dx, REAL dy, GpMatrixOrder order)
Definition: brush.c:2166
GLenum GLuint texture
Definition: glext.h:6295
_STLP_MOVE_TO_STD_NAMESPACE void fill(_ForwardIter __first, _ForwardIter __last, const _Tp &__val)
Definition: _algobase.h:449
Status GetBlend(REAL *blendFactors, REAL *blendPositions, INT count)
Definition: gdiplusbrush.h:228
REAL X
Definition: gdiplustypes.h:661
GpStatus WINGDIPAPI GdipResetTextureTransform(GpTexture *brush)
Definition: brush.c:1345
GpStatus WINGDIPAPI GdipGetBrushType(GpBrush *brush, GpBrushType *type)
Definition: brush.c:950
GpStatus WINGDIPAPI GdipCreateLineBrushFromRect(GDIPCONST GpRectF *rect, ARGB startcolor, ARGB endcolor, LinearGradientMode mode, GpWrapMode wrap, GpLineGradient **line)
Definition: brush.c:436
GpStatus WINGDIPAPI GdipCreateTexture2I(GpImage *image, GpWrapMode wrapmode, INT x, INT y, INT width, INT height, GpTexture **texture)
Definition: brush.c:928
GpStatus WINGDIPAPI GdipGetHatchBackgroundColor(GpHatch *brush, ARGB *backcol)
Definition: brush.c:961
GLsizei const GLfloat * points
Definition: glext.h:8112
GpStatus WINGDIPAPI GdipGetTextureWrapMode(GpTexture *brush, GpWrapMode *wrapmode)
Definition: brush.c:1316
GpStatus WINGDIPAPI GdipGetHatchStyle(GpHatch *brush, GpHatchStyle *hatchstyle)
Definition: brush.c:983
TextureBrush(Image *image, WrapMode wrapMode, INT dstX, INT dstY, INT dstWidth, INT dstHeight)
Definition: gdiplusbrush.h:523
Status GetInterpolationColors(Color *presetColors, REAL *blendPositions, INT count) const
Definition: gdiplusbrush.h:262
GpStatus WINGDIPAPI GdipGetTextureTransform(GpTexture *brush, GpMatrix *matrix)
Definition: brush.c:1301
GpStatus WINGDIPAPI GdipScaleTextureTransform(GpTexture *brush, REAL sx, REAL sy, GpMatrixOrder order)
Definition: brush.c:1358
GpStatus WINGDIPAPI GdipGetLineGammaCorrection(GpLineGradient *line, BOOL *usinggamma)
Definition: brush.c:1030
LinearGradientBrush(const Rect &rect, const Color &color1, const Color &color2, LinearGradientMode mode)
Definition: gdiplusbrush.h:190
GpStatus WINGDIPAPI GdipTranslateTextureTransform(GpTexture *brush, REAL dx, REAL dy, GpMatrixOrder order)
Definition: brush.c:2180
GLenum mode
Definition: glext.h:6217
HatchBrush(HatchStyle hatchStyle, const Color &foreColor, const Color &backColor)
Definition: gdiplusbrush.h:108
GpStatus WINGDIPAPI GdipRotateLineTransform(GpLineGradient *brush, REAL angle, GpMatrixOrder order)
Definition: brush.c:2225
REAL Width
Definition: gdiplustypes.h:663
Status SetLinearPoints(const PointF &point1, const PointF &point2)
Definition: gdiplusbrush.h:407
Status GetBackgroundColor(Color *color) const
Definition: gdiplusbrush.h:116
GLenum GLint GLint GLint GLint GLuint GLenum GLint GLint dstX
Definition: glext.h:11259
Status SetWrapMode(WrapMode wrapMode)
Definition: gdiplusbrush.h:393
GpStatus WINGDIPAPI GdipGetHatchForegroundColor(GpHatch *brush, ARGB *forecol)
Definition: brush.c:972
Status GetColor(Color *color) const
Definition: gdiplusbrush.h:471
TextureBrush(Image *image, WrapMode wrapMode, REAL dstX, REAL dstY, REAL dstWidth, REAL dstHeight)
Definition: gdiplusbrush.h:531
GpStatus WINGDIPAPI GdipSetLineLinearBlend(GpLineGradient *brush, REAL focus, REAL scale)
Definition: brush.c:2010
GpStatus WINGDIPAPI GdipGetLineTransform(GpLineGradient *brush, GpMatrix *matrix)
Definition: brush.c:2129
GpStatus WINGDIPAPI GdipCreateTextureIA(GpImage *image, GDIPCONST GpImageAttributes *imageattr, REAL x, REAL y, REAL width, REAL height, GpTexture **texture)
Definition: brush.c:848
GpStatus WINGDIPAPI GdipSetLineGammaCorrection(GpLineGradient *line, BOOL usegamma)
Definition: brush.c:1432
Status GetForegroundColor(Color *color) const
Definition: gdiplusbrush.h:130
Status SetTransform(const Matrix *matrix)
Definition: gdiplusbrush.h:611
#define NULL
Definition: types.h:112
GpStatus WINGDIPAPI GdipCreateTexture2(GpImage *image, GpWrapMode wrapmode, REAL x, REAL y, REAL width, REAL height, GpTexture **texture)
Definition: brush.c:821
GLint dx
Definition: linetemp.h:97
INT Height
Definition: gdiplustypes.h:672
WrapMode GetWrapMode() const
Definition: gdiplusbrush.h:574
Status GetRectangle(Rect *rect) const
Definition: gdiplusbrush.h:286
Status ResetTransform()
Definition: gdiplusbrush.h:590
Brush(GpBrush *brush, Status status)
Definition: gdiplusbrush.h:71
Status GetLastStatus() const
Definition: gdiplusbrush.h:50
GpStatus WINGDIPAPI GdipMultiplyTextureTransform(GpTexture *brush, GDIPCONST GpMatrix *matrix, GpMatrixOrder order)
Definition: brush.c:1331
TextureBrush(Image *image, WrapMode wrapMode)
Definition: gdiplusbrush.h:547
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
BrushType GetType() const
Definition: gdiplusbrush.h:56
INT Y
Definition: gdiplustypes.h:670
BrushType
Definition: gdiplusenums.h:36
GpStatus WINGDIPAPI GdipCreateSolidFill(ARGB color, GpSolidFill **sf)
Definition: brush.c:757
float REAL
Definition: types.h:41
GpStatus WINGDIPAPI GdipCreateLineBrushFromRectWithAngle(GDIPCONST GpRectF *rect, ARGB startcolor, ARGB endcolor, REAL angle, BOOL isAngleScalable, GpWrapMode wrap, GpLineGradient **line)
Definition: brush.c:489
REAL Y
Definition: gdiplustypes.h:662
LinearGradientBrush(const Rect &rect, const Color &color1, const Color &color2, REAL angle, BOOL isAngleScalable=FALSE)
Definition: gdiplusbrush.h:177
LinearGradientBrush(const PointF &point1, const PointF &point2, const Color &color1, const Color &color2)
Definition: gdiplusbrush.h:169
Definition: gdipluspen.h:22
GpStatus WINGDIPAPI GdipRotateTextureTransform(GpTexture *brush, REAL angle, GpMatrixOrder order)
Definition: brush.c:1999
static SERVICE_STATUS status
Definition: service.c:31
Image * GetImage() const
TextureBrush(Image *image, WrapMode wrapMode, const RectF &dstRect)
Definition: gdiplusbrush.h:506
Status GetLinearPoints(PointF *points) const
Definition: gdiplusbrush.h:418
Status SetGammaCorrection(BOOL useGammaCorrection)
Definition: gdiplusbrush.h:366
Status MultiplyTransform(Matrix *matrix, MatrixOrder order=MatrixOrderPrepend)
Definition: gdiplusbrush.h:583
Definition: ps.c:97
DWORD ARGB