ReactOS  0.4.14-dev-77-gd9e7c48
gdiplusgraphics.h
Go to the documentation of this file.
1 /*
2  * GdiPlusGraphics.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 _GDIPLUSGRAPHICS_H
20 #define _GDIPLUSGRAPHICS_H
21 
22 class Image;
23 class ImageAttributes;
24 class CachedBitmap;
25 class Region;
26 class Font;
27 class GraphicsPath;
28 class Metafile;
29 
30 class Graphics : public GdiplusBase
31 {
32  friend class Region;
33  friend class Font;
34  friend class Bitmap;
35  friend class CachedBitmap;
36 
37 public:
39  {
40  }
41 
43  {
47  }
48 
49  Graphics(HDC hdc, HANDLE hdevice)
50  {
51  }
52 
54  {
55  }
56 
58  {
59  return SetStatus(DllExports::GdipComment(graphics, sizeData, data));
60  }
61 
63  {
64  return GraphicsContainer();
65  }
66 
67  GraphicsContainer BeginContainer(const RectF &dstrect, const RectF &srcrect, Unit unit)
68  {
69  return GraphicsContainer();
70  }
71 
72  GraphicsContainer BeginContainer(const Rect &dstrect, const Rect &srcrect, Unit unit)
73  {
74  return GraphicsContainer();
75  }
76 
78  {
80  }
81 
82  Status DrawArc(const Pen *pen, const Rect &rect, REAL startAngle, REAL sweepAngle)
83  {
84  return SetStatus(DllExports::GdipDrawArcI(graphics, pen ? pen->pen : NULL, rect.X, rect.Y, rect.Width, rect.Height, startAngle, sweepAngle));
85  }
86 
87  Status DrawArc(const Pen *pen, const RectF &rect, REAL startAngle, REAL sweepAngle)
88  {
89  return SetStatus(DllExports::GdipDrawArcI(graphics, pen ? pen->pen : NULL, rect.X, rect.Y, rect.Width, rect.Height, startAngle, sweepAngle));
90  }
91 
92  Status DrawArc(const Pen *pen, REAL x, REAL y, REAL width, REAL height, REAL startAngle, REAL sweepAngle)
93  {
94  return SetStatus(DllExports::GdipDrawArc(graphics, pen ? pen->pen : NULL, x, y, width, height, startAngle, sweepAngle));
95  }
96 
97  Status DrawArc(const Pen *pen, INT x, INT y, INT width, INT height, REAL startAngle, REAL sweepAngle)
98  {
99  return SetStatus(DllExports::GdipDrawArcI(graphics, pen ? pen->pen : NULL, x, y, width, height, startAngle, sweepAngle));
100  }
101 
102  Status DrawBezier(const Pen *pen, const Point &pt1, const Point &pt2, const Point &pt3, const Point &pt4)
103  {
104  return SetStatus(DllExports::GdipDrawBezierI(graphics, pen ? pen->pen : NULL, pt1.X, pt1.Y, pt2.X, pt2.Y, pt3.X, pt3.Y, pt4.X, pt4.Y));
105  }
106 
107  Status DrawBezier(const Pen *pen, const PointF &pt1, const PointF &pt2, const PointF &pt3, const PointF &pt4)
108  {
109  return SetStatus(DllExports::GdipDrawBezier(graphics, pen ? pen->pen : NULL, pt1.X, pt1.Y, pt2.X, pt2.Y, pt3.X, pt3.Y, pt4.X, pt4.Y));
110  }
111 
112  Status DrawBezier(const Pen *pen, REAL x1, REAL y1, REAL x2, REAL y2, REAL x3, REAL y3, REAL x4, REAL y4)
113  {
114  return SetStatus(DllExports::GdipDrawBezier(graphics, pen ? pen->pen : NULL, x1, y1, x2, y2, x3, y3, x4, y4));
115  }
116 
117  Status DrawBezier(const Pen *pen, INT x1, INT y1, INT x2, INT y2, INT x3, INT y3, INT x4, INT y4)
118  {
119  return SetStatus(DllExports::GdipDrawBezierI(graphics, pen ? pen->pen : NULL, x1, y1, x2, y2, x3, y3, x4, y4));
120  }
121 
122  Status DrawBeziers(const Pen *pen, const Point *points, INT count)
123  {
125  }
126 
127  Status DrawBeziers(const Pen *pen, const PointF *points, INT count)
128  {
130  }
131 
133  {
134  return NotImplemented;
135  }
136 
138  {
140  }
141 
143  {
145  }
146 
147  Status DrawClosedCurve(const Pen *pen, const PointF *points, INT count, REAL tension)
148  {
149  return SetStatus(DllExports::GdipDrawClosedCurve2(graphics, pen ? pen->pen : NULL, points, count, tension));
150  }
151 
152  Status DrawClosedCurve(const Pen *pen, const Point *points, INT count, REAL tension)
153  {
154  return SetStatus(DllExports::GdipDrawClosedCurve2I(graphics, pen ? pen->pen : NULL, points, count, tension));
155  }
156 
157  Status DrawCurve(const Pen *pen, const Point *points, INT count)
158  {
160  }
161 
162  Status DrawCurve(const Pen *pen, const PointF *points, INT count)
163  {
165  }
166 
167  Status DrawCurve(const Pen *pen, const PointF *points, INT count, REAL tension)
168  {
169  return SetStatus(DllExports::GdipDrawCurve2(graphics, pen ? pen->pen : NULL, points, count, tension));
170  }
171 
172  Status DrawCurve(const Pen *pen, const Point *points, INT count, INT offset, INT numberOfSegments, REAL tension)
173  {
174  return SetStatus(DllExports::GdipDrawCurve3I(graphics, pen ? pen->pen : NULL, points, count, offset, numberOfSegments, tension));
175  }
176 
177  Status DrawCurve(const Pen *pen, const PointF *points, INT count, INT offset, INT numberOfSegments, REAL tension)
178  {
179  return SetStatus(DllExports::GdipDrawCurve3(graphics, pen ? pen->pen : NULL, points, count, offset, numberOfSegments, tension));
180  }
181 
182  Status DrawCurve(const Pen *pen, const Point *points, INT count, REAL tension)
183  {
184  return SetStatus(DllExports::GdipDrawCurve2I(graphics, pen ? pen->pen : NULL, points, count, tension));
185  }
186 
187  Status DrawDriverString(const UINT16 *text, INT length, const Font *font, const Brush *brush, const PointF *positions, INT flags, const Matrix *matrix)
188  {
189  return NotImplemented;
190  }
191 
192  Status DrawEllipse(const Pen *pen, const Rect &rect)
193  {
194  return SetStatus(DllExports::GdipDrawEllipseI(graphics, pen ? pen->pen : NULL, rect.X, rect.Y, rect.Width, rect.Height));
195  }
196 
198  {
199  return SetStatus(DllExports::GdipDrawEllipse(graphics, pen ? pen->pen : NULL, x, y, width, height));
200  }
201 
202  Status DrawEllipse(const Pen *pen, const RectF &rect)
203  {
204  return SetStatus(DllExports::GdipDrawEllipse(graphics, pen ? pen->pen : NULL, rect.X, rect.Y, rect.Width, rect.Height));
205  }
206 
208  {
210  }
211 
212  Status DrawImage(Image *image, const Point *destPoints, INT count)
213  {
214  return NotImplemented;
215  }
216 
218  {
219  return NotImplemented;
220  }
221 
223  {
224  return NotImplemented;
225  }
226 
228  {
229  return NotImplemented;
230  }
231 
233  {
234  return NotImplemented;
235  }
236 
237  Status DrawImage(Image *image, const PointF *destPoints, INT count)
238  {
239  return NotImplemented;
240  }
241 
242  Status DrawImage(Image *image, REAL x, REAL y, REAL srcx, REAL srcy, REAL srcwidth, REAL srcheight, Unit srcUnit)
243  {
244  return NotImplemented;
245  }
246 
248  {
249  return NotImplemented;
250  }
251 
253  {
254  return NotImplemented;
255  }
256 
257  Status DrawImage(Image *image, const PointF *destPoints, INT count, REAL srcx, REAL srcy, REAL srcwidth, REAL srcheight, Unit srcUnit, ImageAttributes *imageAttributes, DrawImageAbort callback, VOID *callbackData)
258  {
259  return NotImplemented;
260  }
261 
262  Status DrawImage(Image *image, const Rect &destRect, INT srcx, INT srcy, INT srcwidth, INT srcheight, Unit srcUnit, ImageAttributes *imageAttributes, DrawImageAbort callback, VOID *callbackData)
263  {
264  return NotImplemented;
265  }
266 
267  Status DrawImage(Image *image, const Point *destPoints, INT count, INT srcx, INT srcy, INT srcwidth, INT srcheight, Unit srcUnit, ImageAttributes *imageAttributes, DrawImageAbort callback, VOID *callbackData)
268  {
269  return NotImplemented;
270  }
271 
273  {
274  return NotImplemented;
275  }
276 
278  {
279  return NotImplemented;
280  }
281 
282  Status DrawImage(Image *image, INT x, INT y, INT srcx, INT srcy, INT srcwidth, INT srcheight, Unit srcUnit)
283  {
284  return NotImplemented;
285  }
286 
287  Status DrawImage(Image *image, const RectF &destRect, REAL srcx, REAL srcy, REAL srcwidth, REAL srcheight, Unit srcUnit, ImageAttributes *imageAttributes, DrawImageAbort callback, VOID *callbackData)
288  {
289  return NotImplemented;
290  }
291 
292  Status DrawLine(const Pen *pen, const Point &pt1, const Point &pt2)
293  {
294  return SetStatus(DllExports::GdipDrawLineI(graphics, pen ? pen->pen : NULL, pt1.X, pt1.Y, pt2.X, pt2.Y));
295  }
296 
297  Status DrawLine(const Pen *pen, const PointF &pt1, const Point &pt2)
298  {
299  return SetStatus(DllExports::GdipDrawLine(graphics, pen ? pen->pen : NULL, pt1.X, pt1.Y, pt2.X, pt2.Y));
300  }
301 
303  {
304  return SetStatus(DllExports::GdipDrawLine(graphics, pen ? pen->pen : NULL, x1, y1, x2, y2));
305  }
306 
307  Status DrawLine(const Pen *pen, INT x1, INT y1, INT x2, INT y2)
308  {
309  return SetStatus(DllExports::GdipDrawLine(graphics, pen ? pen->pen : NULL, x1, y1, x2, y2));
310  }
311 
312  Status DrawLines(const Pen *pen, const Point *points, INT count)
313  {
315  }
316 
317  Status DrawLines(const Pen *pen, const PointF *points, INT count)
318  {
320  }
321 
322  Status DrawPath(const Pen *pen, const GraphicsPath *path)
323  {
324  return NotImplemented;
325  }
326 
327  Status DrawPie(const Pen *pen, const Rect &rect, REAL startAngle, REAL sweepAngle)
328  {
329  return SetStatus(DllExports::GdipDrawPieI(graphics, pen ? pen->pen : NULL, rect.X, rect.Y, rect.Width, rect.Height, startAngle, sweepAngle));
330  }
331 
332  Status DrawPie(const Pen *pen, INT x, INT y, INT width, INT height, REAL startAngle, REAL sweepAngle)
333  {
334  return SetStatus(DllExports::GdipDrawPieI(graphics, pen ? pen->pen : NULL, x, y, width, height, startAngle, sweepAngle));
335  }
336 
337  Status DrawPie(const Pen *pen, REAL x, REAL y, REAL width, REAL height, REAL startAngle, REAL sweepAngle)
338  {
339  return SetStatus(DllExports::GdipDrawPie(graphics, pen ? pen->pen : NULL, x, y, width, height, startAngle, sweepAngle));
340  }
341 
342  Status DrawPie(const Pen *pen, const RectF &rect, REAL startAngle, REAL sweepAngle)
343  {
344  return SetStatus(DllExports::GdipDrawPie(graphics, pen ? pen->pen : NULL, rect.X, rect.Y, rect.Width, rect.Height, startAngle, sweepAngle));
345  }
346 
347  Status DrawPolygon(const Pen *pen, const Point *points, INT count)
348  {
350  }
351 
352  Status DrawPolygon(const Pen *pen, const PointF *points, INT count)
353  {
355  }
356 
357  Status DrawRectangle(const Pen *pen, const Rect &rect)
358  {
359  return SetStatus(DllExports::GdipDrawRectangleI(graphics, pen ? pen->pen : NULL, rect.X, rect.Y, rect.Width, rect.Height));
360  }
361 
363  {
365  }
366 
368  {
370  }
371 
372  Status DrawRectangle(const Pen *pen, const RectF &rect)
373  {
374  return SetStatus(DllExports::GdipDrawRectangleI(graphics, pen ? pen->pen : NULL, rect.X, rect.Y, rect.Width, rect.Height));
375  }
376 
377  Status DrawRectangles(const Pen *pen, const Rect *rects, INT count)
378  {
379  return SetStatus(DllExports::GdipDrawRectanglesI(graphics, pen ? pen->pen : NULL, rects, count));
380  }
381 
382  Status DrawRectangles(const Pen *pen, const RectF *rects, INT count)
383  {
384  return SetStatus(DllExports::GdipDrawRectangles(graphics, pen ? pen->pen : NULL, rects, count));
385  }
386 
387  Status DrawString(const WCHAR *string, INT length, const Font *font, const RectF &layoutRect, const StringFormat *stringFormat, const Brush *brush)
388  {
389  return NotImplemented;
390  }
391 
392  Status DrawString(const WCHAR *string, INT length, const Font *font, const PointF &origin, const Brush *brush)
393  {
394  return NotImplemented;
395  }
396 
397  Status DrawString(const WCHAR *string, INT length, const Font *font, const PointF &origin, const StringFormat *stringFormat, const Brush *brush)
398  {
399  return NotImplemented;
400  }
401 
403  {
405  }
406 
407  Status EnumerateMetafile(const Metafile *metafile, const Metafile &destPoint, EnumerateMetafileProc callback, VOID *callbackData, ImageAttributes *imageAttributes)
408  {
409  return NotImplemented;
410  }
411 
412  Status EnumerateMetafile(const Metafile *metafile, const Point *destPoints, INT count, EnumerateMetafileProc callback, VOID *callbackData, ImageAttributes *imageAttributes)
413  {
414  return NotImplemented;
415  }
416 
417  Status EnumerateMetafile(const Metafile *metafile, const Point &destPoint, const Rect &srcRect, Unit srcUnit, EnumerateMetafileProc callback, VOID *callbackData, ImageAttributes *imageAttributes)
418  {
419  return NotImplemented;
420  }
421 
422  Status EnumerateMetafile(const Metafile *metafile, const PointF *destPoints, INT count, EnumerateMetafileProc callback, VOID *callbackData, ImageAttributes *imageAttributes)
423  {
424  return NotImplemented;
425  }
426 
427  Status EnumerateMetafile(const Metafile *metafile, const Rect &destRect, EnumerateMetafileProc callback, VOID *callbackData, ImageAttributes *imageAttributes)
428  {
429  return NotImplemented;
430  }
431 
432  Status EnumerateMetafile(const Metafile *metafile, const RectF &destRect, const RectF &srcRect, Unit srcUnit, EnumerateMetafileProc callback, VOID *callbackData, ImageAttributes *imageAttributes)
433  {
434  return NotImplemented;
435  }
436 
437  Status EnumerateMetafile(const Metafile *metafile, const RectF &destRect, EnumerateMetafileProc callback, VOID *callbackData, ImageAttributes *imageAttributes)
438  {
439  return NotImplemented;
440  }
441 
442  Status EnumerateMetafile(const Metafile *metafile, const PointF &destPoint, const Rect &srcRect, Unit srcUnit, EnumerateMetafileProc callback, VOID *callbackData, ImageAttributes *imageAttributes)
443  {
444  return NotImplemented;
445  }
446 
447  Status EnumerateMetafile(const Metafile *metafile, const Point *destPoints, INT count, const Rect &srcRect, Unit srcUnit, EnumerateMetafileProc callback, VOID *callbackData, ImageAttributes *imageAttributes)
448  {
449  return NotImplemented;
450  }
451 
452  Status EnumerateMetafile(const Metafile *metafile, const Rect &destRect, const Rect &srcRect, Unit srcUnit, EnumerateMetafileProc callback, VOID *callbackData, ImageAttributes *imageAttributes)
453  {
454  return NotImplemented;
455  }
456 
457  Status EnumerateMetafile(const Metafile *metafile, const Point *destPoints, INT count, const RectF &srcRect, Unit srcUnit, EnumerateMetafileProc callback, VOID *callbackData, ImageAttributes *imageAttributes)
458  {
459  return NotImplemented;
460  }
461 
462  Status EnumerateMetafile(const Metafile *metafile, const PointF &destPoint, EnumerateMetafileProc callback, VOID *callbackData, ImageAttributes *imageAttributes)
463  {
464  return NotImplemented;
465  }
466 
468  {
469  return NotImplemented;
470  }
471 
473  {
474  return NotImplemented;
475  }
476 
477  Status ExcludeClip(const Region *region)
478  {
479  return NotImplemented;
480  }
481 
483  {
485  }
486 
488  {
489  return SetStatus(DllExports::GdipFillClosedCurve2I(graphics, brush ? brush->brush : NULL, points, count, tension, fillMode));
490  }
491 
493  {
495  }
496 
498  {
499  return SetStatus(DllExports::GdipFillClosedCurve2(graphics, brush ? brush->brush : NULL, points, count, tension, fillMode));
500  }
501 
502  Status FillEllipse(const Brush *brush, const Rect &rect)
503  {
504  return SetStatus(DllExports::GdipFillEllipseI(graphics, brush ? brush->brush : NULL, rect.X, rect.Y, rect.Width, rect.Height));
505  }
506 
508  {
509  return SetStatus(DllExports::GdipFillEllipse(graphics, brush ? brush->brush : NULL, x, y, width, height));
510  }
511 
512  Status FillEllipse(const Brush *brush, const RectF &rect)
513  {
514  return SetStatus(DllExports::GdipFillEllipse(graphics, brush ? brush->brush : NULL, rect.X, rect.Y, rect.Width, rect.Height));
515  }
516 
518  {
519  return SetStatus(DllExports::GdipFillEllipseI(graphics, brush ? brush->brush : NULL, x, y, width, height));
520  }
521 
522  Status FillPath(const Brush *brush, const GraphicsPath *path)
523  {
524  return NotImplemented;
525  }
526 
527  Status FillPie(const Brush *brush, const Rect &rect, REAL startAngle, REAL sweepAngle)
528  {
529  return SetStatus(DllExports::GdipFillPieI(graphics, brush ? brush->brush : NULL, rect.X, rect.Y, rect.Width, rect.Height, startAngle, sweepAngle));
530  }
531 
532  Status FillPie(const Brush *brush, INT x, INT y, INT width, INT height, REAL startAngle, REAL sweepAngle)
533  {
534  return SetStatus(DllExports::GdipFillPieI(graphics, brush ? brush->brush : NULL, x, y, width, height, startAngle, sweepAngle));
535  }
536 
537  Status FillPie(const Brush *brush, REAL x, REAL y, REAL width, REAL height, REAL startAngle, REAL sweepAngle)
538  {
539  return SetStatus(DllExports::GdipFillPie(graphics, brush ? brush->brush : NULL, x, y, width, height, startAngle, sweepAngle));
540  }
541 
542  Status FillPie(const Brush *brush, RectF &rect, REAL startAngle, REAL sweepAngle)
543  {
544  return SetStatus(DllExports::GdipFillPie(graphics, brush ? brush->brush : NULL, rect.X, rect.Y, rect.Width, rect.Height, startAngle, sweepAngle));
545  }
546 
547  Status FillPolygon(const Brush *brush, const Point *points, INT count)
548  {
550  }
551 
552  Status FillPolygon(const Brush *brush, const PointF *points, INT count)
553  {
555  }
556 
558  {
560  }
561 
563  {
565  }
566 
567  Status FillRectangle(const Brush *brush, const Rect &rect)
568  {
569  return SetStatus(DllExports::GdipFillRectangleI(graphics, brush ? brush->brush : NULL, rect.X, rect.Y, rect.Width, rect.Height));
570  }
571 
572  Status FillRectangle(const Brush *brush, const RectF &rect)
573  {
574  return SetStatus(DllExports::GdipFillRectangle(graphics, brush ? brush->brush : NULL, rect.X, rect.Y, rect.Width, rect.Height));
575  }
576 
578  {
579  return SetStatus(DllExports::GdipFillRectangle(graphics, brush ? brush->brush : NULL, x, y, width, height));
580  }
581 
583  {
584  return SetStatus(DllExports::GdipFillRectangleI(graphics, brush ? brush->brush : NULL, x, y, width, height));
585  }
586 
587  Status FillRectangles(const Brush *brush, const Rect *rects, INT count)
588  {
589  return SetStatus(DllExports::GdipFillRectanglesI(graphics, brush ? brush->brush : NULL, rects, count));
590  }
591 
592  Status FillRectangles(const Brush *brush, const RectF *rects, INT count)
593  {
594  return SetStatus(DllExports::GdipFillRectangles(graphics, brush ? brush->brush : NULL, rects, count));
595  }
596 
597  Status FillRegion(const Brush *brush, const Region *region)
598  {
599  return NotImplemented;
600  }
601 
603  {
604  }
605 
607  {
608  return NULL;
609  }
610 
611  static Graphics *FromHDC(HDC hdc, HANDLE hDevice)
612  {
613  return NULL;
614  }
615 
617  {
618  return NULL;
619  }
620 
622  {
623  return NULL;
624  }
625 
626  Status GetClip(Region *region) const
627  {
628  return NotImplemented;
629  }
630 
632  {
634  }
635 
637  {
639  }
640 
642  {
643  CompositingMode compositingMode;
645  return compositingMode;
646  }
647 
649  {
650  CompositingQuality compositingQuality;
652  return compositingQuality;
653  }
654 
656  {
657  REAL dpi;
659  return dpi;
660  }
661 
663  {
664  REAL dpi;
666  return dpi;
667  }
668 
669  static HPALETTE GetHalftonePalette(VOID)
670  {
671  return NULL;
672  }
673 
675  {
676  return NULL;
677  }
678 
680  {
681  InterpolationMode interpolationMode;
683  return interpolationMode;
684  }
685 
687  {
688  return status;
689  }
690 
692  {
693  return NotImplemented;
694  }
695 
697  {
698  REAL scale;
700  return scale;
701  }
702 
704  {
705  Unit unit;
707  return unit;
708  }
709 
711  {
712  PixelOffsetMode pixelOffsetMode;
714  return pixelOffsetMode;
715  }
716 
718  {
719  return NotImplemented; // FIXME: not available: SetStatus(DllExports::GdipGetRenderingOrigin(graphics, x, y));
720  }
721 
723  {
724  SmoothingMode smoothingMode;
726  return smoothingMode;
727  }
728 
730  {
731  UINT contrast;
733  return contrast;
734  }
735 
737  {
740  return mode;
741  }
742 
744  {
745  return NotImplemented;
746  }
747 
749  {
751  }
752 
754  {
756  }
757 
759  {
760  return NotImplemented;
761  }
762 
763  Status IntersectClip(const Region* region)
764  {
765  return NotImplemented;
766  }
767 
769  {
770  return NotImplemented;
771  }
772 
774  {
775  BOOL result;
777  return result;
778  }
779 
780  BOOL IsVisible(const Point& point) const
781  {
782  BOOL result;
784  return result;
785  }
786 
787  BOOL IsVisible(const Rect& rect) const
788  {
789  BOOL result;
791  return result;
792  }
793 
795  {
796  BOOL result;
798  return result;
799  }
800 
801  BOOL IsVisible(const RectF& rect) const
802  {
803  BOOL result;
805  return result;
806  }
807 
809  {
810  BOOL result;
812  return result;
813  }
814 
816  {
817  BOOL result;
819  return result;
820  }
821 
822  BOOL IsVisible(const PointF& point) const
823  {
824  BOOL result;
826  return result;
827  }
828 
830  {
831  BOOL result;
833  return result;
834  }
835 
837  {
838  return FALSE; /* FIXME: not available:
839  BOOL result;
840  SetStatus(DllExports::GdipIsVisibleClipEmpty(graphics, &result));
841  return result;*/
842  }
843 
844  Status MeasureCharacterRanges(const WCHAR *string, INT length, const Font *font, const RectF &layoutRect, const StringFormat *stringFormat, INT regionCount, Region *regions) const
845  {
846  return NotImplemented;
847  }
848 
849  Status MeasureDriverString(const UINT16 *text, INT length, const Font *font, const PointF *positions, INT flags, const Matrix *matrix, RectF *boundingBox) const
850  {
851  return NotImplemented;
852  }
853 
854  Status MeasureString(const WCHAR *string, INT length, const Font *font, const RectF &layoutRect, RectF *boundingBox) const
855  {
856  return NotImplemented;
857  }
858 
859  Status MeasureString(const WCHAR *string, INT length, const Font *font, const PointF &origin, const StringFormat *stringFormat, RectF *boundingBox) const
860  {
861  return NotImplemented;
862  }
863 
864  Status MeasureString(const WCHAR *string, INT length, const Font *font, const RectF &layoutRect, const StringFormat *stringFormat, RectF *boundingBox, INT *codepointsFitted, INT *linesFilled) const
865  {
866  return NotImplemented;
867  }
868 
869  Status MeasureString(const WCHAR *string, INT length, const Font *font, const SizeF &layoutRectSize, const StringFormat *stringFormat, SizeF *size, INT *codepointsFitted, INT *linesFilled) const
870  {
871  return NotImplemented;
872  }
873 
874  Status MeasureString(const WCHAR *string, INT length, const Font *font, const PointF &origin, RectF *boundingBox) const
875  {
876  return NotImplemented;
877  }
878 
880  {
881  return NotImplemented;
882  }
883 
885  {
886  }
887 
889  {
891  }
892 
894  {
896  }
897 
899  {
900  return NotImplemented;
901  }
902 
904  {
906  }
907 
909  {
910  return 0;
911  }
912 
914  {
916  }
917 
918  Status SetClip(const Graphics *g, CombineMode combineMode)
919  {
920  return SetStatus(DllExports::GdipSetClipGraphics(graphics, g ? g->graphics : NULL, combineMode));
921  }
922 
924  {
925  return NotImplemented;
926  }
927 
928  Status SetClip(const Region *region, CombineMode combineMode)
929  {
930  return NotImplemented;
931  }
932 
933  Status SetClip(const Rect &rect, CombineMode combineMode)
934  {
935  return SetStatus(DllExports::GdipSetClipRectI(graphics, rect.X, rect.Y, rect.Width, rect.Height, combineMode));
936  }
937 
938  Status SetClip(HRGN hRgn, CombineMode combineMode)
939  {
940  return SetStatus(DllExports::GdipSetClipHrgn(graphics, hRgn, combineMode));
941  }
942 
943  Status SetClip(const RectF& rect, CombineMode combineMode)
944  {
945  return SetStatus(DllExports::GdipSetClipRect(graphics, rect.X, rect.Y, rect.Width, rect.Height, combineMode));
946  }
947 
949  {
950  return SetStatus(DllExports::GdipSetCompositingMode(graphics, compositingMode));
951  }
952 
954  {
955  return SetStatus(DllExports::GdipSetCompositingQuality(graphics, compositingQuality));
956  }
957 
959  {
960  return SetStatus(DllExports::GdipSetInterpolationMode(graphics, interpolationMode));
961  }
962 
964  {
966  }
967 
969  {
971  }
972 
974  {
975  return SetStatus(DllExports::GdipSetPixelOffsetMode(graphics, pixelOffsetMode));
976  }
977 
979  {
981  }
982 
984  {
985  return SetStatus(DllExports::GdipSetSmoothingMode(graphics, smoothingMode));
986  }
987 
989  {
991  }
992 
994  {
996  }
997 
999  {
1000  return NotImplemented;
1001  }
1002 
1004  {
1005  return SetStatus(DllExports::GdipTransformPointsI(graphics, destSpace, srcSpace, pts, count));
1006  }
1007 
1009  {
1011  }
1012 
1014  {
1016  }
1017 
1019  {
1021  }
1022 
1023 private:
1025  {
1026  if (status == Ok)
1027  return status;
1028  this->status = status;
1029  return status;
1030  }
1031 
1033  {
1034  this->graphics = graphics;
1035  }
1036 
1037 private:
1038  mutable Status status;
1040 };
1041 
1042 #endif /* _GDIPLUSGRAPHICS_H */
InterpolationMode GetInterpolationMode(VOID)
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG y1
Definition: winddi.h:3706
Status DrawBezier(const Pen *pen, const PointF &pt1, const PointF &pt2, const PointF &pt3, const PointF &pt4)
GpStatus WINGDIPAPI GdipGetDpiY(GpGraphics *graphics, REAL *dpi)
Definition: graphics.c:6635
GpStatus WINGDIPAPI GdipSetPixelOffsetMode(GpGraphics *graphics, PixelOffsetMode mode)
Definition: graphics.c:6229
Status TranslateClip(INT dx, INT dy)
const DOCKBAR PVOID HWND HWND * hwnd
Definition: tooldock.h:22
GLint GLint GLsizei width
Definition: gl.h:1546
Status TranslateClip(REAL dx, REAL dy)
GLuint GLdouble GLdouble GLint GLint order
Definition: glext.h:11194
GpStatus WINGDIPAPI GdipDrawEllipse(GpGraphics *graphics, GpPen *pen, REAL x, REAL y, REAL width, REAL height)
Definition: graphics.c:2935
Status FillClosedCurve(const Brush *brush, const Point *points, INT count)
Status MeasureString(const WCHAR *string, INT length, const Font *font, const RectF &layoutRect, RectF *boundingBox) const
Status GetNearestColor(Color *color) const
Status FillClosedCurve(const Brush *brush, const Point *points, INT count, FillMode fillMode, REAL tension)
Status DrawImage(Image *image, INT x, INT y)
GpStatus WINGDIPAPI GdipResetWorldTransform(GpGraphics *graphics)
Definition: graphics.c:5840
Status DrawRectangles(const Pen *pen, const RectF *rects, INT count)
Status EnumerateMetafile(const Metafile *metafile, const Point *destPoints, INT count, const Rect &srcRect, Unit srcUnit, EnumerateMetafileProc callback, VOID *callbackData, ImageAttributes *imageAttributes)
Status GetClipBounds(RectF *rect) const
GpStatus WINGDIPAPI GdipFillEllipse(GpGraphics *graphics, GpBrush *brush, REAL x, REAL y, REAL width, REAL height)
Definition: graphics.c:4290
Status DrawPie(const Pen *pen, const RectF &rect, REAL startAngle, REAL sweepAngle)
Status DrawBeziers(const Pen *pen, const Point *points, INT count)
GpStatus WINGDIPAPI GdipScaleWorldTransform(GpGraphics *graphics, REAL sx, REAL sy, GpMatrixOrder order)
Definition: graphics.c:6051
Status DrawClosedCurve(const Pen *pen, const Point *points, INT count, REAL tension)
Status DrawEllipse(const Pen *pen, INT x, INT y, INT width, INT height)
Status DrawRectangle(const Pen *pen, INT x, INT y, INT width, INT height)
GpStatus WINGDIPAPI GdipGetDpiX(GpGraphics *graphics, REAL *dpi)
Definition: graphics.c:6621
Unit
Definition: gdiplusenums.h:25
Status ExcludeClip(const Region *region)
Status DrawBeziers(const Pen *pen, const PointF *points, INT count)
GpStatus WINGDIPAPI GdipGetVisibleClipBounds(GpGraphics *graphics, GpRectF *rect)
Definition: graphics.c:5004
GpStatus WINGDIPAPI GdipGetInterpolationMode(GpGraphics *graphics, InterpolationMode *mode)
Definition: graphics.c:4882
GpStatus WINGDIPAPI GdipDrawPolygon(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPointF *points, INT count)
Definition: graphics.c:6572
Status DrawDriverString(const UINT16 *text, INT length, const Font *font, const Brush *brush, const PointF *positions, INT flags, const Matrix *matrix)
Status DrawRectangle(const Pen *pen, REAL x, REAL y, REAL width, REAL height)
GpStatus WINGDIPAPI GdipGetPixelOffsetMode(GpGraphics *graphics, PixelOffsetMode *mode)
Definition: graphics.c:4943
Status DrawCurve(const Pen *pen, const Point *points, INT count)
Status DrawArc(const Pen *pen, INT x, INT y, INT width, INT height, REAL startAngle, REAL sweepAngle)
Status EnumerateMetafile(const Metafile *metafile, const PointF &destPoint, EnumerateMetafileProc callback, VOID *callbackData, ImageAttributes *imageAttributes)
GpStatus WINGDIPAPI GdipDrawPolygonI(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPoint *points, INT count)
Definition: graphics.c:6598
Status FillPie(const Brush *brush, REAL x, REAL y, REAL width, REAL height, REAL startAngle, REAL sweepAngle)
Definition: mk_font.cpp:20
InterpolationMode
Definition: gdiplusenums.h:139
Status MeasureString(const WCHAR *string, INT length, const Font *font, const PointF &origin, RectF *boundingBox) const
Status MeasureCharacterRanges(const WCHAR *string, INT length, const Font *font, const RectF &layoutRect, const StringFormat *stringFormat, INT regionCount, Region *regions) const
GpStatus WINGDIPAPI GdipTransformPointsI(GpGraphics *graphics, GpCoordinateSpace dst_space, GpCoordinateSpace src_space, GpPoint *points, INT count)
Definition: graphics.c:6978
GLuint GLenum matrix
Definition: glext.h:9407
Status TranslateTransform(REAL dx, REAL dy, MatrixOrder order)
const WCHAR * text
Definition: package.c:1827
Graphics(Image *image)
GLuint GLuint GLsizei count
Definition: gl.h:1545
GLint dy
Definition: linetemp.h:97
GLenum GLenum GLenum GLenum GLenum scale
Definition: glext.h:9032
GpStatus WINGDIPAPI GdipDrawRectangles(GpGraphics *graphics, GpPen *pen, GDIPCONST GpRectF *rects, INT count)
Definition: graphics.c:4159
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG x1
Definition: winddi.h:3706
Status SetPageScale(REAL scale)
Status DrawLine(const Pen *pen, REAL x1, REAL y1, REAL x2, REAL y2)
GpStatus WINGDIPAPI GdipDrawLine(GpGraphics *graphics, GpPen *pen, REAL x1, REAL y1, REAL x2, REAL y2)
Definition: graphics.c:3569
static HDC
Definition: imagelist.c:92
GLintptr offset
Definition: glext.h:5920
HWND hWnd
Definition: settings.c:17
Status SetTextRenderingHint(TextRenderingHint newMode)
Status FillPie(const Brush *brush, INT x, INT y, INT width, INT height, REAL startAngle, REAL sweepAngle)
GpStatus WINGDIPAPI GdipIsVisiblePointI(GpGraphics *graphics, INT x, INT y, BOOL *result)
Definition: graphics.c:5152
Status DrawCurve(const Pen *pen, const PointF *points, INT count, INT offset, INT numberOfSegments, REAL tension)
Status DrawLine(const Pen *pen, const Point &pt1, const Point &pt2)
GpStatus WINGDIPAPI GdipGetSmoothingMode(GpGraphics *graphics, SmoothingMode *mode)
Definition: graphics.c:4960
GpStatus WINGDIPAPI GdipFillClosedCurve2(GpGraphics *graphics, GpBrush *brush, GDIPCONST GpPointF *points, INT count, REAL tension, GpFillMode fill)
Definition: graphics.c:4213
GpStatus WINGDIPAPI GdipSetClipRect(GpGraphics *graphics, REAL x, REAL y, REAL width, REAL height, CombineMode mode)
Definition: graphics.c:6473
static HRGN hRgn
Definition: mapping.c:33
VOID ReleaseHDC(HDC hdc)
Status DrawEllipse(const Pen *pen, const RectF &rect)
voidpf uLong int origin
Definition: ioapi.h:142
Status SetClip(const GraphicsPath *path, CombineMode combineMode)
Status DrawRectangle(const Pen *pen, const Rect &rect)
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
GpStatus WINGDIPAPI GdipDrawClosedCurve2(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPointF *points, INT count, REAL tension)
Definition: graphics.c:2760
Status FillPie(const Brush *brush, const Rect &rect, REAL startAngle, REAL sweepAngle)
Status DrawClosedCurve(const Pen *pen, const Point *points, INT count)
Status DrawCurve(const Pen *pen, const Point *points, INT count, REAL tension)
UINT GraphicsContainer
Definition: gdiplusenums.h:23
Status FillRectangles(const Brush *brush, const RectF *rects, INT count)
GLfloat angle
Definition: glext.h:10853
GpStatus WINGDIPAPI GdipDrawBezier(GpGraphics *graphics, GpPen *pen, REAL x1, REAL y1, REAL x2, REAL y2, REAL x3, REAL y3, REAL x4, REAL y4)
Definition: graphics.c:2654
GpStatus WINGDIPAPI GdipGetCompositingQuality(GpGraphics *graphics, CompositingQuality *quality)
Definition: graphics.c:4865
Status ExcludeClip(const RectF &rect)
Status MeasureString(const WCHAR *string, INT length, const Font *font, const SizeF &layoutRectSize, const StringFormat *stringFormat, SizeF *size, INT *codepointsFitted, INT *linesFilled) const
Status Restore(GraphicsState gstate)
Status SetRenderingOrigin(INT x, INT y)
Status SetSmoothingMode(SmoothingMode smoothingMode)
GpBrush * brush
Definition: gdiplusbrush.h:49
Status FillPie(const Brush *brush, RectF &rect, REAL startAngle, REAL sweepAngle)
GpStatus WINGDIPAPI GdipGetClipBoundsI(GpGraphics *graphics, GpRect *rect)
Definition: graphics.c:4834
int32_t INT
Definition: typedefs.h:56
Status IntersectClip(const Region *region)
Status DrawImage(Image *image, REAL x, REAL y)
Status EnumerateMetafile(const Metafile *metafile, const Metafile &destPoint, EnumerateMetafileProc callback, VOID *callbackData, ImageAttributes *imageAttributes)
POINTL point
Definition: edittest.c:50
GpStatus WINGDIPAPI GdipDrawCurveI(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPoint *points, INT count)
Definition: graphics.c:2822
& rect
Definition: startmenu.cpp:1413
GpStatus WINGDIPAPI GdipFillEllipseI(GpGraphics *graphics, GpBrush *brush, INT x, INT y, INT width, INT height)
Definition: graphics.c:4319
Status SetClip(const Graphics *g, CombineMode combineMode)
REAL GetDpiY(VOID)
static const unsigned char metafile[]
Definition: olepicture.c:138
Status FillRectangle(const Brush *brush, const Rect &rect)
GpStatus WINGDIPAPI GdipDrawRectangleI(GpGraphics *graphics, GpPen *pen, INT x, INT y, INT width, INT height)
Definition: graphics.c:4151
static Graphics * FromImage(Image *image)
Status DrawImage(Image *image, INT x, INT y, INT width, INT height)
Status FillRectangles(const Brush *brush, const Rect *rects, INT count)
GpStatus WINGDIPAPI GdipDrawLineI(GpGraphics *graphics, GpPen *pen, INT x1, INT y1, INT x2, INT y2)
Definition: graphics.c:3589
FillMode
Definition: gdiplusenums.h:53
GpStatus WINGDIPAPI GdipDrawCurve3I(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPoint *points, INT count, INT offset, INT numberOfSegments, REAL tension)
Definition: graphics.c:2918
GpStatus WINGDIPAPI GdipIsVisibleRect(GpGraphics *graphics, REAL x, REAL y, REAL width, REAL height, BOOL *result)
Definition: graphics.c:5157
CombineMode
Definition: gdiplusenums.h:347
GpStatus WINGDIPAPI GdipFillClosedCurve2I(GpGraphics *graphics, GpBrush *brush, GDIPCONST GpPoint *points, INT count, REAL tension, GpFillMode fill)
Definition: graphics.c:4242
Status DrawLines(const Pen *pen, const PointF *points, INT count)
PixelOffsetMode
Definition: gdiplusenums.h:158
BOOL IsVisible(REAL x, REAL y, REAL width, REAL height) const
Status DrawImage(Image *image, INT x, INT y, INT srcx, INT srcy, INT srcwidth, INT srcheight, Unit srcUnit)
Status DrawBezier(const Pen *pen, INT x1, INT y1, INT x2, INT y2, INT x3, INT y3, INT x4, INT y4)
GpStatus WINGDIPAPI GdipSetPageUnit(GpGraphics *graphics, GpUnit unit)
Definition: graphics.c:6202
Status DrawCurve(const Pen *pen, const Point *points, INT count, INT offset, INT numberOfSegments, REAL tension)
GpStatus WINGDIPAPI GdipIsClipEmpty(GpGraphics *graphics, BOOL *res)
Definition: graphics.c:5109
GpStatus WINGDIPAPI GdipSetSmoothingMode(GpGraphics *graphics, SmoothingMode mode)
Definition: graphics.c:6289
Status GetTransform(Matrix *matrix)
Status DrawPie(const Pen *pen, INT x, INT y, INT width, INT height, REAL startAngle, REAL sweepAngle)
unsigned int BOOL
Definition: ntddk_ex.h:94
GLuint color
Definition: glext.h:6243
GpStatus WINGDIPAPI GdipSetCompositingMode(GpGraphics *graphics, CompositingMode mode)
Definition: graphics.c:6085
Status EnumerateMetafile(const Metafile *metafile, const PointF &destPoint, const Rect &srcRect, Unit srcUnit, EnumerateMetafileProc callback, VOID *callbackData, ImageAttributes *imageAttributes)
Status DrawPolygon(const Pen *pen, const Point *points, INT count)
SmoothingMode GetSmoothingMode(VOID) const
Status SetClip(const RectF &rect, CombineMode combineMode)
Status SetTextContrast(UINT contrast)
VOID Flush(FlushIntention intention)
Status DrawRectangles(const Pen *pen, const Rect *rects, INT count)
Status DrawImage(Image *image, const RectF &destRect, REAL srcx, REAL srcy, REAL srcwidth, REAL srcheight, Unit srcUnit, ImageAttributes *imageAttributes, DrawImageAbort callback, VOID *callbackData)
Graphics(HDC hdc, HANDLE hdevice)
Status SetCompositingMode(CompositingMode compositingMode)
GpStatus WINGDIPAPI GdipSetRenderingOrigin(GpGraphics *graphics, INT x, INT y)
Definition: graphics.c:6258
Status DrawString(const WCHAR *string, INT length, const Font *font, const PointF &origin, const Brush *brush)
GpStatus WINGDIPAPI GdipFillPolygonI(GpGraphics *graphics, GpBrush *brush, GDIPCONST GpPoint *points, INT count, GpFillMode fillMode)
Definition: graphics.c:4492
GpStatus WINGDIPAPI GdipFillRectangle(GpGraphics *graphics, GpBrush *brush, REAL x, REAL y, REAL width, REAL height)
Definition: graphics.c:4537
png_const_structrp png_const_inforp int * unit
Definition: png.h:2161
Status DrawImage(Image *image, const Rect &destRect, INT srcx, INT srcy, INT srcwidth, INT srcheight, Unit srcUnit, ImageAttributes *imageAttributes, DrawImageAbort callback, VOID *callbackData)
Status EnumerateMetafile(const Metafile *metafile, const RectF &destRect, const RectF &srcRect, Unit srcUnit, EnumerateMetafileProc callback, VOID *callbackData, ImageAttributes *imageAttributes)
smooth NULL
Definition: ftsmooth.c:416
Status FillPolygon(const Brush *brush, const Point *points, INT count, FillMode fillMode)
Status FillClosedCurve(const Brush *brush, const PointF *points, INT count)
CompositingQuality
Definition: gdiplusenums.h:129
GpStatus WINGDIPAPI GdipGetVisibleClipBoundsI(GpGraphics *graphics, GpRect *rect)
Definition: graphics.c:5041
Status IntersectClip(const Rect &rect)
Status EnumerateMetafile(const Metafile *metafile, const Rect &destRect, EnumerateMetafileProc callback, VOID *callbackData, ImageAttributes *imageAttributes)
GpStatus WINGDIPAPI GdipFillPolygon2(GpGraphics *graphics, GpBrush *brush, GDIPCONST GpPointF *points, INT count)
Definition: graphics.c:4521
Status GetRenderingOrigin(INT *x, INT *y)
CompositingQuality GetCompositingQuality(VOID)
static HPALETTE GetHalftonePalette(VOID)
Status MeasureDriverString(const UINT16 *text, INT length, const Font *font, const PointF *positions, INT flags, const Matrix *matrix, RectF *boundingBox) const
Status ResetClip(VOID)
Status SetCompositingQuality(CompositingQuality compositingQuality)
GpStatus WINGDIPAPI GdipComment(GpGraphics *graphics, UINT sizeData, GDIPCONST BYTE *data)
Definition: graphics.c:5990
MatrixOrder
Definition: gdiplusenums.h:185
Status FillRectangle(const Brush *brush, INT x, INT y, INT width, INT height)
Status MeasureString(const WCHAR *string, INT length, const Font *font, const RectF &layoutRect, const StringFormat *stringFormat, RectF *boundingBox, INT *codepointsFitted, INT *linesFilled) const
Status SetPixelOffsetMode(PixelOffsetMode pixelOffsetMode)
Status TransformPoints(CoordinateSpace destSpace, CoordinateSpace srcSpace, Point *pts, INT count)
GpStatus WINGDIPAPI GdipFillRectangleI(GpGraphics *graphics, GpBrush *brush, INT x, INT y, INT width, INT height)
Definition: graphics.c:4552
GpStatus WINGDIPAPI GdipTranslateClipI(GpGraphics *graphics, INT dx, INT dy)
Definition: graphics.c:7042
Status GetLastStatus(VOID)
TextRenderingHint GetTextRenderingHint(VOID) const
BOOL IsVisible(const PointF &point) const
GpStatus WINGDIPAPI GdipDrawCurve3(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPointF *points, INT count, INT offset, INT numberOfSegments, REAL tension)
Definition: graphics.c:2905
#define dpi
Definition: sysparams.c:22
GLboolean GLboolean g
Definition: glext.h:6204
Status FillPolygon(const Brush *brush, const PointF *points, INT count, FillMode fillMode)
Status DrawImage(Image *image, const Point *destPoints, INT count, INT srcx, INT srcy, INT srcwidth, INT srcheight, Unit srcUnit, ImageAttributes *imageAttributes, DrawImageAbort callback, VOID *callbackData)
MmuTrapHandler callback[0x30]
Definition: mmuobject.c:44
GpStatus WINGDIPAPI GdipRotateWorldTransform(GpGraphics *graphics, REAL angle, GpMatrixOrder order)
Definition: graphics.c:5862
GpStatus WINGDIPAPI GdipEndContainer(GpGraphics *graphics, GraphicsContainer state)
Definition: graphics.c:6039
GLsizeiptr size
Definition: glext.h:5919
Status Clear(const Color &color)
GraphicsContainer BeginContainer(const Rect &dstrect, const Rect &srcrect, Unit unit)
Status EnumerateMetafile(const Metafile *metafile, const PointF *destPoints, INT count, EnumerateMetafileProc callback, VOID *callbackData, ImageAttributes *imageAttributes)
GpStatus WINGDIPAPI GdipDrawCurve(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPointF *points, INT count)
Definition: graphics.c:2814
Status FillEllipse(const Brush *brush, const RectF &rect)
GraphicsState Save(VOID)
GpStatus WINGDIPAPI GdipFillPieI(GpGraphics *graphics, GpBrush *brush, INT x, INT y, INT width, INT height, REAL startAngle, REAL sweepAngle)
Definition: graphics.c:4454
GpStatus WINGDIPAPI GdipIsVisiblePoint(GpGraphics *graphics, REAL x, REAL y, BOOL *result)
Definition: graphics.c:5119
Status DrawCachedBitmap(CachedBitmap *cb, INT x, INT y)
__wchar_t WCHAR
Definition: xmlstorage.h:180
GpStatus WINGDIPAPI GdipSetInterpolationMode(GpGraphics *graphics, InterpolationMode mode)
Definition: graphics.c:6143
GLenum GLuint GLenum GLsizei length
Definition: glext.h:5579
Status DrawImage(Image *image, const Point *destPoints, INT count)
Status FillRegion(const Brush *brush, const Region *region)
Status DrawLines(const Pen *pen, const Point *points, INT count)
GpStatus WINGDIPAPI GdipDrawLinesI(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPoint *points, INT count)
Definition: graphics.c:3622
GpStatus WINGDIPAPI GdipDrawCurve2(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPointF *points, INT count, REAL tension)
Definition: graphics.c:2850
GpStatus WINGDIPAPI GdipFillPolygon2I(GpGraphics *graphics, GpBrush *brush, GDIPCONST GpPoint *points, INT count)
Definition: graphics.c:4529
Status GetClip(Region *region) const
Status FillRectangle(const Brush *brush, const RectF &rect)
GpStatus WINGDIPAPI GdipIsVisibleRectI(GpGraphics *graphics, INT x, INT y, INT width, INT height, BOOL *result)
Definition: graphics.c:5196
Status DrawRectangle(const Pen *pen, const RectF &rect)
GpStatus WINGDIPAPI GdipGetTextRenderingHint(GpGraphics *graphics, TextRenderingHint *hint)
Definition: graphics.c:4988
Status DrawBezier(const Pen *pen, REAL x1, REAL y1, REAL x2, REAL y2, REAL x3, REAL y3, REAL x4, REAL y4)
REAL Y
Definition: gdiplustypes.h:249
Status FillClosedCurve(const Brush *brush, const PointF *points, INT count, FillMode fillMode, REAL tension)
GpStatus WINGDIPAPI GdipSetClipHrgn(GpGraphics *graphics, HRGN hrgn, CombineMode mode)
Definition: graphics.c:6412
CompositingMode
Definition: gdiplusenums.h:245
GpStatus WINGDIPAPI GdipSetTextRenderingHint(GpGraphics *graphics, TextRenderingHint hint)
Definition: graphics.c:6330
Status DrawEllipse(const Pen *pen, const Rect &rect)
GpStatus WINGDIPAPI GdipFillClosedCurve(GpGraphics *graphics, GpBrush *brush, GDIPCONST GpPointF *points, INT count)
Definition: graphics.c:4274
GpStatus WINGDIPAPI GdipSetCompositingQuality(GpGraphics *graphics, CompositingQuality quality)
Definition: graphics.c:6114
GpStatus WINGDIPAPI GdipGetPageScale(GpGraphics *graphics, REAL *scale)
Definition: graphics.c:4912
GpStatus WINGDIPAPI GdipResetClip(GpGraphics *graphics)
Definition: graphics.c:5827
static DWORD cb
Definition: integrity.c:41
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
static const WCHAR stringFormat[]
Definition: wordpad.c:54
Graphics(HDC hdc)
GLbitfield flags
Definition: glext.h:7161
Status FillPath(const Brush *brush, const GraphicsPath *path)
Status FillRectangle(const Brush *brush, REAL x, REAL y, REAL width, REAL height)
Status DrawClosedCurve(const Pen *pen, const PointF *points, INT count, REAL tension)
GLsizei const GLfloat * points
Definition: glext.h:8112
UINT GetTextContrast(VOID) const
Status MeasureString(const WCHAR *string, INT length, const Font *font, const PointF &origin, const StringFormat *stringFormat, RectF *boundingBox) const
Status ScaleTransform(REAL sx, REAL sy, MatrixOrder order)
Status GetClipBounds(Rect *rect) const
Status DrawImage(Image *image, const Point &point)
GpStatus WINGDIPAPI GdipFillPolygon(GpGraphics *graphics, GpBrush *brush, GDIPCONST GpPointF *points, INT count, GpFillMode fillMode)
Definition: graphics.c:4463
HDC hdc
Definition: main.c:9
Status DrawLine(const Pen *pen, INT x1, INT y1, INT x2, INT y2)
Status SetClip(HRGN hRgn, CombineMode combineMode)
Status SetPageUnit(Unit unit)
Status DrawImage(Image *image, REAL x, REAL y, REAL srcx, REAL srcy, REAL srcwidth, REAL srcheight, Unit srcUnit)
GpStatus WINGDIPAPI GdipDrawPieI(GpGraphics *graphics, GpPen *pen, INT x, INT y, INT width, INT height, REAL startAngle, REAL sweepAngle)
Definition: graphics.c:4117
CompositingMode GetCompositingMode(VOID)
SmoothingMode
Definition: gdiplusenums.h:119
static int state
Definition: maze.c:121
REAL X
Definition: gdiplustypes.h:248
unsigned char BYTE
Definition: mem.h:68
BOOL IsVisibleClipEmpty(VOID) const
TextRenderingHint
Definition: gdiplusenums.h:251
REAL GetDpiX(VOID)
BOOL(CALLBACK * EnumerateMetafileProc)(EmfPlusRecordType, UINT, UINT, const BYTE *, VOID *)
Definition: gdiplustypes.h:59
Status DrawArc(const Pen *pen, REAL x, REAL y, REAL width, REAL height, REAL startAngle, REAL sweepAngle)
GpStatus WINGDIPAPI GdipGetCompositingMode(GpGraphics *graphics, CompositingMode *mode)
Definition: graphics.c:4848
Status SetClip(const Rect &rect, CombineMode combineMode)
GpStatus WINGDIPAPI GdipDrawArcI(GpGraphics *graphics, GpPen *pen, INT x, INT y, INT width, INT height, REAL startAngle, REAL sweepAngle)
Definition: graphics.c:2645
Status DrawPath(const Pen *pen, const GraphicsPath *path)
Status AddMetafileComment(const BYTE *data, UINT sizeData)
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG _In_ LONG _In_ LONG y2
Definition: winddi.h:3706
UINT GraphicsState
Definition: gdiplusenums.h:22
GpStatus WINGDIPAPI GdipTranslateClip(GpGraphics *graphics, REAL dx, REAL dy)
Definition: graphics.c:7026
GLenum mode
Definition: glext.h:6217
GLint GLint GLsizei GLsizei height
Definition: gl.h:1546
Status DrawCurve(const Pen *pen, const PointF *points, INT count)
PixelOffsetMode GetPixelOffsetMode(VOID)
Status GetVisibleClipBounds(RectF *rect) const
Status GetVisibleClipBounds(Rect *rect) const
GpStatus WINGDIPAPI GdipGetPageUnit(GpGraphics *graphics, GpUnit *unit)
Definition: graphics.c:4927
GpGraphics * graphics
Status
Definition: gdiplustypes.h:24
static Graphics * FromHWND(HWND hWnd, BOOL icm)
GpStatus WINGDIPAPI GdipDrawBeziers(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPointF *points, INT count)
Definition: graphics.c:2688
GpStatus WINGDIPAPI GdipDrawClosedCurveI(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPoint *points, INT count)
Definition: graphics.c:2752
Status DrawImage(Image *image, const RectF &rect)
Status DrawLine(const Pen *pen, const PointF &pt1, const Point &pt2)
Status EnumerateMetafile(const Metafile *metafile, const Point *destPoints, INT count, EnumerateMetafileProc callback, VOID *callbackData, ImageAttributes *imageAttributes)
GpStatus WINGDIPAPI GdipDrawEllipseI(GpGraphics *graphics, GpPen *pen, INT x, INT y, INT width, INT height)
Definition: graphics.c:2960
GpStatus WINGDIPAPI GdipDrawBezierI(GpGraphics *graphics, GpPen *pen, INT x1, INT y1, INT x2, INT y2, INT x3, INT y3, INT x4, INT y4)
Definition: graphics.c:2679
Status DrawArc(const Pen *pen, const Rect &rect, REAL startAngle, REAL sweepAngle)
Status DrawBezier(const Pen *pen, const Point &pt1, const Point &pt2, const Point &pt3, const Point &pt4)
GraphicsContainer BeginContainer(const RectF &dstrect, const RectF &srcrect, Unit unit)
Status DrawArc(const Pen *pen, const RectF &rect, REAL startAngle, REAL sweepAngle)
Status EnumerateMetafile(const Metafile *metafile, const Point *destPoints, INT count, const RectF &srcRect, Unit srcUnit, EnumerateMetafileProc callback, VOID *callbackData, ImageAttributes *imageAttributes)
GpStatus WINGDIPAPI GdipGraphicsClear(GpGraphics *graphics, ARGB color)
Definition: graphics.c:5076
Definition: services.c:325
GpPen * pen
Definition: gdipluspen.h:282
BOOL IsVisible(const RectF &rect) const
Status EnumerateMetafile(const Metafile *metafile, const Point &destPoint, const Rect &srcRect, Unit srcUnit, EnumerateMetafileProc callback, VOID *callbackData, ImageAttributes *imageAttributes)
Status DrawImage(Image *image, const Rect &rect)
Status EnumerateMetafile(const Metafile *metafile, const RectF &destRect, EnumerateMetafileProc callback, VOID *callbackData, ImageAttributes *imageAttributes)
unsigned short UINT16
ImageAbort DrawImageAbort
Definition: gdiplustypes.h:55
static Graphics * FromHDC(HDC hdc)
GpStatus WINGDIPAPI GdipCreateFromHDC(HDC hdc, GpGraphics **graphics)
Definition: graphics.c:2395
unsigned int UINT
Definition: ndis.h:50
GpStatus WINGDIPAPI GdipDrawArc(GpGraphics *graphics, GpPen *pen, REAL x, REAL y, REAL width, REAL height, REAL startAngle, REAL sweepAngle)
Definition: graphics.c:2619
GpStatus WINGDIPAPI GdipFillRectangles(GpGraphics *graphics, GpBrush *brush, GDIPCONST GpRectF *rects, INT count)
Definition: graphics.c:4567
Status DrawImage(Image *image, const PointF *destPoints, INT count, REAL srcx, REAL srcy, REAL srcwidth, REAL srcheight, Unit srcUnit, ImageAttributes *imageAttributes, DrawImageAbort callback, VOID *callbackData)
Status MultiplyTransform(Matrix *matrix, MatrixOrder order)
Status DrawCurve(const Pen *pen, const PointF *points, INT count, REAL tension)
FlushIntention
Definition: gdiplusenums.h:357
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
GLint dx
Definition: linetemp.h:97
Status RotateTransform(REAL angle, MatrixOrder order)
Status DrawImage(Image *image, const PointF &point)
HDC GetHDC(VOID)
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG _In_ LONG x2
Definition: winddi.h:3706
GpStatus WINGDIPAPI GdipSetClipGraphics(GpGraphics *graphics, GpGraphics *srcgraphics, CombineMode mode)
Definition: graphics.c:6074
BOOL IsVisible(const Rect &rect) const
GpStatus WINGDIPAPI GdipDrawPie(GpGraphics *graphics, GpPen *pen, REAL x, REAL y, REAL width, REAL height, REAL startAngle, REAL sweepAngle)
Definition: graphics.c:4091
Status FillPolygon(const Brush *brush, const Point *points, INT count)
GpStatus WINGDIPAPI GdipDrawBeziersI(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPoint *points, INT count)
Definition: graphics.c:2713
Status EndContainer(GraphicsContainer state)
GpStatus WINGDIPAPI GdipFillRectanglesI(GpGraphics *graphics, GpBrush *brush, GDIPCONST GpRect *rects, INT count)
Definition: graphics.c:4596
Status FillEllipse(const Brush *brush, const Rect &rect)
GpStatus WINGDIPAPI GdipDrawCurve2I(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPoint *points, INT count, REAL tension)
Definition: graphics.c:2878
Status DrawImage(Image *image, const PointF *destPoints, INT count)
BOOL IsVisible(INT x, INT y, INT width, INT height) const
GpStatus WINGDIPAPI GdipGetTextContrast(GpGraphics *graphics, UINT *contrast)
Definition: graphics.c:4975
Status DrawPie(const Pen *pen, const Rect &rect, REAL startAngle, REAL sweepAngle)
BOOL IsVisible(const Point &point) const
Status ExcludeClip(const Rect &rect)
BOOL IsClipEmpty(VOID) const
Status SetTransform(const Matrix *matrix)
Graphics(HWND hwnd, BOOL icm)
BOOL IsVisible(REAL x, REAL y) const
Status DrawString(const WCHAR *string, INT length, const Font *font, const RectF &layoutRect, const StringFormat *stringFormat, const Brush *brush)
CoordinateSpace
Definition: gdiplusenums.h:363
static Graphics * FromHDC(HDC hdc, HANDLE hDevice)
GpStatus WINGDIPAPI GdipGetClipBounds(GpGraphics *graphics, GpRectF *rect)
Definition: graphics.c:4807
Unit GetPageUnit(VOID)
GraphicsContainer BeginContainer(VOID)
GpStatus WINGDIPAPI GdipSetClipRectI(GpGraphics *graphics, INT x, INT y, INT width, INT height, CombineMode mode)
Definition: graphics.c:6518
Status FillEllipse(const Brush *brush, INT x, INT y, INT width, INT height)
GpStatus WINGDIPAPI GdipSetPageScale(GpGraphics *graphics, REAL scale)
Definition: graphics.c:6178
GpStatus WINGDIPAPI GdipDrawLines(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPointF *points, INT count)
Definition: graphics.c:3597
GpStatus WINGDIPAPI GdipTranslateWorldTransform(GpGraphics *graphics, REAL dx, REAL dy, GpMatrixOrder order)
Definition: graphics.c:6386
float REAL
Definition: types.h:41
BOOL IsVisible(INT x, INT y) const
Status DrawImage(Image *image, REAL x, REAL y, REAL width, REAL height)
Status FillPolygon(const Brush *brush, const PointF *points, INT count)
Status SetClip(const Region *region, CombineMode combineMode)
GpStatus WINGDIPAPI GdipDrawClosedCurve2I(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPoint *points, INT count, REAL tension)
Definition: graphics.c:2786
GpStatus WINGDIPAPI GdipSetTextContrast(GpGraphics *graphics, UINT contrast)
Definition: graphics.c:6318
Definition: gdipluspen.h:24
GLuint64EXT * result
Definition: glext.h:11304
Status EnumerateMetafile(const Metafile *metafile, const Rect &destRect, const Rect &srcRect, Unit srcUnit, EnumerateMetafileProc callback, VOID *callbackData, ImageAttributes *imageAttributes)
Status DrawString(const WCHAR *string, INT length, const Font *font, const PointF &origin, const StringFormat *stringFormat, const Brush *brush)
REAL GetPageScale(VOID)
GpStatus WINGDIPAPI GdipFillPie(GpGraphics *graphics, GpBrush *brush, REAL x, REAL y, REAL width, REAL height, REAL startAngle, REAL sweepAngle)
Definition: graphics.c:4424
Status FillEllipse(const Brush *brush, REAL x, REAL y, REAL width, REAL height)
Status SetStatus(Status status) const
Status DrawPolygon(const Pen *pen, const PointF *points, INT count)
Status DrawEllipse(const Pen *pen, REAL x, REAL y, REAL width, REAL height)
GpStatus WINGDIPAPI GdipDrawRectangle(GpGraphics *graphics, GpPen *pen, REAL x, REAL y, REAL width, REAL height)
Definition: graphics.c:4126
Status DrawClosedCurve(const Pen *pen, const PointF *points, INT count)
Status ResetTransform(VOID)
VOID SetGraphics(GpGraphics *graphics)
GpStatus WINGDIPAPI GdipDrawRectanglesI(GpGraphics *graphics, GpPen *pen, GDIPCONST GpRect *rects, INT count)
Definition: graphics.c:4184
GLenum fillMode
Definition: glext.h:11728
Status IntersectClip(const RectF &rect)
Status DrawPie(const Pen *pen, REAL x, REAL y, REAL width, REAL height, REAL startAngle, REAL sweepAngle)
GpStatus WINGDIPAPI GdipDrawClosedCurve(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPointF *points, INT count)
Definition: graphics.c:2744
GpStatus WINGDIPAPI GdipFillClosedCurveI(GpGraphics *graphics, GpBrush *brush, GDIPCONST GpPoint *points, INT count)
Definition: graphics.c:4282
Definition: ps.c:97
Status SetInterpolationMode(InterpolationMode interpolationMode)