ReactOS  0.4.14-dev-1314-gacf135d
gdiplusheaders.h
Go to the documentation of this file.
1 /*
2  * GdiPlusHeaders.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 _GDIPLUSHEADERS_H
20 #define _GDIPLUSHEADERS_H
21 
22 class Image : public GdiplusBase
23 {
24  public:
25  friend class Graphics;
26  friend class TextureBrush;
27 
28  Image(IStream *stream, BOOL useEmbeddedColorManagement = FALSE) : nativeImage(NULL)
29  {
30  if (useEmbeddedColorManagement)
32  else
34  }
35 
36  Image(const WCHAR *filename, BOOL useEmbeddedColorManagement = FALSE) : nativeImage(NULL)
37  {
38  if (useEmbeddedColorManagement)
40  else
42  }
43 
44  Image *
46  {
47  GpImage *cloneimage = NULL;
49  return new Image(cloneimage, lastStatus);
50  }
51 
52  virtual ~Image()
53  {
55  }
56 
57  static Image *
58  FromFile(const WCHAR *filename, BOOL useEmbeddedColorManagement = FALSE)
59  {
60  return new Image(filename, useEmbeddedColorManagement);
61  }
62 
63  static Image *
64  FromStream(IStream *stream, BOOL useEmbeddedColorManagement = FALSE)
65  {
66  return new Image(stream, useEmbeddedColorManagement);
67  }
68 
69  Status
70  GetAllPropertyItems(UINT totalBufferSize, UINT numProperties, PropertyItem *allItems)
71  {
72  if (allItems == NULL)
74  return SetStatus(DllExports::GdipGetAllPropertyItems(nativeImage, totalBufferSize, numProperties, allItems));
75  }
76 
77  Status
78  GetBounds(RectF *srcRect, Unit *srcUnit)
79  {
80  return SetStatus(DllExports::GdipGetImageBounds(nativeImage, srcRect, srcUnit));
81  }
82 
83  Status
85  {
86 #if 1
87  return SetStatus(NotImplemented);
88 #else
89  return SetStatus(DllExports::GdipGetEncoderParameterList(nativeImage, clsidEncoder, size, buffer));
90 #endif
91  }
92 
93  UINT
94  GetEncoderParameterListSize(const CLSID *clsidEncoder)
95  {
96  UINT size = 0;
98  return size;
99  }
100 
101  UINT
103  {
104  UINT flags = 0;
106  return flags;
107  }
108 
109  UINT
110  GetFrameCount(const GUID *dimensionID)
111  {
112  UINT count = 0;
114  return count;
115  }
116 
117  UINT
119  {
120  UINT count = 0;
122  return count;
123  }
124 
125  Status
127  {
129  }
130 
131  UINT
133  {
134  UINT height = 0;
136  return height;
137  }
138 
139  REAL
141  {
142  REAL resolution = 0.0f;
144  return resolution;
145  }
146 
147  Status
149  {
150  return lastStatus;
151  }
152 
153  Status
155  {
157  }
158 
159  INT
161  {
162  INT size = 0;
164  return size;
165  }
166 
167  Status
169  {
170  if (size == NULL)
171  return SetStatus(InvalidParameter);
172 
174  }
175 
178  {
181  return format;
182  }
183 
184  UINT
186  {
187  UINT numOfProperty = 0;
189  return numOfProperty;
190  }
191 
192  Status
194  {
196  }
197 
198  Status
200  {
201  return SetStatus(DllExports::GdipGetPropertyItem(nativeImage, propId, propSize, buffer));
202  }
203 
204  UINT
206  {
207  UINT size = 0;
209  return size;
210  }
211 
212  Status
213  GetPropertySize(UINT *totalBufferSize, UINT *numProperties)
214  {
215  return SetStatus(DllExports::GdipGetPropertySize(nativeImage, totalBufferSize, numProperties));
216  }
217 
218  Status
220  {
222  }
223 
224  Image *
225  GetThumbnailImage(UINT thumbWidth, UINT thumbHeight, GetThumbnailImageAbort callback, VOID *callbackData)
226  {
227  GpImage *thumbImage = NULL;
229  nativeImage, thumbWidth, thumbHeight, &thumbImage, callback, callbackData));
230  Image *newImage = new Image(thumbImage, lastStatus);
231  if (newImage == NULL)
232  {
233  DllExports::GdipDisposeImage(thumbImage);
234  }
235  return newImage;
236  }
237 
238  ImageType
240  {
241  ImageType type;
243  return type;
244  }
245 
246  REAL
248  {
249  REAL resolution = 0.0f;
251  return resolution;
252  }
253 
254  UINT
256  {
257  UINT width = 0;
259  return width;
260  }
261 
262  Status
264  {
266  }
267 
268  Status
269  RotateFlip(RotateFlipType rotateFlipType)
270  {
271  return SetStatus(DllExports::GdipImageRotateFlip(nativeImage, rotateFlipType));
272  }
273 
274  Status
275  Save(IStream *stream, const CLSID *clsidEncoder, const EncoderParameters *encoderParams)
276  {
277  return SetStatus(DllExports::GdipSaveImageToStream(nativeImage, stream, clsidEncoder, encoderParams));
278  }
279 
280  Status
281  Save(const WCHAR *filename, const CLSID *clsidEncoder, const EncoderParameters *encoderParams)
282  {
283  return SetStatus(DllExports::GdipSaveImageToFile(nativeImage, filename, clsidEncoder, encoderParams));
284  }
285 
286  Status
287  SaveAdd(const EncoderParameters *encoderParams)
288  {
289  return SetStatus(DllExports::GdipSaveAdd(nativeImage, encoderParams));
290  }
291 
292  Status
293  SaveAdd(Image *newImage, const EncoderParameters *encoderParams)
294  {
295 #if 1
296  // FIXME: Not available yet
297  return SetStatus(NotImplemented);
298 #else
299  if (!newImage)
300  return SetStatus(InvalidParameter);
301 
302  return SetStatus(DllExports::GdipSaveAddImage(nativeImage, getNat(newImage), encoderParams));
303 #endif
304  }
305 
306  Status
307  SelectActiveFrame(const GUID *dimensionID, UINT frameIndex)
308  {
309  return SetStatus(DllExports::GdipImageSelectActiveFrame(nativeImage, dimensionID, frameIndex));
310  }
311 
312  Status
314  {
316  }
317 
318  Status
320  {
322  }
323 
324 #if 0
325  ImageLayout
326  GetLayout() const
327  {
328  return SetStatus(NotImplemented);
329  }
330 
331  Status
332  SetLayout(const ImageLayout layout)
333  {
334  return SetStatus(NotImplemented);
335  }
336 #endif
337 
338  protected:
341 
343  {
344  }
345 
347  {
348  }
349 
350  Status
352  {
353  if (status != Ok)
354  lastStatus = status;
355  return status;
356  }
357 
358  void
360  {
361  nativeImage = image;
362  }
363 
364  private:
365  // Image is not copyable
366  Image(const Image &);
367  Image &
368  operator=(const Image &);
369 
370  // get native
371  friend inline GpImage *&
373  {
374  return const_cast<Image *>(image)->nativeImage;
375  }
376 };
377 
378 class Bitmap : public Image
379 {
380  friend class CachedBitmap;
381 
382  public:
383  // Bitmap(IDirectDrawSurface7 *surface) // <-- FIXME: compiler does not like this
384  // {
385  // lastStatus = DllExports::GdipCreateBitmapFromDirectDrawSurface(surface, &bitmap);
386  // }
387 
389  {
390  GpBitmap *bitmap = NULL;
393  }
394 
395  Bitmap(const BITMAPINFO *gdiBitmapInfo, VOID *gdiBitmapData)
396  {
397  GpBitmap *bitmap = NULL;
398  lastStatus = DllExports::GdipCreateBitmapFromGdiDib(gdiBitmapInfo, gdiBitmapData, &bitmap);
400  }
401 
403  {
404  GpBitmap *bitmap = NULL;
407  }
408 
409  Bitmap(HBITMAP hbm, HPALETTE hpal)
410  {
411  GpBitmap *bitmap = NULL;
414  }
415 
417  {
418  GpBitmap *bitmap = NULL;
421  }
422 
423  Bitmap(const WCHAR *filename, BOOL useIcm)
424  {
425  GpBitmap *bitmap = NULL;
426 
427  if (useIcm)
429  else
431 
433  }
434 
435  Bitmap(HINSTANCE hInstance, const WCHAR *bitmapName)
436  {
437  GpBitmap *bitmap = NULL;
440  }
441 
442  Bitmap(HICON hicon)
443  {
444  GpBitmap *bitmap = NULL;
447  }
448 
450  {
451  GpBitmap *bitmap = NULL;
452  if (useIcm)
454  else
457  }
458 
459  Bitmap *
461  {
462  return Clone(rect.X, rect.Y, rect.Width, rect.Height, format);
463  }
464 
465  Bitmap *
467  {
468  return Clone(rect.X, rect.Y, rect.Width, rect.Height, format);
469  }
470 
471  Bitmap *
473  {
474  GpBitmap *bitmap = NULL;
476 
477  if (lastStatus != Ok)
478  return NULL;
479 
480  Bitmap *newBitmap = new Bitmap(bitmap);
481  if (newBitmap == NULL)
482  {
484  }
485 
486  return newBitmap;
487  }
488 
489  Bitmap *
491  {
492  GpBitmap *bitmap = NULL;
494 
495  if (lastStatus != Ok)
496  return NULL;
497 
498  Bitmap *newBitmap = new Bitmap(bitmap);
499  if (newBitmap == NULL)
500  {
502  }
503 
504  return newBitmap;
505  }
506 
507  static Bitmap *
508  FromBITMAPINFO(const BITMAPINFO *gdiBitmapInfo, VOID *gdiBitmapData)
509  {
510  return new Bitmap(gdiBitmapInfo, gdiBitmapData);
511  }
512 
513  // static Bitmap *FromDirectDrawSurface7(IDirectDrawSurface7 *surface) // <-- FIXME: compiler does not like this
514  // {
515  // return new Bitmap(surface);
516  // }
517 
518  static Bitmap *
519  FromFile(const WCHAR *filename, BOOL useEmbeddedColorManagement)
520  {
521  return new Bitmap(filename, useEmbeddedColorManagement);
522  }
523 
524  static Bitmap *
525  FromHBITMAP(HBITMAP hbm, HPALETTE hpal)
526  {
527  return new Bitmap(hbm, hpal);
528  }
529 
530  static Bitmap *
532  {
533  return new Bitmap(hicon);
534  }
535 
536  static Bitmap *
537  FromResource(HINSTANCE hInstance, const WCHAR *bitmapName)
538  {
539  return new Bitmap(hInstance, bitmapName);
540  }
541 
542  static Bitmap *
543  FromStream(IStream *stream, BOOL useEmbeddedColorManagement)
544  {
545  return new Bitmap(stream, useEmbeddedColorManagement);
546  }
547 
548  Status
549  GetHBITMAP(const Color &colorBackground, HBITMAP *hbmReturn)
550  {
551  return SetStatus(
552  DllExports::GdipCreateHBITMAPFromBitmap(GetNativeBitmap(), hbmReturn, colorBackground.GetValue()));
553  }
554 
555  Status
556  GetHICON(HICON *hicon)
557  {
559  }
560 
561  Status
563  {
564  ARGB argb;
566  if (color)
567  color->SetValue(argb);
568  return s;
569  }
570 
571  Status
572  LockBits(const Rect *rect, UINT flags, PixelFormat format, BitmapData *lockedBitmapData)
573  {
575  }
576 
577  Status
579  {
581  }
582 
583  Status
584  SetResolution(REAL xdpi, REAL ydpi)
585  {
587  }
588 
589  Status
590  UnlockBits(BitmapData *lockedBitmapData)
591  {
592  return SetStatus(DllExports::GdipBitmapUnlockBits(GetNativeBitmap(), lockedBitmapData));
593  }
594 
595  protected:
597  {
598  }
599 
600  Bitmap(GpBitmap *nativeBitmap)
601  {
602  lastStatus = Ok;
603  SetNativeImage(nativeBitmap);
604  }
605 
606  GpBitmap *
608  {
609  return static_cast<GpBitmap *>(nativeImage);
610  }
611 };
612 
613 class CachedBitmap : public GdiplusBase
614 {
615  public:
617  {
620  bitmap->GetNativeBitmap(), graphics ? getNat(graphics) : NULL, &nativeCachedBitmap);
621  }
622 
624  {
626  }
627 
628  Status
630  {
631  return lastStatus;
632  }
633 
634  protected:
637 
638  private:
639  // CachedBitmap is not copyable
640  CachedBitmap(const CachedBitmap &);
641  CachedBitmap &
642  operator=(const CachedBitmap &);
643 
644  // get native
645  friend inline GpCachedBitmap *&
647  {
648  return const_cast<CachedBitmap *>(cb)->nativeCachedBitmap;
649  }
650 };
651 
653 {
654  friend class FontFamily;
655 
656  public:
658  {
659  }
660 
661  virtual ~FontCollection()
662  {
663  }
664 
665  Status
666  GetFamilies(INT numSought, FontFamily *gpfamilies, INT *numFound) const
667  {
668  return SetStatus(NotImplemented);
669  }
670 
671  INT
673  {
674  INT numFound = 0;
676  return numFound;
677  }
678 
679  Status
681  {
682  return lastStatus;
683  }
684 
685  protected:
688 
689  Status
691  {
692  if (status != Ok)
693  lastStatus = status;
694  return status;
695  }
696 
697  private:
698  // FontCollection is not copyable
701  operator=(const FontCollection &);
702 
703  // get native
704  friend inline GpFontCollection *&
706  {
707  return const_cast<FontCollection *>(fc)->nativeFontCollection;
708  }
709 };
710 
711 class FontFamily : public GdiplusBase
712 {
713  friend class Font;
714 
715  public:
717  {
718  }
719 
720  FontFamily(const WCHAR *name, const FontCollection *fontCollection)
721  {
722  GpFontCollection *theCollection = fontCollection ? getNat(fontCollection) : NULL;
724  }
725 
726  FontFamily *
728  {
729  return NULL;
730  }
731 
732  static const FontFamily *
734  {
735  FontFamily *genericMonospace = new FontFamily();
736  genericMonospace->status =
737  DllExports::GdipGetGenericFontFamilyMonospace(genericMonospace ? &genericMonospace->fontFamily : NULL);
738  return genericMonospace;
739  }
740 
741  static const FontFamily *
743  {
744  FontFamily *genericSansSerif = new FontFamily();
745  genericSansSerif->status =
746  DllExports::GdipGetGenericFontFamilySansSerif(genericSansSerif ? &genericSansSerif->fontFamily : NULL);
747  return genericSansSerif;
748  }
749 
750  static const FontFamily *
752  {
753  FontFamily *genericSerif = new FontFamily();
754  genericSerif->status =
755  DllExports::GdipGetGenericFontFamilyMonospace(genericSerif ? &genericSerif->fontFamily : NULL);
756  return genericSerif;
757  }
758 
759  UINT16
761  {
762  UINT16 CellAscent;
764  return CellAscent;
765  }
766 
767  UINT16
769  {
770  UINT16 CellDescent;
772  return CellDescent;
773  }
774 
775  UINT16
777  {
778  UINT16 EmHeight;
780  return EmHeight;
781  }
782 
783  Status
785  {
787  }
788 
789  Status
791  {
792  return status;
793  }
794 
795  UINT16
797  {
798  UINT16 LineSpacing;
800  return LineSpacing;
801  }
802 
803  BOOL
804  IsAvailable() const
805  {
806  return FALSE;
807  }
808 
809  BOOL
811  {
812  BOOL StyleAvailable;
814  return StyleAvailable;
815  }
816 
817  private:
818  mutable Status status;
820 
821  Status
823  {
824  if (status == Ok)
825  return status;
826  this->status = status;
827  return status;
828  }
829 
830  // get native
831  friend inline GpFontFamily *&
832  getNat(const FontFamily *ff)
833  {
834  return const_cast<FontFamily *>(ff)->fontFamily;
835  }
836 };
837 
839 {
840  public:
842  {
843  }
844 };
845 
847 {
848  public:
850  {
853  }
854 
856  {
858  }
859 
860  Status
862  {
864  }
865 
866  Status
868  {
870  }
871 };
872 
873 class Font : public GdiplusBase
874 {
875  public:
876  friend class FontFamily;
877  friend class FontCollection;
878  friend class Graphics;
879 
880  Font(const FontFamily *family, REAL emSize, INT style, Unit unit)
881  {
883  }
884 
886  {
887  }
888 
889  Font(HDC hdc, const LOGFONTA *logfont)
890  {
892  }
893 
894  Font(HDC hdc, const LOGFONTW *logfont)
895  {
897  }
898 
899  Font(const WCHAR *familyName, REAL emSize, INT style, Unit unit, const FontCollection *fontCollection)
900  {
901  }
902 
904  {
906  }
907 
908  Font *
909  Clone() const
910  {
911  Font *cloneFont = new Font();
912  cloneFont->status = DllExports::GdipCloneFont(font, cloneFont ? &cloneFont->font : NULL);
913  return cloneFont;
914  }
915 
916  Status
917  GetFamily(FontFamily *family) const
918  {
919  return SetStatus(DllExports::GdipGetFamily(font, family ? &family->fontFamily : NULL));
920  }
921 
922  REAL
923  GetHeight(const Graphics *graphics) const
924  {
925  REAL height;
926  SetStatus(DllExports::GdipGetFontHeight(font, graphics ? getNat(graphics) : NULL, &height));
927  return height;
928  }
929 
930  REAL
932  {
933  REAL height;
935  return height;
936  }
937 
938  Status
940  {
941  return status;
942  }
943 
944  Status
945  GetLogFontA(const Graphics *g, LOGFONTA *logfontA) const
946  {
947  return SetStatus(DllExports::GdipGetLogFontA(font, g ? getNat(g) : NULL, logfontA));
948  }
949 
950  Status
951  GetLogFontW(const Graphics *g, LOGFONTW *logfontW) const
952  {
953  return SetStatus(DllExports::GdipGetLogFontW(font, g ? getNat(g) : NULL, logfontW));
954  }
955 
956  REAL
957  GetSize() const
958  {
959  REAL size;
961  return size;
962  }
963 
964  INT
965  GetStyle() const
966  {
967  INT style;
969  return style;
970  }
971 
972  Unit
973  GetUnit() const
974  {
975  Unit unit;
977  return unit;
978  }
979 
980  BOOL
981  IsAvailable() const
982  {
983  return FALSE;
984  }
985 
986  protected:
988  {
989  }
990 
991  private:
992  mutable Status status;
994 
995  Status
997  {
998  if (status == Ok)
999  return status;
1000  this->status = status;
1001  return status;
1002  }
1003 
1004  // get native
1005  friend inline GpFont *&
1006  getNat(const Font *font)
1007  {
1008  return const_cast<Font *>(font)->font;
1009  }
1010 };
1011 
1012 class Region : public GdiplusBase
1013 {
1014  public:
1015  friend class Graphics;
1016  friend class GraphicsPath;
1017  friend class Matrix;
1018 
1019  Region(const Rect &rect)
1020  {
1022  }
1023 
1025  {
1027  }
1028 
1029  Region(const BYTE *regionData, INT size)
1030  {
1032  }
1033 
1035  {
1037  }
1038 
1039  Region(HRGN hRgn)
1040  {
1042  }
1043 
1045  {
1047  }
1048 
1049  Region *
1051  {
1052  Region *cloneRegion = new Region();
1053  cloneRegion->lastStatus =
1054  DllExports::GdipCloneRegion(nativeRegion, cloneRegion ? &cloneRegion->nativeRegion : NULL);
1055  return cloneRegion;
1056  }
1057 
1058  Status
1060  {
1061  GpPath *thePath = path ? getNat(path) : NULL;
1063  }
1064 
1065  Status
1066  Complement(const Region *region)
1067  {
1068  GpRegion *theRegion = region ? getNat(region) : NULL;
1070  }
1071 
1072  Status
1074  {
1076  }
1077 
1078  Status
1080  {
1082  }
1083 
1084  BOOL
1085  Equals(const Region *region, const Graphics *g) const
1086  {
1087  BOOL result;
1088  SetStatus(
1089  DllExports::GdipIsEqualRegion(nativeRegion, region ? getNat(region) : NULL, g ? getNat(g) : NULL, &result));
1090  return result;
1091  }
1092 
1093  Status
1095  {
1096  return SetStatus(
1098  }
1099 
1100  Status
1102  {
1104  }
1105 
1106  Status
1108  {
1110  }
1111 
1112  Status
1113  Exclude(const Region *region)
1114  {
1115  return SetStatus(
1117  }
1118 
1119  static Region *
1121  {
1122  return new Region(hRgn);
1123  }
1124 
1125  Status
1126  GetBounds(Rect *rect, const Graphics *g) const
1127  {
1129  }
1130 
1131  Status
1132  GetBounds(RectF *rect, const Graphics *g) const
1133  {
1135  }
1136 
1137  Status
1138  GetData(BYTE *buffer, UINT bufferSize, UINT *sizeFilled) const
1139  {
1140  return SetStatus(DllExports::GdipGetRegionData(nativeRegion, buffer, bufferSize, sizeFilled));
1141  }
1142 
1143  UINT
1144  GetDataSize() const
1145  {
1146  UINT bufferSize;
1148  return bufferSize;
1149  }
1150 
1151  HRGN
1152  GetHRGN(const Graphics *g) const
1153  {
1154  HRGN hRgn;
1156  return hRgn;
1157  }
1158 
1159  Status
1161  {
1162  return lastStatus;
1163  }
1164 
1165  Status
1166  GetRegionScans(const Matrix *matrix, Rect *rects, INT *count) const
1167  {
1169  }
1170 
1171  Status
1172  GetRegionScans(const Matrix *matrix, RectF *rects, INT *count) const
1173  {
1175  }
1176 
1177  UINT
1179  {
1180  UINT count;
1182  return count;
1183  }
1184 
1185  Status
1187  {
1189  }
1190 
1191  Status
1193  {
1194  GpPath *thePath = path ? getNat(path) : NULL;
1196  }
1197 
1198  Status
1200  {
1202  }
1203 
1204  Status
1205  Intersect(const Region *region)
1206  {
1207  return SetStatus(
1209  }
1210 
1211  BOOL
1212  IsEmpty(const Graphics *g) const
1213  {
1214  BOOL result;
1216  return result;
1217  }
1218 
1219  BOOL
1220  IsInfinite(const Graphics *g) const
1221  {
1222  BOOL result;
1224  return result;
1225  }
1226 
1227  BOOL
1228  IsVisible(const PointF &point, const Graphics *g) const
1229  {
1230  BOOL result;
1232  return result;
1233  }
1234 
1235  BOOL
1236  IsVisible(const RectF &rect, const Graphics *g) const
1237  {
1238  BOOL result;
1240  nativeRegion, rect.X, rect.Y, rect.Width, rect.Height, g ? getNat(g) : NULL, &result));
1241  return result;
1242  }
1243 
1244  BOOL
1245  IsVisible(const Rect &rect, const Graphics *g) const
1246  {
1247  BOOL result;
1249  nativeRegion, rect.X, rect.Y, rect.Width, rect.Height, g ? getNat(g) : NULL, &result));
1250  return result;
1251  }
1252 
1253  BOOL
1254  IsVisible(INT x, INT y, const Graphics *g) const
1255  {
1256  BOOL result;
1258  return result;
1259  }
1260 
1261  BOOL
1262  IsVisible(REAL x, REAL y, const Graphics *g) const
1263  {
1264  BOOL result;
1266  return result;
1267  }
1268 
1269  BOOL
1271  {
1272  BOOL result;
1273  SetStatus(
1275  return result;
1276  }
1277 
1278  BOOL
1279  IsVisible(const Point &point, const Graphics *g) const
1280  {
1281  BOOL result;
1283  return result;
1284  }
1285 
1286  BOOL
1288  {
1289  BOOL result;
1290  SetStatus(
1292  return result;
1293  }
1294 
1295  Status
1297  {
1299  }
1300 
1301  Status
1303  {
1305  }
1306 
1307  Status
1309  {
1311  }
1312 
1313  Status
1315  {
1317  }
1318 
1319  Status
1321  {
1323  }
1324 
1325  Status
1326  Union(const Rect &rect)
1327  {
1329  }
1330 
1331  Status
1332  Union(const Region *region)
1333  {
1334  return SetStatus(
1336  }
1337 
1338  Status
1339  Union(const RectF &rect)
1340  {
1342  }
1343 
1344  Status
1346  {
1348  }
1349 
1350  Status
1352  {
1354  }
1355 
1356  Status
1357  Xor(const RectF &rect)
1358  {
1360  }
1361 
1362  Status
1363  Xor(const Rect &rect)
1364  {
1366  }
1367 
1368  Status
1369  Xor(const Region *region)
1370  {
1371  return SetStatus(
1373  }
1374 
1375  private:
1378 
1379  Status
1381  {
1382  if (status != Ok)
1383  lastStatus = status;
1384  return status;
1385  }
1386 
1387  // get native
1388  friend inline GpRegion *&
1389  getNat(const Region *region)
1390  {
1391  return const_cast<Region *>(region)->nativeRegion;
1392  }
1393 };
1394 
1396 {
1397  public:
1398  CustomLineCap(const GraphicsPath *fillPath, const GraphicsPath *strokePath, LineCap baseCap, REAL baseInset = 0);
1399 
1400  ~CustomLineCap();
1401 
1402  CustomLineCap *
1403  Clone();
1404 
1405  LineCap
1406  GetBaseCap();
1407 
1408  REAL
1409  GetBaseInset();
1410 
1411  Status
1412  GetLastStatus();
1413 
1414  Status
1415  GetStrokeCaps(LineCap *startCap, LineCap *endCap);
1416 
1417  LineJoin
1418  GetStrokeJoin();
1419 
1420  REAL
1421  GetWidthScale();
1422 
1423  Status
1424  SetBaseCap(LineCap baseCap);
1425 
1426  Status
1427  SetBaseInset(REAL inset);
1428 
1429  Status
1430  SetStrokeCap(LineCap strokeCap);
1431 
1432  Status
1433  SetStrokeCaps(LineCap startCap, LineCap endCap);
1434 
1435  Status
1436  SetStrokeJoin(LineJoin lineJoin);
1437 
1438  Status
1439  SetWidthScale(IN REAL widthScale);
1440 
1441  protected:
1444 
1446  {
1447  }
1448 
1450  {
1451  }
1452 
1453  void
1455  {
1456  nativeCap = cap;
1457  }
1458 
1459  Status
1461  {
1462  if (status == Ok)
1463  lastStatus = status;
1464  return status;
1465  }
1466 
1467  private:
1468  // CustomLineCap is not copyable
1469  CustomLineCap(const CustomLineCap &);
1470  CustomLineCap &
1471  operator=(const CustomLineCap &);
1472 
1473  // get native
1474  friend inline GpCustomLineCap *&
1476  {
1477  return const_cast<CustomLineCap *>(cap)->nativeCap;
1478  }
1479 };
1480 
1481 inline Image *
1483 {
1484  GpImage *image = NULL;
1487  if (lastStatus != Ok)
1488  return NULL;
1489 
1490  Image *newImage = new Image(image, lastStatus);
1491  if (!newImage)
1493  return newImage;
1494 }
1495 
1496 #endif /* _GDIPLUSHEADERS_H */
GpBitmap * GetNativeBitmap() const
Bitmap(HICON hicon)
GpStatus WINGDIPAPI GdipIsEmptyRegion(GpRegion *region, GpGraphics *graphics, BOOL *res)
Definition: region.c:1204
Font(const WCHAR *familyName, REAL emSize, INT style, Unit unit, const FontCollection *fontCollection)
GpStatus WINGDIPAPI GdipLoadImageFromStreamICM(IStream *stream, GpImage **image)
Definition: image.c:4392
DWORD WINAPI SetLayout(_In_ HDC hdc, _In_ DWORD dwLayout)
Definition: coord.c:780
GpStatus WINGDIPAPI GdipCombineRegionRect(GpRegion *region, GDIPCONST GpRectF *rect, CombineMode mode)
Definition: region.c:278
Status LockBits(const Rect *rect, UINT flags, PixelFormat format, BitmapData *lockedBitmapData)
GpStatus WINGDIPAPI GdipGetTextureImage(GpTexture *brush, GpImage **image)
Definition: brush.c:1288
GpStatus WINGDIPAPI GdipGetGenericFontFamilyMonospace(GpFontFamily **nativeFamily)
Definition: font.c:1010
Status lastStatus
GpStatus WINGDIPAPI GdipGetAllPropertyItems(GpImage *image, UINT size, UINT count, PropertyItem *buf)
Definition: image.c:2757
GpStatus WINGDIPAPI GdipGetLogFontW(GpFont *font, GpGraphics *graphics, LOGFONTW *lf)
Definition: font.c:455
GLeglImageOES image
Definition: gl.h:2204
Status GetData(BYTE *buffer, UINT bufferSize, UINT *sizeFilled) const
#define IN
Definition: typedefs.h:39
GLint GLint GLsizei width
Definition: gl.h:1546
Status RotateFlip(RotateFlipType rotateFlipType)
BOOL IsVisible(INT x, INT y, const Graphics *g) const
GpCachedBitmap * nativeCachedBitmap
Status SetPalette(const ColorPalette *palette)
PixelFormat GetPixelFormat()
static HICON
Definition: imagelist.c:84
UINT16 GetCellDescent(INT style) const
Status Intersect(const RectF &rect)
Status Intersect(const GraphicsPath *path)
Status Intersect(const Region *region)
GpStatus WINGDIPAPI GdipCreateFontFromDC(HDC hdc, GpFont **font)
Definition: font.c:286
#define LF_FACESIZE
Definition: dimm.idl:39
GpStatus WINGDIPAPI GdipImageGetFrameCount(GpImage *image, GDIPCONST GUID *dimensionID, UINT *count)
Definition: image.c:2865
Bitmap * Clone(const Rect &rect, PixelFormat format)
UINT GetRegionScansCount(const Matrix *matrix) const
Image * Clone()
GpStatus WINGDIPAPI GdipDeleteCachedBitmap(GpCachedBitmap *cachedbmp)
Definition: image.c:2007
GpStatus WINGDIPAPI GdipCombineRegionRectI(GpRegion *region, GDIPCONST GpRect *rect, CombineMode mode)
Definition: region.c:325
static Bitmap * FromFile(const WCHAR *filename, BOOL useEmbeddedColorManagement)
GpStatus WINGDIPAPI GdipCreateFontFromLogfontW(HDC hdc, GDIPCONST LOGFONTW *logfont, GpFont **font)
Definition: font.c:203
Status GetLogFontW(const Graphics *g, LOGFONTW *logfontW) const
GpStatus WINGDIPAPI GdipSaveAdd(GpImage *image, GDIPCONST EncoderParameters *params)
Definition: image.c:4653
CustomLineCap * Clone()
GpStatus WINGDIPAPI GdipCreateBitmapFromStreamICM(IStream *stream, GpBitmap **bitmap)
Definition: image.c:1922
GpStatus WINGDIPAPI GdipRemovePropertyItem(GpImage *image, PROPID propId)
Definition: image.c:4399
Font * Clone() const
GpStatus WINGDIPAPI GdipGetRegionData(GpRegion *region, BYTE *buffer, UINT size, UINT *needed)
Definition: region.c:747
GpStatus WINGDIPAPI GdipLoadImageFromFile(GDIPCONST WCHAR *filename, GpImage **image)
Definition: image.c:2928
GpStatus WINGDIPAPI GdipGetImageType(GpImage *image, ImageType *type)
Definition: image.c:2318
Status GetLastStatus() const
Unit
Definition: gdiplusenums.h:25
GpStatus WINGDIPAPI GdipCreateBitmapFromStream(IStream *stream, GpBitmap **bitmap)
Definition: image.c:1900
Status GetRegionScans(const Matrix *matrix, Rect *rects, INT *count) const
GpStatus WINGDIPAPI GdipSetPropertyItem(GpImage *image, GDIPCONST PropertyItem *item)
Definition: image.c:4414
BOOL IsVisible(const PointF &point, const Graphics *g) const
Definition: mk_font.cpp:20
Status SetPixel(INT x, INT y, const Color &color)
GpStatus WINGDIPAPI GdipGetImageBounds(GpImage *image, GpRectF *srcRect, GpUnit *srcUnit)
Definition: image.c:2148
Status SetStatus(Status status) const
friend GpCachedBitmap *& getNat(const CachedBitmap *cb)
GpStatus WINGDIPAPI GdipGetImageWidth(GpImage *image, UINT *width)
Definition: image.c:2342
Font(const FontFamily *family, REAL emSize, INT style, Unit unit)
static Bitmap * FromHBITMAP(HBITMAP hbm, HPALETTE hpal)
GLuint GLenum matrix
Definition: glext.h:9407
GpStatus WINGDIPAPI GdipGetImageVerticalResolution(GpImage *image, REAL *res)
Definition: image.c:2330
Status SaveAdd(const EncoderParameters *encoderParams)
virtual ~Image()
virtual ~PrivateFontCollection()
GpStatus WINGDIPAPI GdipGetRegionScansI(GpRegion *region, GpRect *scans, INT *count, GpMatrix *matrix)
Definition: region.c:1622
GpStatus WINGDIPAPI GdipGetRegionHRgn(GpRegion *region, GpGraphics *graphics, HRGN *hrgn)
Definition: region.c:1194
GLuint GLuint GLsizei count
Definition: gl.h:1545
GLint dy
Definition: linetemp.h:97
GpStatus WINGDIPAPI GdipGetFontUnit(GpFont *font, Unit *unit)
Definition: font.c:417
Bitmap * Clone(INT x, INT y, INT width, INT height, PixelFormat format)
GpStatus WINGDIPAPI GdipGetImagePalette(GpImage *image, ColorPalette *palette, INT size)
Definition: image.c:4662
GpStatus WINGDIPAPI GdipCreateHICONFromBitmap(GpBitmap *bitmap, HICON *hicon)
Definition: image.c:1953
Status Intersect(const Rect &rect)
Status GetLastStatus()
GpStatus WINGDIPAPI GdipGetPropertyItemSize(GpImage *image, PROPID propid, UINT *size)
Definition: image.c:2488
friend GpImage *& getNat(const Image *image)
static Region * FromHRGN(HRGN hRgn)
UINT GetPropertyCount()
HRGN GetHRGN(const Graphics *g) const
static HDC
Definition: imagelist.c:92
GpStatus WINGDIPAPI GdipGetLogFontA(GpFont *font, GpGraphics *graphics, LOGFONTA *lfa)
Definition: font.c:432
INT GetPaletteSize()
Status GetBounds(Rect *rect, const Graphics *g) const
GpStatus WINGDIPAPI GdipIsVisibleRegionPoint(GpRegion *region, REAL x, REAL y, GpGraphics *graphics, BOOL *res)
Definition: region.c:1320
BOOL IsVisible(REAL x, REAL y, REAL width, REAL height, const Graphics *g) const
GpStatus WINGDIPAPI GdipCreateBitmapFromHBITMAP(HBITMAP hbm, HPALETTE hpal, GpBitmap **bitmap)
Definition: image.c:5104
Image(IStream *stream, BOOL useEmbeddedColorManagement=FALSE)
Font(HDC hdc, const HFONT hfont)
static PWSTR Image
Definition: pageheap.c:13
GpStatus WINGDIPAPI GdipIsEqualRegion(GpRegion *region, GpRegion *region2, GpGraphics *graphics, BOOL *res)
Definition: region.c:1226
Status SetStatus(Status status) const
GpStatus WINGDIPAPI GdipCreateBitmapFromGdiDib(GDIPCONST BITMAPINFO *info, VOID *bits, GpBitmap **bitmap)
Definition: image.c:1385
static HRGN hRgn
Definition: mapping.c:33
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
Status lastStatus
Definition: gdiplusbrush.h:65
GpStatus WINGDIPAPI GdipCreateRegionHrgn(HRGN hrgn, GpRegion **region)
Definition: region.c:506
Status GetPropertyIdList(UINT numOfProperty, PROPID *list)
Status SetStatus(Status status) const
GLuint buffer
Definition: glext.h:5915
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
GpStatus WINGDIPAPI GdipBitmapSetPixel(GpBitmap *bitmap, INT x, INT y, ARGB color)
Definition: image.c:494
GpStatus WINGDIPAPI GdipGetImageHorizontalResolution(GpImage *image, REAL *res)
Definition: image.c:2261
LineJoin
Definition: gdiplusenums.h:104
Region(const BYTE *regionData, INT size)
Status SetPropertyItem(const PropertyItem *item)
GpStatus WINGDIPAPI GdipCombineRegionPath(GpRegion *region, GpPath *path, CombineMode mode)
Definition: region.c:232
Bitmap * Clone(REAL x, REAL y, REAL width, REAL height, PixelFormat format)
GpStatus WINGDIPAPI GdipGetImageFlags(GpImage *image, UINT *flags)
Definition: image.c:5266
CustomLineCap(GpCustomLineCap *cap, Status status)
GpStatus WINGDIPAPI GdipCloneImage(GpImage *image, GpImage **cloneImage)
Definition: image.c:1308
FontFamily(const WCHAR *name, const FontCollection *fontCollection)
static const CLSID IPropertyStorage UINT *static const PROPSPEC PROPVARIANT *static UINT const PROPSPEC PROPVARIANT PROPID
Definition: shellole.c:77
GpStatus WINGDIPAPI GdipSaveImageToFile(GpImage *image, GDIPCONST WCHAR *filename, GDIPCONST CLSID *clsidEncoder, GDIPCONST EncoderParameters *encoderParams)
Definition: image.c:4428
const char * filename
Definition: ioapi.h:135
static Bitmap * FromStream(IStream *stream, BOOL useEmbeddedColorManagement)
Status GetLogFontA(const Graphics *g, LOGFONTA *logfontA) const
GpStatus WINGDIPAPI GdipGetPropertyCount(GpImage *image, UINT *num)
Definition: image.c:2364
GpStatus WINGDIPAPI GdipSetInfinite(GpRegion *region)
Definition: region.c:1374
Status SetStatus(Status status) const
static char memory[1024 *256]
Definition: process.c:116
int32_t INT
Definition: typedefs.h:57
GpStatus WINGDIPAPI GdipSetEmpty(GpRegion *region)
Definition: region.c:1359
GpStatus WINGDIPAPI GdipGetRegionBoundsI(GpRegion *region, GpGraphics *graphics, GpRect *rect)
Definition: region.c:629
POINTL point
Definition: edittest.c:50
& rect
Definition: startmenu.cpp:1413
INT GetStyle() const
GpImage * nativeImage
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
Definition: gl.h:1546
BOOL IsVisible(const RectF &rect, const Graphics *g) const
UINT GetHeight()
GpStatus WINGDIPAPI GdipCloneRegion(GpRegion *region, GpRegion **clone)
Definition: region.c:211
Status Union(const Region *region)
Status GetFamilyName(WCHAR name[LF_FACESIZE], WCHAR language) const
UINT GetPropertyItemSize(PROPID propId)
Status Union(const Rect &rect)
Status GetBounds(RectF *rect, const Graphics *g) const
GpStatus WINGDIPAPI GdipIsInfiniteRegion(GpRegion *region, GpGraphics *graphics, BOOL *res)
Definition: region.c:1261
Status GetLastStatus() const
Status GetPixel(INT x, INT y, Color *color)
UINT GetFrameCount(const GUID *dimensionID)
GpStatus WINGDIPAPI GdipImageRotateFlip(GpImage *image, RotateFlipType type)
Definition: image.c:5358
GpStatus WINGDIPAPI GdipBitmapGetPixel(GpBitmap *bitmap, INT x, INT y, ARGB *color)
Definition: image.c:288
GpStatus WINGDIPAPI GdipGetGenericFontFamilySansSerif(GpFontFamily **nativeFamily)
Definition: font.c:1074
GpFontFamily * fontFamily
GpStatus WINGDIPAPI GdipGetRegionScansCount(GpRegion *region, UINT *count, GpMatrix *matrix)
Definition: region.c:1601
Font(HDC hdc)
Font(HDC hdc, const LOGFONTW *logfont)
HINSTANCE hInstance
Definition: charmap.c:20
GpStatus WINGDIPAPI GdipLoadImageFromStream(IStream *stream, GpImage **image)
Definition: image.c:4357
GpStatus WINGDIPAPI GdipCreateRegionRectI(GDIPCONST GpRect *rect, GpRegion **region)
Definition: region.c:488
UINT GetDataSize() const
GpStatus WINGDIPAPI GdipGetImageHeight(GpImage *image, UINT *height)
Definition: image.c:2239
GLenum cap
Definition: glext.h:9639
GpStatus WINGDIPAPI GdipCreateFont(GDIPCONST GpFontFamily *fontFamily, REAL emSize, INT style, Unit unit, GpFont **font)
Definition: font.c:144
Status MakeEmpty()
unsigned int BOOL
Definition: ntddk_ex.h:94
GLuint color
Definition: glext.h:6243
Status Xor(const Region *region)
GpStatus WINGDIPAPI GdipCreateBitmapFromFileICM(GDIPCONST WCHAR *filename, GpBitmap **bitmap)
Definition: image.c:1436
GpStatus WINGDIPAPI GdipCloneBitmapAreaI(INT x, INT y, INT width, INT height, PixelFormat format, GpBitmap *srcBitmap, GpBitmap **dstBitmap)
Definition: image.c:1300
GpStatus WINGDIPAPI GdipBitmapLockBits(GpBitmap *bitmap, GDIPCONST GpRect *rect, UINT flags, PixelFormat format, BitmapData *lockeddata)
Definition: image.c:1030
BOOL Equals(const Region *region, const Graphics *g) const
Status status
Status SetBaseCap(LineCap baseCap)
Status Xor(const GraphicsPath *path)
Status GetFamily(FontFamily *family) const
GpStatus WINGDIPAPI GdipGetCellAscent(GDIPCONST GpFontFamily *family, INT style, UINT16 *CellAscent)
Definition: font.c:880
png_const_structrp png_const_inforp int * unit
Definition: png.h:2161
UINT16 GetLineSpacing(INT style) const
Bitmap(GpBitmap *nativeBitmap)
smooth NULL
Definition: ftsmooth.c:416
Status lastStatus
BOOL IsVisible(REAL x, REAL y, const Graphics *g) const
GpTexture * GetNativeTexture() const
Definition: gdiplusbrush.h:633
Status GetPropertyItem(PROPID propId, UINT propSize, PropertyItem *buffer)
Bitmap(IStream *stream, BOOL useIcm)
void SetNativeImage(GpImage *image)
GpStatus WINGDIPAPI GdipGetFontSize(GpFont *font, REAL *size)
Definition: font.c:350
Status Complement(const Rect &rect)
GpStatus WINGDIPAPI GdipGetImageRawFormat(GpImage *image, GUID *format)
Definition: image.c:2306
Status GetPalette(ColorPalette *palette, INT size)
GpStatus WINGDIPAPI GdipCreateBitmapFromScan0(INT width, INT height, INT stride, PixelFormat format, BYTE *scan0, GpBitmap **bitmap)
Definition: image.c:1760
Status Complement(const Region *region)
CachedBitmap(Bitmap *bitmap, Graphics *graphics)
Status GetRegionScans(const Matrix *matrix, RectF *rects, INT *count) const
friend GpFontCollection *& getNat(const FontCollection *fc)
Status SetStrokeJoin(LineJoin lineJoin)
BOOL IsAvailable() const
GpStatus WINGDIPAPI GdipCreateFontFamilyFromName(GDIPCONST WCHAR *name, GpFontCollection *fontCollection, GpFontFamily **FontFamily)
Definition: font.c:746
UINT GetEncoderParameterListSize(const CLSID *clsidEncoder)
BOOL IsInfinite(const Graphics *g) const
static HFONT hfont
BOOL IsVisible(INT x, INT y, INT width, INT height, const Graphics *g) const
Status SetStrokeCaps(LineCap startCap, LineCap endCap)
GpStatus WINGDIPAPI GdipCreateBitmapFromResource(HINSTANCE hInstance, GDIPCONST WCHAR *lpBitmapName, GpBitmap **bitmap)
Definition: image.c:1444
Status MakeInfinite()
GpStatus WINGDIPAPI GdipCreateBitmapFromHICON(HICON hicon, GpBitmap **bitmap)
Definition: image.c:1564
UINT GetFlags()
Status SetStatus(Status status) const
Definition: uimain.c:88
GpStatus WINGDIPAPI GdipCloneBitmapArea(REAL x, REAL y, REAL width, REAL height, PixelFormat format, GpBitmap *srcBitmap, GpBitmap **dstBitmap)
Definition: image.c:1237
#define dpi
Definition: sysparams.c:22
Status GetFamilies(INT numSought, FontFamily *gpfamilies, INT *numFound) const
GLboolean GLboolean g
Definition: glext.h:6204
GpStatus WINGDIPAPI GdipGetImagePixelFormat(GpImage *image, PixelFormat *format)
Definition: image.c:2291
Image(GpImage *image, Status status)
GpStatus WINGDIPAPI GdipBitmapUnlockBits(GpBitmap *bitmap, BitmapData *lockeddata)
Definition: image.c:1176
GpStatus WINGDIPAPI GdipImageSelectActiveFrame(GpImage *image, GDIPCONST GUID *dimensionID, UINT frame)
Definition: image.c:4302
Status SetStatus(Status status) const
Definition: gdiplusbrush.h:76
MmuTrapHandler callback[0x30]
Definition: mmuobject.c:44
GpStatus WINGDIPAPI GdipCreateFontFromLogfontA(HDC hdc, GDIPCONST LOGFONTA *lfa, GpFont **font)
Definition: font.c:249
GpStatus WINGDIPAPI GdipCreateRegion(GpRegion **region)
Definition: region.c:390
Status Translate(INT dx, INT dy)
GLsizei stride
Definition: glext.h:5848
REAL GetHeight(REAL dpi) const
virtual ~FontCollection()
GLsizeiptr size
Definition: glext.h:5919
GpStatus WINGDIPAPI GdipIsVisibleRegionPointI(GpRegion *region, INT x, INT y, GpGraphics *graphics, BOOL *res)
Definition: region.c:1349
REAL GetHorizontalResolution()
friend GpFontFamily *& getNat(const FontFamily *ff)
__wchar_t WCHAR
Definition: xmlstorage.h:180
REAL GetHeight(const Graphics *graphics) const
static Bitmap * FromBITMAPINFO(const BITMAPINFO *gdiBitmapInfo, VOID *gdiBitmapData)
Bitmap * Clone(const RectF &rect, PixelFormat format)
CachedBitmap & operator=(const CachedBitmap &)
GLenum GLuint texture
Definition: glext.h:6295
Status GetRawFormat(GUID *format)
GLenum GLuint GLenum GLsizei length
Definition: glext.h:5579
GpStatus WINGDIPAPI GdipGetRegionDataSize(GpRegion *region, UINT *needed)
Definition: region.c:985
friend GpCustomLineCap *& getNat(const CustomLineCap *cap)
GpStatus WINGDIPAPI GdipSaveImageToStream(GpImage *image, IStream *stream, GDIPCONST CLSID *clsid, GDIPCONST EncoderParameters *params)
Definition: image.c:4623
GpStatus WINGDIPAPI GdipGetLineSpacing(GDIPCONST GpFontFamily *family, INT style, UINT16 *LineSpacing)
Definition: font.c:945
FontFamily * Clone()
Bitmap(const WCHAR *filename, BOOL useIcm)
Status GetHICON(HICON *hicon)
UINT16 GetEmHeight(INT style)
LineCap
Definition: gdiplusenums.h:59
GpStatus WINGDIPAPI GdipPrivateAddFontFile(GpFontCollection *collection, GDIPCONST WCHAR *name)
Definition: font.c:1137
Status Save(IStream *stream, const CLSID *clsidEncoder, const EncoderParameters *encoderParams)
Region(const GraphicsPath *path)
REAL GetVerticalResolution()
Status GetPhysicalDimension(SizeF *size)
Status Exclude(const Region *region)
Status GetLastStatus()
LPFOR_CONTEXT fc
Definition: for.c:53
Image(const WCHAR *filename, BOOL useEmbeddedColorManagement=FALSE)
GpStatus WINGDIPAPI GdipGetFontHeight(GDIPCONST GpFont *font, GDIPCONST GpGraphics *graphics, REAL *height)
Definition: font.c:552
GpStatus WINGDIPAPI GdipCloneFont(GpFont *font, GpFont **cloneFont)
Definition: font.c:520
GpStatus WINGDIPAPI GdipGetPropertyItem(GpImage *image, PROPID propid, UINT size, PropertyItem *buffer)
Definition: image.c:2634
GpStatus WINGDIPAPI GdipGetCellDescent(GDIPCONST GpFontFamily *family, INT style, UINT16 *CellDescent)
Definition: font.c:891
GpStatus WINGDIPAPI GdipIsVisibleRegionRectI(GpRegion *region, INT x, INT y, INT w, INT h, GpGraphics *graphics, BOOL *res)
Definition: region.c:1308
Status Union(const GraphicsPath *path)
GLbitfield flags
Definition: glext.h:7161
Status GetStrokeCaps(LineCap *startCap, LineCap *endCap)
GpStatus WINGDIPAPI GdipGetFontStyle(GpFont *font, INT *style)
Definition: font.c:393
GpStatus WINGDIPAPI GdipCreateHBITMAPFromBitmap(GpBitmap *bitmap, HBITMAP *hbmReturn, ARGB background)
Definition: image.c:1479
GpStatus WINGDIPAPI GdipGetPropertyIdList(GpImage *image, UINT num, PROPID *list)
Definition: image.c:2387
Bitmap(INT width, INT height, INT stride, PixelFormat format, BYTE *scan0)
Status GetAllPropertyItems(UINT totalBufferSize, UINT numProperties, PropertyItem *allItems)
REAL GetWidthScale()
GpStatus WINGDIPAPI GdipTranslateRegion(GpRegion *region, REAL dx, REAL dy)
Definition: region.c:1520
GpStatus WINGDIPAPI GdipGetImageThumbnail(GpImage *image, UINT width, UINT height, GpImage **ret_image, GetThumbnailImageAbort cb, VOID *cb_data)
Definition: image.c:5309
INT PixelFormat
GpStatus WINGDIPAPI GdipTransformRegion(GpRegion *region, GpMatrix *matrix)
Definition: region.c:1480
friend GpFont *& getNat(const Font *font)
Definition: parse.h:22
BOOL IsAvailable() const
HDC hdc
Definition: main.c:9
BOOL IsStyleAvailable(INT style) const
GpStatus WINGDIPAPI GdipCreateBitmapFromGraphics(INT width, INT height, GpGraphics *target, GpBitmap **bitmap)
Definition: image.c:1542
static const FontFamily * GenericMonospace()
static DWORD layout
Definition: bitmap.c:46
GpStatus WINGDIPAPI GdipLoadImageFromFileICM(GDIPCONST WCHAR *filename, GpImage **image)
Definition: image.c:2954
Status Save(const WCHAR *filename, const CLSID *clsidEncoder, const EncoderParameters *encoderParams)
unsigned char BYTE
Definition: mem.h:68
GLdouble s
Definition: gl.h:2039
Definition: _list.h:228
static const FontFamily * GenericSansSerif()
Status AddFontFile(const WCHAR *filename)
Region(HRGN hRgn)
void SetNativeCap(GpCustomLineCap *cap)
GpStatus WINGDIPAPI GdipGetFontCollectionFamilyCount(GpFontCollection *fontCollection, INT *numFound)
Definition: font.c:1559
static Bitmap * FromResource(HINSTANCE hInstance, const WCHAR *bitmapName)
UINT GetWidth()
GpStatus WINGDIPAPI GdipCreateBitmapFromFile(GDIPCONST WCHAR *filename, GpBitmap **bitmap)
Definition: image.c:1360
#define cap
Definition: glfuncs.h:226
GpStatus WINGDIPAPI GdipGetRegionBounds(GpRegion *region, GpGraphics *graphics, GpRectF *rect)
Definition: region.c:587
GpRegion * nativeRegion
static HPALETTE palette
Definition: clipboard.c:1345
GpStatus WINGDIPAPI GdipDisposeImage(GpImage *image)
Definition: image.c:2107
Bitmap(const BITMAPINFO *gdiBitmapInfo, VOID *gdiBitmapData)
GLint GLint GLsizei GLsizei height
Definition: gl.h:1546
GpFont * font
GpCustomLineCap * nativeCap
GpStatus WINGDIPAPI GdipGetFamilyName(GDIPCONST GpFontFamily *family, WCHAR *name, LANGID language)
Definition: font.c:837
Status
Definition: gdiplustypes.h:24
REAL GetSize() const
Status GetEncoderParameterList(const CLSID *clsidEncoder, UINT size, EncoderParameters *buffer)
BOOL IsEmpty(const Graphics *g) const
GpFontCollection * nativeFontCollection
Status GetLastStatus()
ImageAbort GetThumbnailImageAbort
Definition: gdiplustypes.h:57
Status GetLastStatus()
Status SelectActiveFrame(const GUID *dimensionID, UINT frameIndex)
Image * GetThumbnailImage(UINT thumbWidth, UINT thumbHeight, GetThumbnailImageAbort callback, VOID *callbackData)
Region(const Rect &rect)
BOOL IsVisible(const Point &point, const Graphics *g) const
DWORD WINAPI GetLayout(_In_ HDC hdc)
Definition: coord.c:750
RotateFlipType
Status Exclude(const RectF &rect)
Status Exclude(const Rect &rect)
static ATOM item
Definition: dde.c:856
GpStatus WINGDIPAPI GdipIsStyleAvailable(GDIPCONST GpFontFamily *family, INT style, BOOL *IsStyleAvailable)
Definition: font.c:976
UINT16 GetCellAscent(INT style) const
Status UnlockBits(BitmapData *lockedBitmapData)
GpStatus WINGDIPAPI GdipCreateRegionRgnData(GDIPCONST BYTE *data, INT size, GpRegion **region)
Definition: region.c:946
Bitmap(INT width, INT height, Graphics *target)
Status Union(const RectF &rect)
Bitmap(HINSTANCE hInstance, const WCHAR *bitmapName)
GpStatus WINGDIPAPI GdipCreateRegionPath(GpPath *path, GpRegion **region)
Definition: region.c:425
ImageType GetType()
_In_ HBITMAP hbm
Definition: ntgdi.h:2776
UINT GetFrameDimensionsCount()
Status SetStatus(Status status) const
Image & operator=(const Image &)
static Bitmap * FromHICON(HICON hicon)
static Image * FromStream(IStream *stream, BOOL useEmbeddedColorManagement=FALSE)
FontCollection & operator=(const FontCollection &)
unsigned short UINT16
Region * Clone()
GpStatus WINGDIPAPI GdipNewPrivateFontCollection(GpFontCollection **fontCollection)
Definition: font.c:1096
unsigned int UINT
Definition: ndis.h:50
GpStatus WINGDIPAPI GdipIsVisibleRegionRect(GpRegion *region, REAL x, REAL y, REAL w, REAL h, GpGraphics *graphics, BOOL *res)
Definition: region.c:1277
GpStatus WINGDIPAPI GdipGetFontHeightGivenDPI(GDIPCONST GpFont *font, REAL dpi, REAL *height)
Definition: font.c:599
Status SetBaseInset(REAL inset)
Status Xor(const RectF &rect)
GpStatus WINGDIPAPI GdipImageGetFrameDimensionsCount(GpImage *image, UINT *count)
Definition: image.c:2885
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
GLint dx
Definition: linetemp.h:97
GpStatus WINGDIPAPI GdipGetEncoderParameterListSize(GpImage *image, GDIPCONST CLSID *clsidEncoder, UINT *size)
Definition: image.c:5045
GpStatus WINGDIPAPI GdipGetImageDimension(GpImage *image, REAL *width, REAL *height)
Definition: image.c:2176
GpStatus WINGDIPAPI GdipGetFamily(GpFont *font, GpFontFamily **family)
Definition: font.c:319
GpStatus WINGDIPAPI GdipPrivateAddMemoryFont(GpFontCollection *fontCollection, GDIPCONST void *memory, INT length)
Definition: font.c:1509
GpStatus WINGDIPAPI GdipGetPropertySize(GpImage *image, UINT *size, UINT *count)
Definition: image.c:2687
Status RemovePropertyItem(PROPID propId)
GpStatus WINGDIPAPI GdipBitmapSetResolution(GpBitmap *bitmap, REAL xdpi, REAL ydpi)
Definition: image.c:1163
ImageType
Definition: gdiplusenums.h:192
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
static HMODULE MODULEINFO DWORD cb
Definition: module.c:32
Status Complement(const RectF &rect)
Definition: name.c:38
Status GetHBITMAP(const Color &colorBackground, HBITMAP *hbmReturn)
GpStatus WINGDIPAPI GdipCombineRegionRegion(GpRegion *region1, GpRegion *region2, CombineMode mode)
Definition: region.c:346
GLenum target
Definition: glext.h:7315
Region(const RectF &rect)
GpStatus WINGDIPAPI GdipTranslateRegionI(GpRegion *region, INT dx, INT dy)
Definition: region.c:1535
GpStatus WINGDIPAPI GdipSetImagePalette(GpImage *image, GDIPCONST ColorPalette *palette)
Definition: image.c:4696
GpStatus WINGDIPAPI GdipImageGetFrameDimensionsList(GpImage *image, GUID *dimensionIDs, UINT count)
Definition: image.c:2900
Status SaveAdd(Image *newImage, const EncoderParameters *encoderParams)
static HBITMAP
Definition: button.c:44
BOOL IsVisible(const Rect &rect, const Graphics *g) const
Status Translate(REAL dx, REAL dy)
static Image * FromFile(const WCHAR *filename, BOOL useEmbeddedColorManagement=FALSE)
Status GetFrameDimensionsList(GUID *dimensionIDs, UINT count)
Status GetBounds(RectF *srcRect, Unit *srcUnit)
friend GpRegion *& getNat(const Region *region)
float REAL
Definition: types.h:41
Bitmap(HBITMAP hbm, HPALETTE hpal)
GpStatus WINGDIPAPI GdipDeletePrivateFontCollection(GpFontCollection **fontCollection)
Definition: font.c:1118
Arabic default style
Definition: afstyles.h:93
GLuint64EXT * result
Definition: glext.h:11304
LineCap GetBaseCap()
GpStatus WINGDIPAPI GdipGetRegionScans(GpRegion *region, GpRectF *scans, INT *count, GpMatrix *matrix)
Definition: region.c:1656
Status AddMemoryFont(const VOID *memory, INT length)
static SERVICE_STATUS status
Definition: service.c:31
Status GetLastStatus() const
Font(HDC hdc, const LOGFONTA *logfont)
GpStatus WINGDIPAPI GdipCreateCachedBitmap(GpBitmap *bitmap, GpGraphics *graphics, GpCachedBitmap **cachedbmp)
Definition: image.c:1930
Status SetWidthScale(IN REAL widthScale)
GpStatus WINGDIPAPI GdipGetEmHeight(GDIPCONST GpFontFamily *family, INT style, UINT16 *EmHeight)
Definition: font.c:918
Status Complement(const GraphicsPath *path)
Status Xor(const Rect &rect)
Status SetStrokeCap(LineCap strokeCap)
GpStatus WINGDIPAPI GdipGetImagePaletteSize(GpImage *image, INT *size)
Definition: image.c:2273
INT GetFamilyCount() const
Status SetResolution(REAL xdpi, REAL ydpi)
Status Exclude(const GraphicsPath *path)
GpStatus WINGDIPAPI GdipCreateRegionRect(GDIPCONST GpRectF *rect, GpRegion **region)
Definition: region.c:459
Status GetPropertySize(UINT *totalBufferSize, UINT *numProperties)
Status Transform(const Matrix *matrix)
CustomLineCap & operator=(const CustomLineCap &)
Image * GetImage() const
Bitmap(INT width, INT height, PixelFormat format)
static const FontFamily * GenericSerif()
Unit GetUnit() const
LineJoin GetStrokeJoin()
Definition: ps.c:97
DWORD ARGB