GdiPlusFlat.h
上传用户:jinlangri
上传日期:2022-07-17
资源大小:10774k
文件大小:85k
源码类别:

GDI/图象编程

开发平台:

Visual C++

  1. /**************************************************************************
  2. *
  3. * Copyright (c) 1998-2000, Microsoft Corp.  All Rights Reserved.
  4. *
  5. * Module Name:
  6. *
  7. *   GdiplusFlat.h
  8. *
  9. * Abstract:
  10. *
  11. *   Flat GDI+ API wrappers - header file
  12. *
  13. **************************************************************************/
  14. // TODO: this file style needs to be made internally consistent with the way
  15. //       it handles breaking the long argument lists across multiple lines
  16. #ifndef _FLATAPI_H
  17. #define _FLATAPI_H
  18. #define WINGDIPAPI __stdcall
  19. // currently, only C++ wrapper API's force const.
  20. #define GDIPCONST const
  21. #ifdef __cplusplus
  22. extern "C" {
  23. #endif
  24. #ifndef DCR_USE_NEW_175866
  25. VOID
  26. WINGDIPAPI
  27. GdipDisplayPaletteWindowNotify(WindowNotifyEnum notify);
  28. #endif
  29. //----------------------------------------------------------------------------
  30. // GraphicsPath methods
  31. //----------------------------------------------------------------------------
  32. GpStatus WINGDIPAPI
  33. GdipCreatePath(GpFillMode brushMode, GpPath **path);
  34. GpStatus WINGDIPAPI
  35. GdipCreatePath2(GDIPCONST GpPointF*, GDIPCONST BYTE*, INT, GpFillMode,
  36.                                     GpPath **path);
  37. GpStatus WINGDIPAPI
  38. GdipCreatePath2I(GDIPCONST GpPoint*, GDIPCONST BYTE*, INT, GpFillMode,
  39.                                      GpPath **path);
  40. GpStatus WINGDIPAPI
  41. GdipClonePath(GpPath* path, GpPath **clonePath);
  42. GpStatus WINGDIPAPI
  43. GdipDeletePath(GpPath* path);
  44. GpStatus WINGDIPAPI
  45. GdipResetPath(GpPath* path);
  46. GpStatus WINGDIPAPI
  47. GdipGetPointCount(GpPath* path, INT* count);
  48. GpStatus WINGDIPAPI
  49. GdipGetPathTypes(GpPath* path, BYTE* types, INT count);
  50. GpStatus WINGDIPAPI
  51. GdipGetPathPoints(GpPath*, GpPointF* points, INT count);
  52. GpStatus WINGDIPAPI
  53. GdipGetPathPointsI(GpPath*, GpPoint* points, INT count);
  54. GpStatus WINGDIPAPI
  55. GdipGetPathFillMode(GpPath *path, GpFillMode *fillmode);
  56. GpStatus WINGDIPAPI
  57. GdipSetPathFillMode(GpPath *path, GpFillMode fillmode);
  58. GpStatus WINGDIPAPI
  59. GdipGetPathData(GpPath *path, GpPathData* pathData);
  60. GpStatus WINGDIPAPI
  61. GdipStartPathFigure(GpPath *path);
  62. GpStatus WINGDIPAPI
  63. GdipClosePathFigure(GpPath *path);
  64. GpStatus WINGDIPAPI
  65. GdipClosePathFigures(GpPath *path);
  66. GpStatus WINGDIPAPI
  67. GdipSetPathMarker(GpPath* path);
  68. GpStatus WINGDIPAPI
  69. GdipClearPathMarkers(GpPath* path);
  70. GpStatus WINGDIPAPI
  71. GdipReversePath(GpPath* path);
  72. GpStatus WINGDIPAPI
  73. GdipGetPathLastPoint(GpPath* path, GpPointF* lastPoint);
  74. GpStatus WINGDIPAPI
  75. GdipAddPathLine(GpPath *path, REAL x1, REAL y1, REAL x2, REAL y2);
  76. GpStatus WINGDIPAPI
  77. GdipAddPathLine2(GpPath *path, GDIPCONST GpPointF *points, INT count);
  78. GpStatus WINGDIPAPI
  79. GdipAddPathArc(GpPath *path, REAL x, REAL y, REAL width, REAL height,
  80.                         REAL startAngle, REAL sweepAngle);
  81. GpStatus WINGDIPAPI
  82. GdipAddPathBezier(GpPath *path, REAL x1, REAL y1, REAL x2, REAL y2,
  83.                            REAL x3, REAL y3, REAL x4, REAL y4);
  84. GpStatus WINGDIPAPI
  85. GdipAddPathBeziers(GpPath *path, GDIPCONST GpPointF *points, INT count);
  86. GpStatus WINGDIPAPI
  87. GdipAddPathCurve(GpPath *path, GDIPCONST GpPointF *points, INT count);
  88. GpStatus WINGDIPAPI
  89. GdipAddPathCurve2(GpPath *path, GDIPCONST GpPointF *points, INT count,
  90.                            REAL tension);
  91. GpStatus WINGDIPAPI
  92. GdipAddPathCurve3(GpPath *path, GDIPCONST GpPointF *points, INT count,
  93.                            INT offset, INT numberOfSegments, REAL tension);
  94. GpStatus WINGDIPAPI
  95. GdipAddPathClosedCurve(GpPath *path, GDIPCONST GpPointF *points, INT count);
  96. GpStatus WINGDIPAPI
  97. GdipAddPathClosedCurve2(GpPath *path, GDIPCONST GpPointF *points, INT count,
  98.                                  REAL tension);
  99. GpStatus WINGDIPAPI
  100. GdipAddPathRectangle(GpPath *path, REAL x, REAL y, REAL width, REAL height);
  101. GpStatus WINGDIPAPI
  102. GdipAddPathRectangles(GpPath *path, GDIPCONST GpRectF *rects, INT count);
  103. GpStatus WINGDIPAPI
  104. GdipAddPathEllipse(GpPath *path, REAL x, REAL y, REAL width,
  105.                             REAL height);
  106. GpStatus WINGDIPAPI
  107. GdipAddPathPie(GpPath *path, REAL x, REAL y, REAL width, REAL height,
  108.                         REAL startAngle, REAL sweepAngle);
  109. GpStatus WINGDIPAPI
  110. GdipAddPathPolygon(GpPath *path, GDIPCONST GpPointF *points, INT count);
  111. GpStatus WINGDIPAPI
  112. GdipAddPathPath(GpPath *path, GDIPCONST GpPath* addingPath, BOOL connect);
  113. GpStatus WINGDIPAPI
  114. GdipAddPathString(GpPath *path, GDIPCONST WCHAR *string,
  115.                         INT length, GDIPCONST GpFontFamily *family, INT style,
  116.                         REAL emSize, GDIPCONST RectF *layoutRect,
  117.                         GDIPCONST GpStringFormat *format);
  118. GpStatus WINGDIPAPI
  119. GdipAddPathStringI(GpPath *path, GDIPCONST WCHAR *string,
  120.                         INT length, GDIPCONST GpFontFamily *family, INT style,
  121.                         REAL emSize, GDIPCONST Rect *layoutRect,
  122.                         GDIPCONST GpStringFormat *format);
  123. GpStatus WINGDIPAPI
  124. GdipAddPathLineI(GpPath *path, INT x1, INT y1, INT x2, INT y2);
  125. GpStatus WINGDIPAPI
  126. GdipAddPathLine2I(GpPath *path, GDIPCONST GpPoint *points, INT count);
  127. GpStatus WINGDIPAPI
  128. GdipAddPathArcI(GpPath *path, INT x, INT y, INT width, INT height,
  129.                         REAL startAngle, REAL sweepAngle);
  130. GpStatus WINGDIPAPI
  131. GdipAddPathBezierI(GpPath *path, INT x1, INT y1, INT x2, INT y2,
  132.                            INT x3, INT y3, INT x4, INT y4);
  133. GpStatus WINGDIPAPI
  134. GdipAddPathBeziersI(GpPath *path, GDIPCONST GpPoint *points, INT count);
  135. GpStatus WINGDIPAPI
  136. GdipAddPathCurveI(GpPath *path, GDIPCONST GpPoint *points, INT count);
  137. GpStatus WINGDIPAPI
  138. GdipAddPathCurve2I(GpPath *path, GDIPCONST GpPoint *points, INT count,
  139.                            REAL tension);
  140. GpStatus WINGDIPAPI
  141. GdipAddPathCurve3I(GpPath *path, GDIPCONST GpPoint *points, INT count,
  142.                            INT offset, INT numberOfSegments, REAL tension);
  143. GpStatus WINGDIPAPI
  144. GdipAddPathClosedCurveI(GpPath *path, GDIPCONST GpPoint *points, INT count);
  145. GpStatus WINGDIPAPI
  146. GdipAddPathClosedCurve2I(GpPath *path, GDIPCONST GpPoint *points, INT count,
  147.                                  REAL tension);
  148. GpStatus WINGDIPAPI
  149. GdipAddPathRectangleI(GpPath *path, INT x, INT y, INT width, INT height);
  150. GpStatus WINGDIPAPI
  151. GdipAddPathRectanglesI(GpPath *path, GDIPCONST GpRect *rects, INT count);
  152. GpStatus WINGDIPAPI
  153. GdipAddPathEllipseI(GpPath *path, INT x, INT y, INT width, INT height);
  154. GpStatus WINGDIPAPI
  155. GdipAddPathPieI(GpPath *path, INT x, INT y, INT width, INT height,
  156.                         REAL startAngle, REAL sweepAngle);
  157. GpStatus WINGDIPAPI
  158. GdipAddPathPolygonI(GpPath *path, GDIPCONST GpPoint *points, INT count);
  159. GpStatus WINGDIPAPI
  160. GdipFlattenPath(GpPath *path, GpMatrix* matrix, REAL flatness);
  161. GpStatus WINGDIPAPI
  162. GdipWindingModeOutline(
  163.     GpPath *path,
  164.     GpMatrix *matrix,
  165.     REAL flatness
  166. );
  167. #ifdef DCR_USE_NEW_202903
  168. GpStatus WINGDIPAPI
  169. GdipWidenPath(
  170.     GpPath *nativePath,
  171.     GpPen *pen,
  172.     GpMatrix *matrix,
  173.     REAL flatness
  174. );
  175. #else
  176. GpStatus WINGDIPAPI
  177. GdipWidenPathWithMinimumResolutions(GpPath *path, GpPen *pen, REAL minXres,
  178.             REAL minYres, GpMatrix *matrix, BOOL removeSelftIntersects);
  179. #endif
  180. GpStatus WINGDIPAPI
  181. GdipWarpPath(GpPath *path, GpMatrix* matrix,
  182.             GDIPCONST GpPointF *points, INT count,
  183.             REAL srcx, REAL srcy, REAL srcwidth, REAL srcheight,
  184.             WarpMode warpMode, REAL flatness);
  185. GpStatus WINGDIPAPI
  186. GdipTransformPath(GpPath* path, GpMatrix* matrix);
  187. GpStatus WINGDIPAPI
  188. GdipGetPathWorldBounds(GpPath* path, GpRectF* bounds, GDIPCONST GpMatrix *matrix,
  189.                   GDIPCONST GpPen *pen);
  190. GpStatus WINGDIPAPI
  191. GdipGetPathWorldBoundsI(GpPath* path, GpRect* bounds, GDIPCONST GpMatrix *matrix,
  192.                    GDIPCONST GpPen *pen);
  193. GpStatus WINGDIPAPI
  194. GdipIsVisiblePathPoint(GpPath* path, REAL x, REAL y,
  195.                        GpGraphics *graphics, BOOL *result);
  196. GpStatus WINGDIPAPI
  197. GdipIsVisiblePathPointI(GpPath* path, INT x, INT y,
  198.                         GpGraphics *graphics, BOOL *result);
  199. GpStatus WINGDIPAPI
  200. GdipIsOutlineVisiblePathPoint(GpPath* path, REAL x, REAL y, GpPen *pen,
  201.                               GpGraphics *graphics, BOOL *result);
  202. GpStatus WINGDIPAPI
  203. GdipIsOutlineVisiblePathPointI(GpPath* path, INT x, INT y, GpPen *pen,
  204.                                GpGraphics *graphics, BOOL *result);
  205. //----------------------------------------------------------------------------
  206. // Path Enumeration methods
  207. //----------------------------------------------------------------------------
  208. GpStatus WINGDIPAPI
  209. GdipCreatePathIter(GpPathIterator **iterator, GpPath* path);
  210. GpStatus WINGDIPAPI
  211. GdipDeletePathIter(GpPathIterator *iterator);
  212. GpStatus WINGDIPAPI
  213. GdipPathIterNextSubpath(GpPathIterator* iterator, INT *resultCount,
  214.         INT* startIndex, INT* endIndex, BOOL* isClosed);
  215. GpStatus WINGDIPAPI
  216. GdipPathIterNextSubpathPath(GpPathIterator* iterator, INT* resultCount,
  217.         GpPath* path, BOOL* isClosed);
  218. GpStatus WINGDIPAPI
  219. GdipPathIterNextPathType(GpPathIterator* iterator, INT* resultCount,
  220.         BYTE* pathType, INT* startIndex, INT* endIndex);
  221. GpStatus WINGDIPAPI
  222. GdipPathIterNextMarker(GpPathIterator* iterator, INT *resultCount,
  223.         INT* startIndex, INT* endIndex);
  224. GpStatus WINGDIPAPI
  225. GdipPathIterNextMarkerPath(GpPathIterator* iterator, INT* resultCount,
  226.         GpPath* path);
  227. GpStatus WINGDIPAPI
  228. GdipPathIterGetCount(GpPathIterator* iterator, INT* count);
  229. GpStatus WINGDIPAPI
  230. GdipPathIterGetSubpathCount(GpPathIterator* iterator, INT* count);
  231. GpStatus WINGDIPAPI
  232. GdipPathIterIsValid(GpPathIterator* iterator, BOOL* valid);
  233. GpStatus WINGDIPAPI
  234. GdipPathIterHasCurve(GpPathIterator* iterator, BOOL* hasCurve);
  235. GpStatus WINGDIPAPI
  236. GdipPathIterRewind(GpPathIterator* iterator);
  237. GpStatus WINGDIPAPI
  238. GdipPathIterEnumerate(GpPathIterator* iterator, INT* resultCount,
  239.     GpPointF *points, BYTE *types, INT count);
  240. GpStatus WINGDIPAPI
  241. GdipPathIterCopyData(GpPathIterator* iterator, INT* resultCount,
  242.     GpPointF* points, BYTE* types, INT startIndex, INT endIndex);
  243. //----------------------------------------------------------------------------
  244. // Matrix methods
  245. //----------------------------------------------------------------------------
  246. GpStatus WINGDIPAPI
  247. GdipCreateMatrix(GpMatrix **matrix);
  248. GpStatus WINGDIPAPI
  249. GdipCreateMatrix2(REAL m11, REAL m12, REAL m21, REAL m22, REAL dx,
  250.                                       REAL dy, GpMatrix **matrix);
  251. GpStatus WINGDIPAPI
  252. GdipCreateMatrix3(GDIPCONST GpRectF *rect, GDIPCONST GpPointF *dstplg,
  253.                                       GpMatrix **matrix);
  254. GpStatus WINGDIPAPI
  255. GdipCreateMatrix3I(GDIPCONST GpRect *rect, GDIPCONST GpPoint *dstplg,
  256.                                        GpMatrix **matrix);
  257. GpStatus WINGDIPAPI
  258. GdipCloneMatrix(GpMatrix *matrix, GpMatrix **cloneMatrix);
  259. GpStatus WINGDIPAPI
  260. GdipDeleteMatrix(GpMatrix *matrix);
  261. GpStatus WINGDIPAPI
  262. GdipSetMatrixElements(GpMatrix *matrix, REAL m11, REAL m12, REAL m21, REAL m22,
  263.                       REAL dx, REAL dy);
  264. GpStatus WINGDIPAPI
  265. GdipMultiplyMatrix(GpMatrix *matrix, GpMatrix* matrix2,
  266.                             GpMatrixOrder order);
  267. GpStatus WINGDIPAPI
  268. GdipTranslateMatrix(GpMatrix *matrix, REAL offsetX, REAL offsetY,
  269.                     GpMatrixOrder order);
  270. GpStatus WINGDIPAPI
  271. GdipScaleMatrix(GpMatrix *matrix, REAL scaleX, REAL scaleY,
  272.                 GpMatrixOrder order);
  273. GpStatus WINGDIPAPI
  274. GdipRotateMatrix(GpMatrix *matrix, REAL angle, GpMatrixOrder order);
  275. GpStatus WINGDIPAPI
  276. GdipShearMatrix(GpMatrix *matrix, REAL shearX, REAL shearY,
  277.                 GpMatrixOrder order);
  278. GpStatus WINGDIPAPI
  279. GdipInvertMatrix(GpMatrix *matrix);
  280. GpStatus WINGDIPAPI
  281. GdipTransformMatrixPoints(GpMatrix *matrix, GpPointF *pts, INT count);
  282. GpStatus WINGDIPAPI
  283. GdipTransformMatrixPointsI(GpMatrix *matrix, GpPoint *pts, INT count);
  284. GpStatus WINGDIPAPI
  285. GdipVectorTransformMatrixPoints(GpMatrix *matrix, GpPointF *pts,
  286.                                          INT count);
  287. GpStatus WINGDIPAPI
  288. GdipVectorTransformMatrixPointsI(GpMatrix *matrix, GpPoint *pts,
  289.                                          INT count);
  290. GpStatus WINGDIPAPI
  291. GdipGetMatrixElements(GDIPCONST GpMatrix *matrix, REAL *matrixOut);
  292. GpStatus WINGDIPAPI
  293. GdipIsMatrixInvertible(GDIPCONST GpMatrix *matrix, BOOL *result);
  294. GpStatus WINGDIPAPI
  295. GdipIsMatrixIdentity(GDIPCONST GpMatrix *matrix, BOOL *result);
  296. GpStatus WINGDIPAPI
  297. GdipIsMatrixEqual(GDIPCONST GpMatrix *matrix, GDIPCONST GpMatrix *matrix2, BOOL *result);
  298. //----------------------------------------------------------------------------
  299. // Region methods
  300. //----------------------------------------------------------------------------
  301. GpStatus WINGDIPAPI
  302. GdipCreateRegion(GpRegion **region);
  303. GpStatus WINGDIPAPI
  304. GdipCreateRegionRect(GDIPCONST GpRectF *rect, GpRegion **region);
  305. GpStatus WINGDIPAPI
  306. GdipCreateRegionRectI(GDIPCONST GpRect *rect, GpRegion **region);
  307. GpStatus WINGDIPAPI
  308. GdipCreateRegionPath(GpPath *path, GpRegion **region);
  309. GpStatus WINGDIPAPI
  310. GdipCreateRegionRgnData(GDIPCONST BYTE *regionData, INT size, GpRegion **region);
  311. GpStatus WINGDIPAPI
  312. GdipCreateRegionHrgn(HRGN hRgn, GpRegion **region);
  313. GpStatus WINGDIPAPI
  314. GdipCloneRegion(GpRegion *region, GpRegion **cloneRegion);
  315. GpStatus WINGDIPAPI
  316. GdipDeleteRegion(GpRegion *region);
  317. GpStatus WINGDIPAPI
  318. GdipSetInfinite(GpRegion *region);
  319. GpStatus WINGDIPAPI
  320. GdipSetEmpty(GpRegion *region);
  321. GpStatus WINGDIPAPI
  322. GdipCombineRegionRect(GpRegion *region, GDIPCONST GpRectF *rect,
  323.                       CombineMode combineMode);
  324. GpStatus WINGDIPAPI
  325. GdipCombineRegionRectI(GpRegion *region, GDIPCONST GpRect *rect,
  326.                        CombineMode combineMode);
  327. GpStatus WINGDIPAPI
  328. GdipCombineRegionPath(GpRegion *region, GpPath *path, CombineMode combineMode);
  329. GpStatus WINGDIPAPI
  330. GdipCombineRegionRegion(GpRegion *region,  GpRegion *region2,
  331.                         CombineMode combineMode);
  332. GpStatus WINGDIPAPI
  333. GdipTranslateRegion(GpRegion *region, REAL dx, REAL dy);
  334. GpStatus WINGDIPAPI
  335. GdipTranslateRegionI(GpRegion *region, INT dx, INT dy);
  336. GpStatus WINGDIPAPI
  337. GdipTransformRegion(GpRegion *region, GpMatrix *matrix);
  338. GpStatus WINGDIPAPI
  339. GdipGetRegionBounds(GpRegion *region, GpGraphics *graphics,
  340.                              GpRectF *rect);
  341. GpStatus WINGDIPAPI
  342. GdipGetRegionBoundsI(GpRegion *region, GpGraphics *graphics,
  343.                              GpRect *rect);
  344. GpStatus WINGDIPAPI
  345. GdipGetRegionHRgn(GpRegion *region, GpGraphics *graphics, HRGN *hRgn);
  346. GpStatus WINGDIPAPI
  347. GdipIsEmptyRegion(GpRegion *region, GpGraphics *graphics,
  348.                            BOOL *result);
  349. GpStatus WINGDIPAPI
  350. GdipIsInfiniteRegion(GpRegion *region, GpGraphics *graphics,
  351.                               BOOL *result);
  352. GpStatus WINGDIPAPI
  353. GdipIsEqualRegion(GpRegion *region, GpRegion *region2,
  354.                            GpGraphics *graphics, BOOL *result);
  355. GpStatus WINGDIPAPI
  356. GdipGetRegionDataSize(GpRegion *region, UINT * bufferSize);
  357. GpStatus WINGDIPAPI
  358. GdipGetRegionData(GpRegion *region, BYTE * buffer, UINT bufferSize, UINT * sizeFilled);
  359. GpStatus WINGDIPAPI
  360. GdipIsVisibleRegionPoint(GpRegion *region, REAL x, REAL y,
  361.                                   GpGraphics *graphics, BOOL *result);
  362. GpStatus WINGDIPAPI
  363. GdipIsVisibleRegionPointI(GpRegion *region, INT x, INT y,
  364.                                   GpGraphics *graphics, BOOL *result);
  365. GpStatus WINGDIPAPI
  366. GdipIsVisibleRegionRect(GpRegion *region, REAL x, REAL y, REAL width,
  367.                         REAL height, GpGraphics *graphics, BOOL *result);
  368. GpStatus WINGDIPAPI
  369. GdipIsVisibleRegionRectI(GpRegion *region, INT x, INT y, INT width,
  370.                          INT height, GpGraphics *graphics, BOOL *result);
  371. GpStatus WINGDIPAPI
  372. GdipGetRegionScansCount(GpRegion *region, UINT* count, GpMatrix* matrix);
  373. GpStatus WINGDIPAPI
  374. GdipGetRegionScans(GpRegion *region, GpRectF* rects, INT* count, GpMatrix* matrix);
  375. GpStatus WINGDIPAPI
  376. GdipGetRegionScansI(GpRegion *region, GpRect* rects, INT* count, GpMatrix* matrix);
  377. //----------------------------------------------------------------------------
  378. // Brush methods
  379. //----------------------------------------------------------------------------
  380. GpStatus WINGDIPAPI
  381. GdipCloneBrush(GpBrush *brush, GpBrush **cloneBrush);
  382. GpStatus WINGDIPAPI
  383. GdipDeleteBrush(GpBrush *brush);
  384. GpStatus WINGDIPAPI
  385. GdipGetBrushType(GpBrush *brush, GpBrushType *type);
  386. //----------------------------------------------------------------------------
  387. // Hatch Brush methods
  388. //----------------------------------------------------------------------------
  389. GpStatus WINGDIPAPI
  390. GdipCreateHatchBrush(GpHatchStyle hatchstyle, ARGB forecol,
  391.                               ARGB backcol, GpHatch **brush);
  392. GpStatus WINGDIPAPI
  393. GdipGetHatchStyle(GpHatch *brush, GpHatchStyle *hatchstyle);
  394. GpStatus WINGDIPAPI
  395. GdipGetHatchForegroundColor(GpHatch *brush, ARGB* forecol);
  396. GpStatus WINGDIPAPI
  397. GdipGetHatchBackgroundColor(GpHatch *brush, ARGB* backcol);
  398. //----------------------------------------------------------------------------
  399. // Texture Brush methods
  400. //----------------------------------------------------------------------------
  401. GpStatus WINGDIPAPI
  402. GdipCreateTexture(GpImage *image, GpWrapMode wrapmode,
  403.                            GpTexture **texture);
  404. GpStatus WINGDIPAPI
  405. GdipCreateTexture2(GpImage *image, GpWrapMode wrapmode, REAL x,
  406.                    REAL y, REAL width, REAL height, GpTexture **texture);
  407. GpStatus WINGDIPAPI
  408. GdipCreateTextureIA(GpImage *image, GDIPCONST GpImageAttributes *imageAttributes,
  409.                     REAL x, REAL y, REAL width, REAL height,
  410.                     GpTexture **texture);
  411. GpStatus WINGDIPAPI
  412. GdipCreateTexture2I(GpImage *image, GpWrapMode wrapmode, INT x,
  413.                     INT y, INT width, INT height, GpTexture **texture);
  414. GpStatus WINGDIPAPI
  415. GdipCreateTextureIAI(GpImage *image, GDIPCONST GpImageAttributes *imageAttributes,
  416.                      INT x, INT y, INT width, INT height,
  417.                      GpTexture **texture);
  418. GpStatus WINGDIPAPI
  419. GdipGetTextureTransform(GpTexture *brush, GpMatrix *matrix);
  420. GpStatus WINGDIPAPI
  421. GdipSetTextureTransform(GpTexture *brush, GDIPCONST GpMatrix *matrix);
  422. GpStatus WINGDIPAPI
  423. GdipResetTextureTransform(GpTexture* brush);
  424. GpStatus WINGDIPAPI
  425. GdipMultiplyTextureTransform(GpTexture* brush, GDIPCONST GpMatrix *matrix,
  426.                             GpMatrixOrder order);
  427. GpStatus WINGDIPAPI
  428. GdipTranslateTextureTransform(GpTexture* brush, REAL dx, REAL dy,
  429.                             GpMatrixOrder order);
  430. GpStatus WINGDIPAPI
  431. GdipScaleTextureTransform(GpTexture* brush, REAL sx, REAL sy,
  432.                             GpMatrixOrder order);
  433. GpStatus WINGDIPAPI
  434. GdipRotateTextureTransform(GpTexture* brush, REAL angle, GpMatrixOrder order);
  435. GpStatus WINGDIPAPI
  436. GdipSetTextureWrapMode(GpTexture *brush, GpWrapMode wrapmode);
  437. GpStatus WINGDIPAPI
  438. GdipGetTextureWrapMode(GpTexture *brush, GpWrapMode *wrapmode);
  439. GpStatus WINGDIPAPI
  440. GdipGetTextureImage(GpTexture *brush, GpImage **image);
  441. //----------------------------------------------------------------------------
  442. // Solid Brush methods
  443. //----------------------------------------------------------------------------
  444. GpStatus WINGDIPAPI
  445. GdipCreateSolidFill(ARGB color, GpSolidFill **brush);
  446. GpStatus WINGDIPAPI
  447. GdipSetSolidFillColor(GpSolidFill *brush, ARGB color);
  448. GpStatus WINGDIPAPI
  449. GdipGetSolidFillColor(GpSolidFill *brush, ARGB *color);
  450. //----------------------------------------------------------------------------
  451. // LineBrush methods
  452. //----------------------------------------------------------------------------
  453. GpStatus WINGDIPAPI
  454. GdipCreateLineBrush(GDIPCONST GpPointF* point1,
  455.                     GDIPCONST GpPointF* point2,
  456.                     ARGB color1, ARGB color2,
  457.                     GpWrapMode wrapMode,
  458.                     GpLineGradient **lineGradient);
  459. GpStatus WINGDIPAPI
  460. GdipCreateLineBrushI(GDIPCONST GpPoint* point1,
  461.                      GDIPCONST GpPoint* point2,
  462.                      ARGB color1, ARGB color2,
  463.                      GpWrapMode wrapMode,
  464.                      GpLineGradient **lineGradient);
  465. GpStatus WINGDIPAPI
  466. GdipCreateLineBrushFromRect(GDIPCONST GpRectF* rect,
  467.                             ARGB color1, ARGB color2,
  468.                             LinearGradientMode mode,
  469.                             GpWrapMode wrapMode,
  470.                             GpLineGradient **lineGradient);
  471. GpStatus WINGDIPAPI
  472. GdipCreateLineBrushFromRectI(GDIPCONST GpRect* rect,
  473.                              ARGB color1, ARGB color2,
  474.                              LinearGradientMode mode,
  475.                              GpWrapMode wrapMode,
  476.                              GpLineGradient **lineGradient);
  477. GpStatus WINGDIPAPI
  478. GdipCreateLineBrushFromRectWithAngle(GDIPCONST GpRectF* rect,
  479.                                      ARGB color1, ARGB color2,
  480.                                      REAL angle,
  481.                                      BOOL isAngleScalable,
  482.                                      GpWrapMode wrapMode,
  483.                                      GpLineGradient **lineGradient);
  484. GpStatus WINGDIPAPI
  485. GdipCreateLineBrushFromRectWithAngleI(GDIPCONST GpRect* rect,
  486.                                      ARGB color1, ARGB color2,
  487.                                      REAL angle,
  488.                                      BOOL isAngleScalable,
  489.                                      GpWrapMode wrapMode,
  490.                                      GpLineGradient **lineGradient);
  491. GpStatus WINGDIPAPI
  492. GdipSetLinePoints(GpLineGradient *brush,
  493.                   GDIPCONST GpPointF* point1,
  494.                   GDIPCONST GpPointF* point2);
  495. GpStatus WINGDIPAPI
  496. GdipSetLinePointsI(GpLineGradient *brush,
  497.                    GDIPCONST GpPoint* point1,
  498.                    GDIPCONST GpPoint* point2);
  499. GpStatus WINGDIPAPI
  500. GdipGetLinePoints(GpLineGradient *brush, GpPointF* points);
  501. GpStatus WINGDIPAPI
  502. GdipGetLinePointsI(GpLineGradient *brush, GpPoint* points);
  503. GpStatus WINGDIPAPI
  504. GdipSetLineColors(GpLineGradient *brush, ARGB color1, ARGB color2);
  505. GpStatus WINGDIPAPI
  506. GdipGetLineColors(GpLineGradient *brush, ARGB* colors);
  507. GpStatus WINGDIPAPI
  508. GdipGetLineRect(GpLineGradient *brush, GpRectF *rect);
  509. GpStatus WINGDIPAPI
  510. GdipGetLineRectI(GpLineGradient *brush, GpRect *rect);
  511. GpStatus WINGDIPAPI
  512. GdipSetLineGammaCorrection(GpLineGradient *brush, BOOL useGammaCorrection);
  513. GpStatus WINGDIPAPI
  514. GdipGetLineGammaCorrection(GpLineGradient *brush, BOOL *useGammaCorrection);
  515. GpStatus WINGDIPAPI
  516. GdipGetLineBlendCount(GpLineGradient *brush, INT *count);
  517. GpStatus WINGDIPAPI
  518. GdipGetLineBlend(GpLineGradient *brush, REAL *blend, REAL* positions,
  519.                  INT count);
  520. GpStatus WINGDIPAPI
  521. GdipSetLineBlend(GpLineGradient *brush, GDIPCONST REAL *blend,
  522.                  GDIPCONST REAL* positions, INT count);
  523. GpStatus WINGDIPAPI
  524. GdipGetLinePresetBlendCount(GpLineGradient *brush, INT *count);
  525. GpStatus WINGDIPAPI
  526. GdipGetLinePresetBlend(GpLineGradient *brush, ARGB *blend,
  527.                                            REAL* positions, INT count);
  528. GpStatus WINGDIPAPI
  529. GdipSetLinePresetBlend(GpLineGradient *brush, GDIPCONST ARGB *blend,
  530.                        GDIPCONST REAL* positions, INT count);
  531. GpStatus WINGDIPAPI
  532. GdipSetLineSigmaBlend(GpLineGradient *brush, REAL focus, REAL scale);
  533. GpStatus WINGDIPAPI
  534. GdipSetLineLinearBlend(GpLineGradient *brush, REAL focus, REAL scale);
  535. GpStatus WINGDIPAPI
  536. GdipSetLineWrapMode(GpLineGradient *brush, GpWrapMode wrapmode);
  537. GpStatus WINGDIPAPI
  538. GdipGetLineWrapMode(GpLineGradient *brush, GpWrapMode *wrapmode);
  539. GpStatus WINGDIPAPI
  540. GdipGetLineTransform(GpLineGradient *brush, GpMatrix *matrix);
  541. GpStatus WINGDIPAPI
  542. GdipSetLineTransform(GpLineGradient *brush, GDIPCONST GpMatrix *matrix);
  543. GpStatus WINGDIPAPI
  544. GdipResetLineTransform(GpLineGradient* brush);
  545. GpStatus WINGDIPAPI
  546. GdipMultiplyLineTransform(GpLineGradient* brush, GDIPCONST GpMatrix *matrix,
  547.                             GpMatrixOrder order);
  548. GpStatus WINGDIPAPI
  549. GdipTranslateLineTransform(GpLineGradient* brush, REAL dx, REAL dy,
  550.                             GpMatrixOrder order);
  551. GpStatus WINGDIPAPI
  552. GdipScaleLineTransform(GpLineGradient* brush, REAL sx, REAL sy,
  553.                             GpMatrixOrder order);
  554. GpStatus WINGDIPAPI
  555. GdipRotateLineTransform(GpLineGradient* brush, REAL angle, GpMatrixOrder order);
  556. //----------------------------------------------------------------------------
  557. // PathGradient Brush
  558. //----------------------------------------------------------------------------
  559. GpStatus WINGDIPAPI
  560. GdipCreatePathGradient(GDIPCONST GpPointF* points,
  561.                                     INT count,
  562.                                     GpWrapMode wrapMode,
  563.                                     GpPathGradient **polyGradient);
  564. GpStatus WINGDIPAPI
  565. GdipCreatePathGradientI(GDIPCONST GpPoint* points,
  566.                                     INT count,
  567.                                     GpWrapMode wrapMode,
  568.                                     GpPathGradient **polyGradient);
  569. GpStatus WINGDIPAPI
  570. GdipCreatePathGradientFromPath(GDIPCONST GpPath* path,
  571.                                     GpPathGradient **polyGradient);
  572. GpStatus WINGDIPAPI
  573. GdipGetPathGradientCenterColor(
  574.                         GpPathGradient *brush, ARGB* colors);
  575. GpStatus WINGDIPAPI
  576. GdipSetPathGradientCenterColor(
  577.                         GpPathGradient *brush, ARGB colors);
  578. GpStatus WINGDIPAPI
  579. GdipGetPathGradientSurroundColorsWithCount(
  580.                         GpPathGradient *brush, ARGB* color, INT* count);
  581. GpStatus WINGDIPAPI
  582. GdipSetPathGradientSurroundColorsWithCount(
  583.                         GpPathGradient *brush,
  584.                         GDIPCONST ARGB* color, INT* count);
  585. GpStatus WINGDIPAPI
  586. GdipGetPathGradientPath(GpPathGradient *brush, GpPath *path);
  587. GpStatus WINGDIPAPI
  588. GdipSetPathGradientPath(GpPathGradient *brush, GDIPCONST GpPath *path);
  589. GpStatus WINGDIPAPI
  590. GdipGetPathGradientCenterPoint(
  591.                         GpPathGradient *brush, GpPointF* points);
  592. GpStatus WINGDIPAPI
  593. GdipGetPathGradientCenterPointI(
  594.                         GpPathGradient *brush, GpPoint* points);
  595. GpStatus WINGDIPAPI
  596. GdipSetPathGradientCenterPoint(
  597.                         GpPathGradient *brush, GDIPCONST GpPointF* points);
  598. GpStatus WINGDIPAPI
  599. GdipSetPathGradientCenterPointI(
  600.                         GpPathGradient *brush, GDIPCONST GpPoint* points);
  601. GpStatus WINGDIPAPI
  602. GdipGetPathGradientRect(GpPathGradient *brush, GpRectF *rect);
  603. GpStatus WINGDIPAPI
  604. GdipGetPathGradientRectI(GpPathGradient *brush, GpRect *rect);
  605. GpStatus WINGDIPAPI
  606. GdipGetPathGradientPointCount(GpPathGradient *brush, INT* count);
  607. GpStatus WINGDIPAPI
  608. GdipGetPathGradientSurroundColorCount(GpPathGradient *brush, INT* count);
  609. GpStatus WINGDIPAPI
  610. GdipSetPathGradientGammaCorrection(GpPathGradient *brush, BOOL useGammaCorrection);
  611. GpStatus WINGDIPAPI
  612. GdipGetPathGradientGammaCorrection(GpPathGradient *brush, BOOL *useGammaCorrection);
  613. GpStatus WINGDIPAPI
  614. GdipGetPathGradientBlendCount(GpPathGradient *brush,
  615.                                              INT *count);
  616. GpStatus WINGDIPAPI
  617. GdipGetPathGradientBlend(GpPathGradient *brush,
  618.                                     REAL *blend, REAL *positions, INT count);
  619. GpStatus WINGDIPAPI
  620. GdipSetPathGradientBlend(GpPathGradient *brush,
  621.                 GDIPCONST REAL *blend, GDIPCONST REAL *positions, INT count);
  622. GpStatus WINGDIPAPI
  623. GdipGetPathGradientPresetBlendCount(GpPathGradient *brush, INT *count);
  624. GpStatus WINGDIPAPI
  625. GdipGetPathGradientPresetBlend(GpPathGradient *brush, ARGB *blend,
  626.                                                 REAL* positions, INT count);
  627. GpStatus WINGDIPAPI
  628. GdipSetPathGradientPresetBlend(GpPathGradient *brush, GDIPCONST ARGB *blend,
  629.                                         GDIPCONST REAL* positions, INT count);
  630. GpStatus WINGDIPAPI
  631. GdipSetPathGradientSigmaBlend(GpPathGradient *brush, REAL focus, REAL scale);
  632. GpStatus WINGDIPAPI
  633. GdipSetPathGradientLinearBlend(GpPathGradient *brush, REAL focus, REAL scale);
  634. GpStatus WINGDIPAPI
  635. GdipGetPathGradientWrapMode(GpPathGradient *brush,
  636.                                          GpWrapMode *wrapmode);
  637. GpStatus WINGDIPAPI
  638. GdipSetPathGradientWrapMode(GpPathGradient *brush,
  639.                                          GpWrapMode wrapmode);
  640. GpStatus WINGDIPAPI
  641. GdipGetPathGradientTransform(GpPathGradient *brush,
  642.                                           GpMatrix *matrix);
  643. GpStatus WINGDIPAPI
  644. GdipSetPathGradientTransform(GpPathGradient *brush,
  645.                                           GpMatrix *matrix);
  646. GpStatus WINGDIPAPI
  647. GdipResetPathGradientTransform(GpPathGradient* brush);
  648. GpStatus WINGDIPAPI
  649. GdipMultiplyPathGradientTransform(GpPathGradient* brush, GDIPCONST GpMatrix *matrix,
  650.                             GpMatrixOrder order);
  651. GpStatus WINGDIPAPI
  652. GdipTranslatePathGradientTransform(GpPathGradient* brush, REAL dx, REAL dy,
  653.                             GpMatrixOrder order);
  654. GpStatus WINGDIPAPI
  655. GdipScalePathGradientTransform(GpPathGradient* brush, REAL sx, REAL sy,
  656.                             GpMatrixOrder order);
  657. GpStatus WINGDIPAPI
  658. GdipRotatePathGradientTransform(GpPathGradient* brush, REAL angle,
  659.                             GpMatrixOrder order);
  660. GpStatus WINGDIPAPI
  661. GdipGetPathGradientFocusScales(GpPathGradient *brush, REAL* xScale, REAL* yScale);
  662. GpStatus WINGDIPAPI
  663. GdipSetPathGradientFocusScales(GpPathGradient *brush, REAL xScale, REAL yScale);
  664. //----------------------------------------------------------------------------
  665. // Pen methods
  666. //----------------------------------------------------------------------------
  667. GpStatus WINGDIPAPI
  668. GdipCreatePen1(ARGB color, REAL width, GpUnit unit, GpPen **pen);
  669. GpStatus WINGDIPAPI
  670. GdipCreatePen2(GpBrush *brush, REAL width, GpUnit unit,
  671.                         GpPen **pen);
  672. GpStatus WINGDIPAPI
  673. GdipClonePen(GpPen *pen, GpPen **clonepen);
  674. GpStatus WINGDIPAPI
  675. GdipDeletePen(GpPen *pen);
  676. GpStatus WINGDIPAPI
  677. GdipSetPenWidth(GpPen *pen, REAL width);
  678. GpStatus WINGDIPAPI
  679. GdipGetPenWidth(GpPen *pen, REAL *width);
  680. GpStatus WINGDIPAPI
  681. GdipSetPenUnit(GpPen *pen, GpUnit unit);
  682. GpStatus WINGDIPAPI
  683. GdipGetPenUnit(GpPen *pen, GpUnit *unit);
  684. #ifdef DCR_USE_NEW_197819
  685. GpStatus WINGDIPAPI
  686. GdipSetPenLineCap197819(GpPen *pen, GpLineCap startCap, GpLineCap endCap,
  687.                   GpDashCap dashCap);
  688. #else
  689. GpStatus WINGDIPAPI
  690. GdipSetPenLineCap(GpPen *pen, GpLineCap startCap, GpLineCap endCap,
  691.                   GpLineCap dashCap);
  692. #endif // DCR_USE_NEW_197819
  693. GpStatus WINGDIPAPI
  694. GdipSetPenStartCap(GpPen *pen, GpLineCap startCap);
  695. GpStatus WINGDIPAPI
  696. GdipSetPenEndCap(GpPen *pen, GpLineCap endCap);
  697. #ifdef DCR_USE_NEW_197819
  698. GpStatus WINGDIPAPI
  699. GdipSetPenDashCap197819(GpPen *pen, GpDashCap dashCap);
  700. #else
  701. GpStatus WINGDIPAPI
  702. GdipSetPenDashCap(GpPen *pen, GpLineCap dashCap);
  703. #endif // DCR_USE_NEW_197819
  704. GpStatus WINGDIPAPI
  705. GdipGetPenStartCap(GpPen *pen, GpLineCap *startCap);
  706. GpStatus WINGDIPAPI
  707. GdipGetPenEndCap(GpPen *pen, GpLineCap *endCap);
  708. #ifdef DCR_USE_NEW_197819
  709. GpStatus WINGDIPAPI
  710. GdipGetPenDashCap197819(GpPen *pen, GpDashCap *dashCap);
  711. #else
  712. GpStatus WINGDIPAPI
  713. GdipGetPenDashCap(GpPen *pen, GpLineCap *dashCap);
  714. #endif // DCR_USE_NEW_197819
  715. GpStatus WINGDIPAPI
  716. GdipSetPenLineJoin(GpPen *pen, GpLineJoin lineJoin);
  717. GpStatus WINGDIPAPI
  718. GdipGetPenLineJoin(GpPen *pen, GpLineJoin *lineJoin);
  719. GpStatus WINGDIPAPI
  720. GdipSetPenCustomStartCap(GpPen *pen, GpCustomLineCap* customCap);
  721. GpStatus WINGDIPAPI
  722. GdipGetPenCustomStartCap(GpPen *pen, GpCustomLineCap** customCap);
  723. GpStatus WINGDIPAPI
  724. GdipSetPenCustomEndCap(GpPen *pen, GpCustomLineCap* customCap);
  725. GpStatus WINGDIPAPI
  726. GdipGetPenCustomEndCap(GpPen *pen, GpCustomLineCap** customCap);
  727. GpStatus WINGDIPAPI
  728. GdipSetPenMiterLimit(GpPen *pen, REAL miterLimit);
  729. GpStatus WINGDIPAPI
  730. GdipGetPenMiterLimit(GpPen *pen, REAL *miterLimit);
  731. GpStatus WINGDIPAPI
  732. GdipSetPenMode(GpPen *pen, GpPenAlignment penMode);
  733. GpStatus WINGDIPAPI
  734. GdipGetPenMode(GpPen *pen, GpPenAlignment *penMode);
  735. GpStatus WINGDIPAPI
  736. GdipSetPenTransform(GpPen *pen, GpMatrix *matrix);
  737. GpStatus WINGDIPAPI
  738. GdipGetPenTransform(GpPen *pen, GpMatrix *matrix);
  739. GpStatus WINGDIPAPI
  740. GdipResetPenTransform(GpPen *pen);
  741. GpStatus WINGDIPAPI
  742. GdipMultiplyPenTransform(GpPen *pen, GDIPCONST GpMatrix *matrix,
  743.                            GpMatrixOrder order);
  744. GpStatus WINGDIPAPI
  745. GdipTranslatePenTransform(GpPen *pen, REAL dx, REAL dy,
  746.                             GpMatrixOrder order);
  747. GpStatus WINGDIPAPI
  748. GdipScalePenTransform(GpPen *pen, REAL sx, REAL sy,
  749.                             GpMatrixOrder order);
  750. GpStatus WINGDIPAPI
  751. GdipRotatePenTransform(GpPen *pen, REAL angle, GpMatrixOrder order);
  752. GpStatus WINGDIPAPI
  753. GdipSetPenColor(GpPen *pen, ARGB argb);
  754. GpStatus WINGDIPAPI
  755. GdipGetPenColor(GpPen *pen, ARGB *argb);
  756. GpStatus WINGDIPAPI
  757. GdipSetPenBrushFill(GpPen *pen, GpBrush *brush);
  758. GpStatus WINGDIPAPI
  759. GdipGetPenBrushFill(GpPen *pen, GpBrush **brush);
  760. GpStatus WINGDIPAPI
  761. GdipGetPenFillType(GpPen *pen, GpPenType* type);
  762. GpStatus WINGDIPAPI
  763. GdipGetPenDashStyle(GpPen *pen, GpDashStyle *dashstyle);
  764. GpStatus WINGDIPAPI
  765. GdipSetPenDashStyle(GpPen *pen, GpDashStyle dashstyle);
  766. GpStatus WINGDIPAPI
  767. GdipGetPenDashOffset(GpPen *pen, REAL *offset);
  768. GpStatus WINGDIPAPI
  769. GdipSetPenDashOffset(GpPen *pen, REAL offset);
  770. GpStatus WINGDIPAPI
  771. GdipGetPenDashCount(GpPen *pen, INT *count);
  772. GpStatus WINGDIPAPI
  773. GdipSetPenDashArray(GpPen *pen, GDIPCONST REAL *dash, INT count);
  774. GpStatus WINGDIPAPI
  775. GdipGetPenDashArray(GpPen *pen, REAL *dash, INT count);
  776. GpStatus WINGDIPAPI
  777. GdipGetPenCompoundCount(GpPen *pen, INT *count);
  778. GpStatus WINGDIPAPI
  779. GdipSetPenCompoundArray(GpPen *pen, GDIPCONST REAL *dash, INT count);
  780. GpStatus WINGDIPAPI
  781. GdipGetPenCompoundArray(GpPen *pen, REAL *dash, INT count);
  782. //----------------------------------------------------------------------------
  783. // CustomLineCap methods
  784. //----------------------------------------------------------------------------
  785. GpStatus WINGDIPAPI
  786. GdipCreateCustomLineCap(GpPath* fillPath, GpPath* strokePath,
  787.    GpLineCap baseCap, REAL baseInset, GpCustomLineCap **customCap);
  788. GpStatus WINGDIPAPI
  789. GdipDeleteCustomLineCap(GpCustomLineCap* customCap);
  790. GpStatus WINGDIPAPI
  791. GdipCloneCustomLineCap(GpCustomLineCap* customCap,
  792.                        GpCustomLineCap** clonedCap);
  793. GpStatus WINGDIPAPI
  794. GdipGetCustomLineCapType(GpCustomLineCap* customCap,
  795.                        CustomLineCapType* capType);
  796. GpStatus WINGDIPAPI
  797. GdipSetCustomLineCapStrokeCaps(GpCustomLineCap* customCap,
  798.                                GpLineCap startCap, GpLineCap endCap);
  799. GpStatus WINGDIPAPI
  800. GdipGetCustomLineCapStrokeCaps(GpCustomLineCap* customCap,
  801.                                GpLineCap* startCap, GpLineCap* endCap);
  802. GpStatus WINGDIPAPI
  803. GdipSetCustomLineCapStrokeJoin(GpCustomLineCap* customCap, GpLineJoin lineJoin);
  804. GpStatus WINGDIPAPI
  805. GdipGetCustomLineCapStrokeJoin(GpCustomLineCap* customCap, GpLineJoin* lineJoin);
  806. GpStatus WINGDIPAPI
  807. GdipSetCustomLineCapBaseCap(GpCustomLineCap* customCap, GpLineCap baseCap);
  808. GpStatus WINGDIPAPI
  809. GdipGetCustomLineCapBaseCap(GpCustomLineCap* customCap, GpLineCap* baseCap);
  810. GpStatus WINGDIPAPI
  811. GdipSetCustomLineCapBaseInset(GpCustomLineCap* customCap, REAL inset);
  812. GpStatus WINGDIPAPI
  813. GdipGetCustomLineCapBaseInset(GpCustomLineCap* customCap, REAL* inset);
  814. GpStatus WINGDIPAPI
  815. GdipSetCustomLineCapWidthScale(GpCustomLineCap* customCap, REAL widthScale);
  816. GpStatus WINGDIPAPI
  817. GdipGetCustomLineCapWidthScale(GpCustomLineCap* customCap, REAL* widthScale);
  818. //----------------------------------------------------------------------------
  819. // AdjustableArrowCap methods
  820. //----------------------------------------------------------------------------
  821. GpStatus WINGDIPAPI
  822. GdipCreateAdjustableArrowCap(REAL height, REAL width, BOOL isFilled,
  823.                              GpAdjustableArrowCap **cap);
  824. GpStatus WINGDIPAPI
  825. GdipSetAdjustableArrowCapHeight(GpAdjustableArrowCap* cap, REAL height);
  826. GpStatus WINGDIPAPI
  827. GdipGetAdjustableArrowCapHeight(GpAdjustableArrowCap* cap, REAL* height);
  828. GpStatus WINGDIPAPI
  829. GdipSetAdjustableArrowCapWidth(GpAdjustableArrowCap* cap, REAL width);
  830. GpStatus WINGDIPAPI
  831. GdipGetAdjustableArrowCapWidth(GpAdjustableArrowCap* cap, REAL* width);
  832. GpStatus WINGDIPAPI
  833. GdipSetAdjustableArrowCapMiddleInset(GpAdjustableArrowCap* cap, REAL middleInset);
  834. GpStatus WINGDIPAPI
  835. GdipGetAdjustableArrowCapMiddleInset(GpAdjustableArrowCap* cap, REAL* middleInset);
  836. GpStatus WINGDIPAPI
  837. GdipSetAdjustableArrowCapFillState(GpAdjustableArrowCap* cap, BOOL fillState);
  838. GpStatus WINGDIPAPI
  839. GdipGetAdjustableArrowCapFillState(GpAdjustableArrowCap* cap, BOOL* fillState);
  840. //----------------------------------------------------------------------------
  841. // Image methods
  842. //----------------------------------------------------------------------------
  843. GpStatus WINGDIPAPI
  844. GdipLoadImageFromStream(IStream* stream, GpImage **image);
  845. GpStatus WINGDIPAPI
  846. GdipLoadImageFromFile(GDIPCONST WCHAR* filename, GpImage **image);
  847. GpStatus WINGDIPAPI
  848. GdipLoadImageFromStreamICM(IStream* stream, GpImage **image);
  849. GpStatus WINGDIPAPI
  850. GdipLoadImageFromFileICM(GDIPCONST WCHAR* filename, GpImage **image);
  851. GpStatus WINGDIPAPI
  852. GdipCloneImage(GpImage *image, GpImage **cloneImage);
  853. GpStatus WINGDIPAPI
  854. GdipDisposeImage(GpImage *image);
  855. GpStatus WINGDIPAPI
  856. GdipSaveImageToFile(GpImage *image, GDIPCONST WCHAR* filename,
  857.                     GDIPCONST CLSID* clsidEncoder, GDIPCONST EncoderParameters* encoderParams);
  858. GpStatus WINGDIPAPI
  859. GdipSaveImageToStream(GpImage *image, IStream* stream,
  860.                       GDIPCONST CLSID* clsidEncoder, GDIPCONST EncoderParameters* encoderParams);
  861. GpStatus WINGDIPAPI
  862. GdipSaveAdd(GpImage *image, GDIPCONST EncoderParameters* encoderParams);
  863. GpStatus WINGDIPAPI
  864. GdipSaveAddImage(GpImage *image, GpImage* newImage,
  865.                  GDIPCONST EncoderParameters* encoderParams);
  866. GpStatus WINGDIPAPI
  867. GdipGetImageGraphicsContext(GpImage *image, GpGraphics **graphics);
  868. GpStatus WINGDIPAPI
  869. GdipGetImageBounds(GpImage *image, GpRectF *srcRect, GpUnit *srcUnit);
  870. GpStatus WINGDIPAPI
  871. GdipGetImageDimension(GpImage *image, REAL *width, REAL *height);
  872. GpStatus WINGDIPAPI
  873. GdipGetImageType(GpImage *image, ImageType *type);
  874. GpStatus WINGDIPAPI
  875. GdipGetImageWidth(GpImage *image, UINT *width);
  876. GpStatus WINGDIPAPI
  877. GdipGetImageHeight(GpImage *image, UINT *height);
  878. GpStatus WINGDIPAPI
  879. GdipGetImageHorizontalResolution(GpImage *image, REAL *resolution);
  880. GpStatus WINGDIPAPI
  881. GdipGetImageVerticalResolution(GpImage *image, REAL *resolution);
  882. GpStatus WINGDIPAPI
  883. GdipGetImageFlags(GpImage *image, UINT *flags);
  884. GpStatus WINGDIPAPI
  885. GdipGetImageRawFormat(GpImage *image, GUID *format);
  886. GpStatus WINGDIPAPI
  887. GdipGetImagePixelFormat(GpImage *image, PixelFormat *format);
  888. GpStatus WINGDIPAPI
  889. GdipGetImageThumbnail(GpImage *image, UINT thumbWidth, UINT thumbHeight,
  890.                       GpImage **thumbImage,
  891.                       GetThumbnailImageAbort callback, VOID * callbackData);
  892. GpStatus WINGDIPAPI
  893. GdipGetEncoderParameterListSize(GpImage *image, GDIPCONST CLSID* clsidEncoder,
  894.                                 UINT* size);
  895. GpStatus WINGDIPAPI
  896. GdipGetEncoderParameterList(GpImage *image, GDIPCONST CLSID* clsidEncoder,
  897.                             UINT size, EncoderParameters* buffer);
  898. GpStatus WINGDIPAPI
  899. GdipImageGetFrameDimensionsCount(GpImage* image, UINT* count);
  900. GpStatus WINGDIPAPI
  901. GdipImageGetFrameDimensionsList(GpImage* image, GUID* dimensionIDs, UINT count);
  902. GpStatus WINGDIPAPI
  903. GdipImageGetFrameCount(GpImage *image, GDIPCONST GUID* dimensionID, UINT* count);
  904. GpStatus WINGDIPAPI
  905. GdipImageSelectActiveFrame(GpImage *image, GDIPCONST GUID* dimensionID,
  906.                            UINT frameIndex);
  907. GpStatus WINGDIPAPI
  908. GdipImageRotateFlip(GpImage *image, RotateFlipType rfType);
  909. GpStatus WINGDIPAPI
  910. GdipGetImagePalette(GpImage *image, ColorPalette *palette, INT size);
  911. GpStatus WINGDIPAPI
  912. GdipSetImagePalette(GpImage *image, GDIPCONST ColorPalette *palette);
  913. GpStatus WINGDIPAPI
  914. GdipGetImagePaletteSize(GpImage *image, INT *size);
  915. GpStatus WINGDIPAPI
  916. GdipGetPropertyCount(GpImage *image, UINT* numOfProperty);
  917. GpStatus WINGDIPAPI
  918. GdipGetPropertyIdList(GpImage *image, UINT numOfProperty, PROPID* list);
  919. GpStatus WINGDIPAPI
  920. GdipGetPropertyItemSize(GpImage *image, PROPID propId, UINT* size);
  921. GpStatus WINGDIPAPI
  922. GdipGetPropertyItem(GpImage *image, PROPID propId,UINT propSize,
  923.                     PropertyItem* buffer);
  924. GpStatus WINGDIPAPI
  925. GdipGetPropertySize(GpImage *image, UINT* totalBufferSize, UINT* numProperties);
  926. GpStatus WINGDIPAPI
  927. GdipGetAllPropertyItems(GpImage *image, UINT totalBufferSize,
  928.                         UINT numProperties, PropertyItem* allItems);
  929. GpStatus WINGDIPAPI
  930. GdipRemovePropertyItem(GpImage *image, PROPID propId);
  931. GpStatus WINGDIPAPI
  932. GdipSetPropertyItem(GpImage *image, GDIPCONST PropertyItem* item);
  933. GpStatus WINGDIPAPI
  934. GdipImageForceValidation(GpImage *image);
  935. GpStatus WINGDIPAPI
  936. GdipGetImageLayout(GpImage *image, ImageLayout* layout);
  937. GpStatus WINGDIPAPI
  938. GdipSetImageLayout(GpImage *image, GDIPCONST ImageLayout layout);
  939. //----------------------------------------------------------------------------
  940. // Bitmap methods
  941. //----------------------------------------------------------------------------
  942. GpStatus WINGDIPAPI
  943. GdipCreateBitmapFromStream(IStream* stream, GpBitmap **bitmap);
  944. GpStatus WINGDIPAPI
  945. GdipCreateBitmapFromFile(GDIPCONST WCHAR* filename, GpBitmap **bitmap);
  946. GpStatus WINGDIPAPI
  947. GdipCreateBitmapFromStreamICM(IStream* stream, GpBitmap **bitmap);
  948. GpStatus WINGDIPAPI
  949. GdipCreateBitmapFromFileICM(GDIPCONST WCHAR* filename, GpBitmap **bitmap);
  950. GpStatus WINGDIPAPI
  951. GdipCreateBitmapFromScan0(INT width,
  952.                           INT height,
  953.                           INT stride,
  954.                           PixelFormat format,
  955.                           BYTE* scan0,
  956.                           GpBitmap** bitmap);
  957. GpStatus WINGDIPAPI
  958. GdipCreateBitmapFromGraphics(INT width,
  959.                              INT height,
  960.                              GpGraphics* target,
  961.                              GpBitmap** bitmap);
  962. GpStatus WINGDIPAPI
  963. GdipCreateBitmapFromDirectDrawSurface(IDirectDrawSurface7* surface,
  964.                                       GpBitmap** bitmap);
  965. GpStatus WINGDIPAPI
  966. GdipCreateBitmapFromGdiDib(GDIPCONST BITMAPINFO* gdiBitmapInfo,
  967.                            VOID* gdiBitmapData,
  968.                            GpBitmap** bitmap);
  969. GpStatus WINGDIPAPI
  970. GdipCreateBitmapFromHBITMAP(HBITMAP hbm,
  971.                             HPALETTE hpal,
  972.                             GpBitmap** bitmap);
  973. GpStatus WINGDIPAPI
  974. GdipCreateHBITMAPFromBitmap(GpBitmap* bitmap,
  975.                             HBITMAP* hbmReturn,
  976.                             ARGB background);
  977. GpStatus WINGDIPAPI
  978. GdipCreateBitmapFromHICON(HICON hicon,
  979.                           GpBitmap** bitmap);
  980. GpStatus WINGDIPAPI
  981. GdipCreateHICONFromBitmap(GpBitmap* bitmap,
  982.                           HICON* hbmReturn);
  983. GpStatus WINGDIPAPI
  984. GdipCreateBitmapFromResource(HINSTANCE hInstance,
  985.                              GDIPCONST WCHAR* lpBitmapName,
  986.                              GpBitmap** bitmap);
  987. GpStatus WINGDIPAPI
  988. GdipCloneBitmapArea(REAL x, REAL y, REAL width, REAL height,
  989.                             PixelFormat format,
  990.                             GpBitmap *srcBitmap,
  991.                             GpBitmap **dstBitmap);
  992. GpStatus WINGDIPAPI
  993. GdipCloneBitmapAreaI(INT x,
  994.                      INT y,
  995.                      INT width,
  996.                      INT height,
  997.                      PixelFormat format,
  998.                      GpBitmap *srcBitmap,
  999.                      GpBitmap **dstBitmap);
  1000. GpStatus WINGDIPAPI
  1001. GdipBitmapLockBits(GpBitmap* bitmap,
  1002.                    GDIPCONST GpRect* rect,
  1003.                    UINT flags,
  1004.                    PixelFormat format,
  1005.                    BitmapData* lockedBitmapData);
  1006. GpStatus WINGDIPAPI
  1007. GdipBitmapUnlockBits(GpBitmap* bitmap,
  1008.                      BitmapData* lockedBitmapData);
  1009. GpStatus WINGDIPAPI
  1010. GdipBitmapGetPixel(GpBitmap* bitmap, INT x, INT y, ARGB *color);
  1011. GpStatus WINGDIPAPI
  1012. GdipBitmapSetPixel(GpBitmap* bitmap, INT x, INT y, ARGB color);
  1013. GpStatus WINGDIPAPI
  1014. GdipBitmapSetResolution(GpBitmap* bitmap, REAL xdpi, REAL ydpi);
  1015. //----------------------------------------------------------------------------
  1016. // ImageAttributes methods
  1017. //----------------------------------------------------------------------------
  1018. GpStatus WINGDIPAPI
  1019. GdipCreateImageAttributes(GpImageAttributes **imageattr);
  1020. GpStatus WINGDIPAPI
  1021. GdipCloneImageAttributes(GDIPCONST GpImageAttributes *imageattr,
  1022.                          GpImageAttributes **cloneImageattr);
  1023. GpStatus WINGDIPAPI
  1024. GdipDisposeImageAttributes(GpImageAttributes *imageattr);
  1025. GpStatus WINGDIPAPI
  1026. GdipSetImageAttributesToIdentity(GpImageAttributes *imageattr,
  1027.                                  ColorAdjustType type);
  1028. GpStatus WINGDIPAPI
  1029. GdipResetImageAttributes(GpImageAttributes *imageattr,
  1030.                          ColorAdjustType type);
  1031. GpStatus WINGDIPAPI
  1032. GdipSetImageAttributesColorMatrix(GpImageAttributes *imageattr,
  1033.                                ColorAdjustType type,
  1034.                                BOOL enableFlag,
  1035.                                GDIPCONST ColorMatrix* colorMatrix,
  1036.                                GDIPCONST ColorMatrix* grayMatrix,
  1037.                                ColorMatrixFlags flags);
  1038. GpStatus WINGDIPAPI
  1039. GdipSetImageAttributesThreshold(GpImageAttributes *imageattr,
  1040.                                 ColorAdjustType type,
  1041.                                 BOOL enableFlag,
  1042.                                 REAL threshold);
  1043. GpStatus WINGDIPAPI
  1044. GdipSetImageAttributesGamma(GpImageAttributes *imageattr,
  1045.                             ColorAdjustType type,
  1046.                             BOOL enableFlag,
  1047.                             REAL gamma);
  1048. GpStatus WINGDIPAPI
  1049. GdipSetImageAttributesNoOp(GpImageAttributes *imageattr,
  1050.                            ColorAdjustType type,
  1051.                            BOOL enableFlag);
  1052. GpStatus WINGDIPAPI
  1053. GdipSetImageAttributesColorKeys(GpImageAttributes *imageattr,
  1054.                                 ColorAdjustType type,
  1055.                                 BOOL enableFlag,
  1056.                                 ARGB colorLow,
  1057.                                 ARGB colorHigh);
  1058. GpStatus WINGDIPAPI
  1059. GdipSetImageAttributesOutputChannel(GpImageAttributes *imageattr,
  1060.                                     ColorAdjustType type,
  1061.                                     BOOL enableFlag,
  1062.                                     ColorChannelFlags channelFlags);
  1063. GpStatus WINGDIPAPI
  1064. GdipSetImageAttributesOutputChannelColorProfile(GpImageAttributes *imageattr,
  1065.                                                 ColorAdjustType type,
  1066.                                                 BOOL enableFlag,
  1067.                                                 GDIPCONST WCHAR *colorProfileFilename);
  1068. GpStatus WINGDIPAPI
  1069. GdipSetImageAttributesRemapTable(GpImageAttributes *imageattr,
  1070.                                  ColorAdjustType type,
  1071.                                  BOOL enableFlag,
  1072.                                  UINT mapSize,
  1073.                                  GDIPCONST ColorMap *map);
  1074. GpStatus WINGDIPAPI
  1075. GdipSetImageAttributesWrapMode(
  1076.     GpImageAttributes *imageAttr,
  1077.     WrapMode wrap,
  1078.     ARGB argb,
  1079.     BOOL clamp
  1080. );
  1081. GpStatus WINGDIPAPI
  1082. GdipSetImageAttributesICMMode(
  1083.     GpImageAttributes *imageAttr,
  1084.     BOOL on
  1085. );
  1086. GpStatus WINGDIPAPI
  1087. GdipGetImageAttributesAdjustedPalette(
  1088.     GpImageAttributes *imageAttr,
  1089.     ColorPalette * colorPalette,
  1090.     ColorAdjustType colorAdjustType
  1091. );
  1092. //----------------------------------------------------------------------------
  1093. // Graphics methods
  1094. //----------------------------------------------------------------------------
  1095. GpStatus WINGDIPAPI
  1096. GdipFlush(GpGraphics *graphics, GpFlushIntention intention);
  1097. GpStatus WINGDIPAPI
  1098. GdipCreateFromHDC(HDC hdc, GpGraphics **graphics);
  1099. GpStatus WINGDIPAPI
  1100. GdipCreateFromHDC2(HDC hdc, HANDLE hDevice, GpGraphics **graphics);
  1101. GpStatus WINGDIPAPI
  1102. GdipCreateFromHWND(HWND hwnd, GpGraphics **graphics);
  1103. GpStatus WINGDIPAPI
  1104. GdipCreateFromHWNDICM(HWND hwnd, GpGraphics **graphics);
  1105. GpStatus WINGDIPAPI
  1106. GdipDeleteGraphics(GpGraphics *graphics);
  1107. GpStatus WINGDIPAPI
  1108. GdipGetDC(GpGraphics* graphics, HDC * hdc);
  1109. GpStatus WINGDIPAPI
  1110. GdipReleaseDC(GpGraphics* graphics, HDC hdc);
  1111. GpStatus WINGDIPAPI
  1112. GdipSetCompositingMode(GpGraphics *graphics, CompositingMode compositingMode);
  1113. GpStatus WINGDIPAPI
  1114. GdipGetCompositingMode(GpGraphics *graphics, CompositingMode *compositingMode);
  1115. GpStatus WINGDIPAPI
  1116. GdipSetRenderingOrigin(GpGraphics *graphics, INT x, INT y);
  1117. GpStatus WINGDIPAPI
  1118. GdipGetRenderingOrigin(GpGraphics *graphics, INT *x, INT *y);
  1119. GpStatus WINGDIPAPI
  1120. GdipSetCompositingQuality(GpGraphics *graphics, CompositingQuality compositingQuality);
  1121. GpStatus WINGDIPAPI
  1122. GdipGetCompositingQuality(GpGraphics *graphics, CompositingQuality *compositingQuality);
  1123. GpStatus WINGDIPAPI
  1124. GdipSetSmoothingMode(GpGraphics *graphics, SmoothingMode smoothingMode);
  1125. GpStatus WINGDIPAPI
  1126. GdipGetSmoothingMode(GpGraphics *graphics, SmoothingMode *smoothingMode);
  1127. GpStatus WINGDIPAPI
  1128. GdipSetPixelOffsetMode(GpGraphics* graphics, PixelOffsetMode pixelOffsetMode);
  1129. GpStatus WINGDIPAPI
  1130. GdipGetPixelOffsetMode(GpGraphics *graphics, PixelOffsetMode *pixelOffsetMode);
  1131. GpStatus WINGDIPAPI
  1132. GdipSetTextRenderingHint(GpGraphics *graphics, TextRenderingHint mode);
  1133. GpStatus WINGDIPAPI
  1134. GdipGetTextRenderingHint(GpGraphics *graphics, TextRenderingHint *mode);
  1135. #ifdef DCR_USE_NEW_188922
  1136. GpStatus  WINGDIPAPI
  1137. GdipSetTextContrast(GpGraphics *graphics, UINT contrast);
  1138. GpStatus  WINGDIPAPI
  1139. GdipGetTextContrast(GpGraphics *graphics, UINT * contrast);
  1140. #else
  1141. GpStatus  WINGDIPAPI
  1142. GdipSetTextGammaValue(GpGraphics *graphics, UINT gammaValue);
  1143. GpStatus  WINGDIPAPI
  1144. GdipGetTextGammaValue(GpGraphics *graphics, UINT * gammaValue);
  1145. #endif // DCR_USE_NEW_188922
  1146. GpStatus WINGDIPAPI
  1147. GdipSetInterpolationMode(GpGraphics *graphics, InterpolationMode interpolationMode);
  1148. GpStatus WINGDIPAPI
  1149. GdipGetInterpolationMode(GpGraphics *graphics, InterpolationMode *interpolationMode);
  1150. GpStatus WINGDIPAPI
  1151. GdipSetWorldTransform(GpGraphics *graphics, GpMatrix *matrix);
  1152. GpStatus WINGDIPAPI
  1153. GdipResetWorldTransform(GpGraphics *graphics);
  1154. GpStatus WINGDIPAPI
  1155. GdipMultiplyWorldTransform(GpGraphics *graphics, GDIPCONST GpMatrix *matrix,
  1156.                            GpMatrixOrder order);
  1157. GpStatus WINGDIPAPI
  1158. GdipTranslateWorldTransform(GpGraphics *graphics, REAL dx, REAL dy,
  1159.                             GpMatrixOrder order);
  1160. GpStatus WINGDIPAPI
  1161. GdipScaleWorldTransform(GpGraphics *graphics, REAL sx, REAL sy,
  1162.                         GpMatrixOrder order);
  1163. GpStatus WINGDIPAPI
  1164. GdipRotateWorldTransform(GpGraphics *graphics, REAL angle, GpMatrixOrder order);
  1165. GpStatus WINGDIPAPI
  1166. GdipGetWorldTransform(GpGraphics *graphics, GpMatrix *matrix);
  1167. GpStatus WINGDIPAPI
  1168. GdipResetPageTransform(GpGraphics *graphics);
  1169. GpStatus WINGDIPAPI
  1170. GdipGetPageUnit(GpGraphics *graphics, GpUnit *unit);
  1171. GpStatus WINGDIPAPI
  1172. GdipGetPageScale(GpGraphics *graphics, REAL *scale);
  1173. GpStatus WINGDIPAPI
  1174. GdipSetPageUnit(GpGraphics *graphics, GpUnit unit);
  1175. GpStatus WINGDIPAPI
  1176. GdipSetPageScale(GpGraphics *graphics, REAL scale);
  1177. GpStatus WINGDIPAPI
  1178. GdipGetDpiX(GpGraphics *graphics, REAL* dpi);
  1179. GpStatus WINGDIPAPI
  1180. GdipGetDpiY(GpGraphics *graphics, REAL* dpi);
  1181. GpStatus WINGDIPAPI
  1182. GdipTransformPoints(GpGraphics *graphics, GpCoordinateSpace destSpace,
  1183.                              GpCoordinateSpace srcSpace, GpPointF *points,
  1184.                              INT count);
  1185. GpStatus WINGDIPAPI
  1186. GdipTransformPointsI(GpGraphics *graphics, GpCoordinateSpace destSpace,
  1187.                              GpCoordinateSpace srcSpace, GpPoint *points,
  1188.                              INT count);
  1189. GpStatus WINGDIPAPI
  1190. GdipGetNearestColor(GpGraphics *graphics, ARGB* argb);
  1191. // Create the Win9x Halftone Palette (even on NT) with correct Desktop colors
  1192. HPALETTE WINGDIPAPI
  1193. GdipCreateHalftonePalette();
  1194. GpStatus WINGDIPAPI
  1195. GdipDrawLine(GpGraphics *graphics, GpPen *pen, REAL x1, REAL y1,
  1196.                       REAL x2, REAL y2);
  1197. GpStatus WINGDIPAPI
  1198. GdipDrawLineI(GpGraphics *graphics, GpPen *pen, INT x1, INT y1,
  1199.                       INT x2, INT y2);
  1200. GpStatus WINGDIPAPI
  1201. GdipDrawLines(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPointF *points,
  1202.                        INT count);
  1203. GpStatus WINGDIPAPI
  1204. GdipDrawLinesI(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPoint *points,
  1205.                        INT count);
  1206. GpStatus WINGDIPAPI
  1207. GdipDrawArc(GpGraphics *graphics, GpPen *pen, REAL x, REAL y,
  1208.             REAL width, REAL height, REAL startAngle, REAL sweepAngle);
  1209. GpStatus WINGDIPAPI
  1210. GdipDrawArcI(GpGraphics *graphics, GpPen *pen, INT x, INT y,
  1211.                      INT width, INT height, REAL startAngle, REAL sweepAngle);
  1212. GpStatus WINGDIPAPI
  1213. GdipDrawBezier(GpGraphics *graphics, GpPen *pen, REAL x1, REAL y1,
  1214.                         REAL x2, REAL y2, REAL x3, REAL y3, REAL x4, REAL y4);
  1215. GpStatus WINGDIPAPI
  1216. GdipDrawBezierI(GpGraphics *graphics, GpPen *pen, INT x1, INT y1,
  1217.                         INT x2, INT y2, INT x3, INT y3, INT x4, INT y4);
  1218. GpStatus WINGDIPAPI
  1219. GdipDrawBeziers(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPointF *points,
  1220.                          INT count);
  1221. GpStatus WINGDIPAPI
  1222. GdipDrawBeziersI(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPoint *points,
  1223.                          INT count);
  1224. GpStatus WINGDIPAPI
  1225. GdipDrawRectangle(GpGraphics *graphics, GpPen *pen, REAL x, REAL y,
  1226.                       REAL width, REAL height);
  1227. GpStatus WINGDIPAPI
  1228. GdipDrawRectangleI(GpGraphics *graphics, GpPen *pen, INT x, INT y,
  1229.                       INT width, INT height);
  1230. GpStatus WINGDIPAPI
  1231. GdipDrawRectangles(GpGraphics *graphics, GpPen *pen, GDIPCONST GpRectF *rects,
  1232.                        INT count);
  1233. GpStatus WINGDIPAPI
  1234. GdipDrawRectanglesI(GpGraphics *graphics, GpPen *pen, GDIPCONST GpRect *rects,
  1235.                        INT count);
  1236. GpStatus WINGDIPAPI
  1237. GdipDrawEllipse(GpGraphics *graphics, GpPen *pen, REAL x, REAL y,
  1238.                          REAL width, REAL height);
  1239. GpStatus WINGDIPAPI
  1240. GdipDrawEllipseI(GpGraphics *graphics, GpPen *pen, INT x, INT y,
  1241.                          INT width, INT height);
  1242. GpStatus WINGDIPAPI
  1243. GdipDrawPie(GpGraphics *graphics, GpPen *pen, REAL x, REAL y,
  1244.                      REAL width, REAL height, REAL startAngle, REAL sweepAngle);
  1245. GpStatus WINGDIPAPI
  1246. GdipDrawPieI(GpGraphics *graphics, GpPen *pen, INT x, INT y,
  1247.                      INT width, INT height, REAL startAngle, REAL sweepAngle);
  1248. GpStatus WINGDIPAPI
  1249. GdipDrawPolygon(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPointF *points,
  1250.                          INT count);
  1251. GpStatus WINGDIPAPI
  1252. GdipDrawPolygonI(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPoint *points,
  1253.                          INT count);
  1254. GpStatus WINGDIPAPI
  1255. GdipDrawPath(GpGraphics *graphics, GpPen *pen, GpPath *path);
  1256. GpStatus WINGDIPAPI
  1257. GdipDrawCurve(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPointF *points,
  1258.                        INT count);
  1259. GpStatus WINGDIPAPI
  1260. GdipDrawCurveI(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPoint *points,
  1261.                        INT count);
  1262. GpStatus WINGDIPAPI
  1263. GdipDrawCurve2(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPointF *points,
  1264.                        INT count, REAL tension);
  1265. GpStatus WINGDIPAPI
  1266. GdipDrawCurve2I(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPoint *points,
  1267.                        INT count, REAL tension);
  1268. GpStatus WINGDIPAPI
  1269. GdipDrawCurve3(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPointF *points,
  1270.                INT count, INT offset, INT numberOfSegments, REAL tension);
  1271. GpStatus WINGDIPAPI
  1272. GdipDrawCurve3I(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPoint *points,
  1273.                 INT count, INT offset, INT numberOfSegments, REAL tension);
  1274. GpStatus WINGDIPAPI
  1275. GdipDrawClosedCurve(GpGraphics *graphics, GpPen *pen,
  1276.                     GDIPCONST GpPointF *points, INT count);
  1277. GpStatus WINGDIPAPI
  1278. GdipDrawClosedCurveI(GpGraphics *graphics, GpPen *pen,
  1279.                      GDIPCONST GpPoint *points, INT count);
  1280. GpStatus WINGDIPAPI
  1281. GdipDrawClosedCurve2(GpGraphics *graphics, GpPen *pen,
  1282.                      GDIPCONST GpPointF *points, INT count, REAL tension);
  1283. GpStatus WINGDIPAPI
  1284. GdipDrawClosedCurve2I(GpGraphics *graphics, GpPen *pen,
  1285.                       GDIPCONST GpPoint *points, INT count, REAL tension);
  1286. GpStatus WINGDIPAPI
  1287. GdipGraphicsClear(GpGraphics *graphics, ARGB color);
  1288. GpStatus WINGDIPAPI
  1289. GdipFillRectangle(GpGraphics *graphics, GpBrush *brush, REAL x, REAL y,
  1290.                   REAL width, REAL height);
  1291. GpStatus WINGDIPAPI
  1292. GdipFillRectangleI(GpGraphics *graphics, GpBrush *brush, INT x, INT y,
  1293.                    INT width, INT height);
  1294. GpStatus WINGDIPAPI
  1295. GdipFillRectangles(GpGraphics *graphics, GpBrush *brush,
  1296.                    GDIPCONST GpRectF *rects, INT count);
  1297. GpStatus WINGDIPAPI
  1298. GdipFillRectanglesI(GpGraphics *graphics, GpBrush *brush,
  1299.                     GDIPCONST GpRect *rects, INT count);
  1300. GpStatus WINGDIPAPI
  1301. GdipFillPolygon(GpGraphics *graphics, GpBrush *brush,
  1302.                 GDIPCONST GpPointF *points, INT count, GpFillMode fillMode);
  1303. GpStatus WINGDIPAPI
  1304. GdipFillPolygonI(GpGraphics *graphics, GpBrush *brush,
  1305.                  GDIPCONST GpPoint *points, INT count, GpFillMode fillMode);
  1306. GpStatus WINGDIPAPI
  1307. GdipFillPolygon2(GpGraphics *graphics, GpBrush *brush,
  1308.                  GDIPCONST GpPointF *points, INT count);
  1309. GpStatus WINGDIPAPI
  1310. GdipFillPolygon2I(GpGraphics *graphics, GpBrush *brush,
  1311.                   GDIPCONST GpPoint *points, INT count);
  1312. GpStatus WINGDIPAPI
  1313. GdipFillEllipse(GpGraphics *graphics, GpBrush *brush, REAL x, REAL y,
  1314.                 REAL width, REAL height);
  1315. GpStatus WINGDIPAPI
  1316. GdipFillEllipseI(GpGraphics *graphics, GpBrush *brush, INT x, INT y,
  1317.                  INT width, INT height);
  1318. GpStatus WINGDIPAPI
  1319. GdipFillPie(GpGraphics *graphics, GpBrush *brush, REAL x, REAL y,
  1320.             REAL width, REAL height, REAL startAngle, REAL sweepAngle);
  1321. GpStatus WINGDIPAPI
  1322. GdipFillPieI(GpGraphics *graphics, GpBrush *brush, INT x, INT y,
  1323.              INT width, INT height, REAL startAngle, REAL sweepAngle);
  1324. GpStatus WINGDIPAPI
  1325. GdipFillPath(GpGraphics *graphics, GpBrush *brush, GpPath *path);
  1326. GpStatus WINGDIPAPI
  1327. GdipFillClosedCurve(GpGraphics *graphics, GpBrush *brush,
  1328.                               GDIPCONST GpPointF *points, INT count);
  1329. GpStatus WINGDIPAPI
  1330. GdipFillClosedCurveI(GpGraphics *graphics, GpBrush *brush,
  1331.                               GDIPCONST GpPoint *points, INT count);
  1332. GpStatus WINGDIPAPI
  1333. GdipFillClosedCurve2(GpGraphics *graphics, GpBrush *brush,
  1334.                               GDIPCONST GpPointF *points, INT count,
  1335.                               REAL tension, GpFillMode fillMode);
  1336. GpStatus WINGDIPAPI
  1337. GdipFillClosedCurve2I(GpGraphics *graphics, GpBrush *brush,
  1338.                               GDIPCONST GpPoint *points, INT count,
  1339.                               REAL tension, GpFillMode fillMode);
  1340. GpStatus WINGDIPAPI
  1341. GdipFillRegion(GpGraphics *graphics, GpBrush *brush,
  1342.                         GpRegion *region);
  1343. GpStatus WINGDIPAPI
  1344. GdipDrawImage(GpGraphics *graphics, GpImage *image, REAL x, REAL y);
  1345. GpStatus WINGDIPAPI
  1346. GdipDrawImageI(GpGraphics *graphics, GpImage *image, INT x, INT y);
  1347. GpStatus WINGDIPAPI
  1348. GdipDrawImageRect(GpGraphics *graphics, GpImage *image, REAL x, REAL y,
  1349.                            REAL width, REAL height);
  1350. GpStatus WINGDIPAPI
  1351. GdipDrawImageRectI(GpGraphics *graphics, GpImage *image, INT x, INT y,
  1352.                            INT width, INT height);
  1353. GpStatus WINGDIPAPI
  1354. GdipDrawImagePoints(GpGraphics *graphics, GpImage *image,
  1355.                              GDIPCONST GpPointF *dstpoints, INT count);
  1356. GpStatus WINGDIPAPI
  1357. GdipDrawImagePointsI(GpGraphics *graphics, GpImage *image,
  1358.                              GDIPCONST GpPoint *dstpoints, INT count);
  1359. GpStatus WINGDIPAPI
  1360. GdipDrawImagePointRect(GpGraphics *graphics, GpImage *image, REAL x,
  1361.                                 REAL y, REAL srcx, REAL srcy, REAL srcwidth,
  1362.                                 REAL srcheight, GpUnit srcUnit);
  1363. GpStatus WINGDIPAPI
  1364. GdipDrawImagePointRectI(GpGraphics *graphics, GpImage *image, INT x,
  1365.                                 INT y, INT srcx, INT srcy, INT srcwidth,
  1366.                                 INT srcheight, GpUnit srcUnit);
  1367. GpStatus WINGDIPAPI
  1368. GdipDrawImageRectRect(GpGraphics *graphics, GpImage *image, REAL dstx,
  1369.                       REAL dsty, REAL dstwidth, REAL dstheight,
  1370.                       REAL srcx, REAL srcy, REAL srcwidth, REAL srcheight,
  1371.                       GpUnit srcUnit,
  1372.                       GDIPCONST GpImageAttributes* imageAttributes,
  1373.                       DrawImageAbort callback, VOID * callbackData);
  1374. GpStatus WINGDIPAPI
  1375. GdipDrawImageRectRectI(GpGraphics *graphics, GpImage *image, INT dstx,
  1376.                        INT dsty, INT dstwidth, INT dstheight,
  1377.                        INT srcx, INT srcy, INT srcwidth, INT srcheight,
  1378.                        GpUnit srcUnit,
  1379.                        GDIPCONST GpImageAttributes* imageAttributes,
  1380.                        DrawImageAbort callback, VOID * callbackData);
  1381. GpStatus WINGDIPAPI
  1382. GdipDrawImagePointsRect(GpGraphics *graphics, GpImage *image,
  1383.                         GDIPCONST GpPointF *points, INT count, REAL srcx,
  1384.                         REAL srcy, REAL srcwidth, REAL srcheight,
  1385.                         GpUnit srcUnit,
  1386.                         GDIPCONST GpImageAttributes* imageAttributes,
  1387.                         DrawImageAbort callback, VOID * callbackData);
  1388. GpStatus WINGDIPAPI
  1389. GdipDrawImagePointsRectI(GpGraphics *graphics, GpImage *image,
  1390.                          GDIPCONST GpPoint *points, INT count, INT srcx,
  1391.                          INT srcy, INT srcwidth, INT srcheight,
  1392.                          GpUnit srcUnit,
  1393.                          GDIPCONST GpImageAttributes* imageAttributes,
  1394.                          DrawImageAbort callback, VOID * callbackData);
  1395. GpStatus WINGDIPAPI
  1396. GdipEnumerateMetafileDestPoint(
  1397.     GpGraphics *            graphics,
  1398.     GDIPCONST GpMetafile *  metafile,
  1399.     GDIPCONST PointF &      destPoint,
  1400.     EnumerateMetafileProc   callback,
  1401.     VOID *                  callbackData,
  1402.     GDIPCONST GpImageAttributes *     imageAttributes
  1403.     );
  1404. GpStatus WINGDIPAPI
  1405. GdipEnumerateMetafileDestPointI(
  1406.     GpGraphics *            graphics,
  1407.     GDIPCONST GpMetafile *  metafile,
  1408.     GDIPCONST Point &       destPoint,
  1409.     EnumerateMetafileProc   callback,
  1410.     VOID *                  callbackData,
  1411.     GDIPCONST GpImageAttributes *     imageAttributes
  1412.     );
  1413. GpStatus WINGDIPAPI
  1414. GdipEnumerateMetafileDestRect(
  1415.     GpGraphics *            graphics,
  1416.     GDIPCONST GpMetafile *  metafile,
  1417.     GDIPCONST RectF &       destRect,
  1418.     EnumerateMetafileProc   callback,
  1419.     VOID *                  callbackData,
  1420.     GDIPCONST GpImageAttributes *     imageAttributes
  1421.     );
  1422. GpStatus WINGDIPAPI
  1423. GdipEnumerateMetafileDestRectI(
  1424.     GpGraphics *            graphics,
  1425.     GDIPCONST GpMetafile *  metafile,
  1426.     GDIPCONST Rect &        destRect,
  1427.     EnumerateMetafileProc   callback,
  1428.     VOID *                  callbackData,
  1429.     GDIPCONST GpImageAttributes *     imageAttributes
  1430.     );
  1431. GpStatus WINGDIPAPI
  1432. GdipEnumerateMetafileDestPoints(
  1433.     GpGraphics *            graphics,
  1434.     GDIPCONST GpMetafile *  metafile,
  1435.     GDIPCONST PointF *      destPoints,
  1436.     INT                     count,
  1437.     EnumerateMetafileProc   callback,
  1438.     VOID *                  callbackData,
  1439.     GDIPCONST GpImageAttributes *     imageAttributes
  1440.     );
  1441. GpStatus WINGDIPAPI
  1442. GdipEnumerateMetafileDestPointsI(
  1443.     GpGraphics *            graphics,
  1444.     GDIPCONST GpMetafile *  metafile,
  1445.     GDIPCONST Point *       destPoints,
  1446.     INT                     count,
  1447.     EnumerateMetafileProc   callback,
  1448.     VOID *                  callbackData,
  1449.     GDIPCONST GpImageAttributes *     imageAttributes
  1450.     );
  1451. GpStatus WINGDIPAPI
  1452. GdipEnumerateMetafileSrcRectDestPoint(
  1453.     GpGraphics *            graphics,
  1454.     GDIPCONST GpMetafile *  metafile,
  1455.     GDIPCONST PointF &      destPoint,
  1456.     GDIPCONST RectF &       srcRect,
  1457.     Unit                    srcUnit,
  1458.     EnumerateMetafileProc   callback,
  1459.     VOID *                  callbackData,
  1460.     GDIPCONST GpImageAttributes *     imageAttributes
  1461.     );
  1462. GpStatus WINGDIPAPI
  1463. GdipEnumerateMetafileSrcRectDestPointI(
  1464.     GpGraphics *            graphics,
  1465.     GDIPCONST GpMetafile *  metafile,
  1466.     GDIPCONST Point &       destPoint,
  1467.     GDIPCONST Rect &        srcRect,
  1468.     Unit                    srcUnit,
  1469.     EnumerateMetafileProc   callback,
  1470.     VOID *                  callbackData,
  1471.     GDIPCONST GpImageAttributes *     imageAttributes
  1472.     );
  1473. GpStatus WINGDIPAPI
  1474. GdipEnumerateMetafileSrcRectDestRect(
  1475.     GpGraphics *            graphics,
  1476.     GDIPCONST GpMetafile *  metafile,
  1477.     GDIPCONST RectF &       destRect,
  1478.     GDIPCONST RectF &       srcRect,
  1479.     Unit                    srcUnit,
  1480.     EnumerateMetafileProc   callback,
  1481.     VOID *                  callbackData,
  1482.     GDIPCONST GpImageAttributes *     imageAttributes
  1483.     );
  1484. GpStatus WINGDIPAPI
  1485. GdipEnumerateMetafileSrcRectDestRectI(
  1486.     GpGraphics *            graphics,
  1487.     GDIPCONST GpMetafile *  metafile,
  1488.     GDIPCONST Rect &        destRect,
  1489.     GDIPCONST Rect &        srcRect,
  1490.     Unit                    srcUnit,
  1491.     EnumerateMetafileProc   callback,
  1492.     VOID *                  callbackData,
  1493.     GDIPCONST GpImageAttributes *     imageAttributes
  1494.     );
  1495. GpStatus WINGDIPAPI
  1496. GdipEnumerateMetafileSrcRectDestPoints(
  1497.     GpGraphics *            graphics,
  1498.     GDIPCONST GpMetafile *  metafile,
  1499.     GDIPCONST PointF *      destPoints,
  1500.     INT                     count,
  1501.     GDIPCONST RectF &       srcRect,
  1502.     Unit                    srcUnit,
  1503.     EnumerateMetafileProc   callback,
  1504.     VOID *                  callbackData,
  1505.     GDIPCONST GpImageAttributes *     imageAttributes
  1506.     );
  1507. GpStatus WINGDIPAPI
  1508. GdipEnumerateMetafileSrcRectDestPointsI(
  1509.     GpGraphics *            graphics,
  1510.     GDIPCONST GpMetafile *  metafile,
  1511.     GDIPCONST Point *       destPoints,
  1512.     INT                     count,
  1513.     GDIPCONST Rect &        srcRect,
  1514.     Unit                    srcUnit,
  1515.     EnumerateMetafileProc   callback,
  1516.     VOID *                  callbackData,
  1517.     GDIPCONST GpImageAttributes *     imageAttributes
  1518.     );
  1519. GpStatus WINGDIPAPI
  1520. GdipPlayMetafileRecord(
  1521.     GDIPCONST GpMetafile *  metafile,
  1522.     EmfPlusRecordType       recordType,
  1523.     UINT                    flags,
  1524.     UINT                    dataSize,
  1525.     GDIPCONST BYTE *        data
  1526.     );
  1527. GpStatus WINGDIPAPI
  1528. GdipSetClipGraphics(GpGraphics *graphics, GpGraphics *srcgraphics,
  1529.                     CombineMode combineMode);
  1530. GpStatus WINGDIPAPI
  1531. GdipSetClipRect(GpGraphics *graphics, REAL x, REAL y,
  1532.                          REAL width, REAL height, CombineMode combineMode);
  1533. GpStatus WINGDIPAPI
  1534. GdipSetClipRectI(GpGraphics *graphics, INT x, INT y,
  1535.                          INT width, INT height, CombineMode combineMode);
  1536. GpStatus WINGDIPAPI
  1537. GdipSetClipPath(GpGraphics *graphics, GpPath *path, CombineMode combineMode);
  1538. GpStatus WINGDIPAPI
  1539. GdipSetClipRegion(GpGraphics *graphics, GpRegion *region,
  1540.                   CombineMode combineMode);
  1541. GpStatus WINGDIPAPI
  1542. GdipSetClipHrgn(GpGraphics *graphics, HRGN hRgn, CombineMode combineMode);
  1543. GpStatus WINGDIPAPI
  1544. GdipResetClip(GpGraphics *graphics);
  1545. GpStatus WINGDIPAPI
  1546. GdipTranslateClip(GpGraphics *graphics, REAL dx, REAL dy);
  1547. GpStatus WINGDIPAPI
  1548. GdipTranslateClipI(GpGraphics *graphics, INT dx, INT dy);
  1549. GpStatus WINGDIPAPI
  1550. GdipGetClip(GpGraphics *graphics, GpRegion *region);
  1551. GpStatus WINGDIPAPI
  1552. GdipGetClipBounds(GpGraphics *graphics, GpRectF *rect);
  1553. GpStatus WINGDIPAPI
  1554. GdipGetClipBoundsI(GpGraphics *graphics, GpRect *rect);
  1555. GpStatus WINGDIPAPI
  1556. GdipIsClipEmpty(GpGraphics *graphics, BOOL *result);
  1557. GpStatus WINGDIPAPI
  1558. GdipGetVisibleClipBounds(GpGraphics *graphics, GpRectF *rect);
  1559. GpStatus WINGDIPAPI
  1560. GdipGetVisibleClipBoundsI(GpGraphics *graphics, GpRect *rect);
  1561. GpStatus WINGDIPAPI
  1562. GdipIsVisibleClipEmpty(GpGraphics *graphics, BOOL *result);
  1563. GpStatus WINGDIPAPI
  1564. GdipIsVisiblePoint(GpGraphics *graphics, REAL x, REAL y,
  1565.                            BOOL *result);
  1566. GpStatus WINGDIPAPI
  1567. GdipIsVisiblePointI(GpGraphics *graphics, INT x, INT y,
  1568.                            BOOL *result);
  1569. GpStatus WINGDIPAPI
  1570. GdipIsVisibleRect(GpGraphics *graphics, REAL x, REAL y,
  1571.                            REAL width, REAL height, BOOL *result);
  1572. GpStatus WINGDIPAPI
  1573. GdipIsVisibleRectI(GpGraphics *graphics, INT x, INT y,
  1574.                            INT width, INT height, BOOL *result);
  1575. GpStatus WINGDIPAPI
  1576. GdipSaveGraphics(GpGraphics *graphics, GraphicsState *state);
  1577. GpStatus WINGDIPAPI
  1578. GdipRestoreGraphics(GpGraphics *graphics, GraphicsState state);
  1579. GpStatus WINGDIPAPI
  1580. GdipBeginContainer(GpGraphics *graphics, GDIPCONST GpRectF* dstrect,
  1581.                    GDIPCONST GpRectF *srcrect, GpUnit unit, GraphicsContainer *state);
  1582. GpStatus WINGDIPAPI
  1583. GdipBeginContainerI(GpGraphics *graphics, GDIPCONST GpRect* dstrect,
  1584.                     GDIPCONST GpRect *srcrect, GpUnit unit, GraphicsContainer *state);
  1585. GpStatus WINGDIPAPI
  1586. GdipBeginContainer2(GpGraphics *graphics, GraphicsContainer* state);
  1587. GpStatus WINGDIPAPI
  1588. GdipEndContainer(GpGraphics *graphics, GraphicsContainer state);
  1589. GpStatus
  1590. GdipGetMetafileHeaderFromWmf(
  1591.     HMETAFILE           hWmf,
  1592.     GDIPCONST APMFileHeader *     apmFileHeader,
  1593.     MetafileHeader *    header
  1594.     );
  1595. GpStatus
  1596. WINGDIPAPI
  1597. GdipGetMetafileHeaderFromEmf(
  1598.     HENHMETAFILE        hEmf,
  1599.     MetafileHeader *    header
  1600.     );
  1601. GpStatus
  1602. WINGDIPAPI
  1603. GdipGetMetafileHeaderFromFile(
  1604.     GDIPCONST WCHAR*        filename,
  1605.     MetafileHeader *    header
  1606.     );
  1607. GpStatus
  1608. WINGDIPAPI
  1609. GdipGetMetafileHeaderFromStream(
  1610.     IStream *           stream,
  1611.     MetafileHeader *    header
  1612.     );
  1613. GpStatus
  1614. WINGDIPAPI
  1615. GdipGetMetafileHeaderFromMetafile(
  1616.     GpMetafile *        metafile,
  1617.     MetafileHeader *    header
  1618.     );
  1619. GpStatus
  1620. WINGDIPAPI
  1621. GdipGetHemfFromMetafile(
  1622.     GpMetafile *        metafile,
  1623.     HENHMETAFILE *      hEmf
  1624.     );
  1625. GpStatus WINGDIPAPI
  1626. GdipCreateStreamOnFile(GDIPCONST WCHAR * filename, UINT access, IStream **stream);
  1627. GpStatus WINGDIPAPI
  1628. GdipCreateMetafileFromWmf(HMETAFILE hWmf, BOOL deleteWmf,
  1629.                           GDIPCONST APMFileHeader * apmFileHeader, GpMetafile **metafile);
  1630. GpStatus WINGDIPAPI
  1631. GdipCreateMetafileFromEmf(HENHMETAFILE hEmf, BOOL deleteEmf,
  1632.                           GpMetafile **metafile);
  1633. GpStatus WINGDIPAPI
  1634. GdipCreateMetafileFromFile(GDIPCONST WCHAR* file, GpMetafile **metafile);
  1635. GpStatus WINGDIPAPI
  1636. GdipCreateMetafileFromWmfFile(GDIPCONST WCHAR* file, GDIPCONST APMFileHeader * apmFileHeader, GpMetafile **metafile);
  1637. GpStatus WINGDIPAPI
  1638. GdipCreateMetafileFromStream(IStream * stream, GpMetafile **metafile);
  1639. GpStatus WINGDIPAPI
  1640. GdipRecordMetafile(
  1641.     HDC                 referenceHdc,
  1642.     EmfType             type,
  1643.     GDIPCONST GpRectF * frameRect,
  1644.     MetafileFrameUnit   frameUnit,
  1645.     GDIPCONST WCHAR *   description,
  1646.     GpMetafile **       metafile
  1647.     );
  1648. GpStatus WINGDIPAPI
  1649. GdipRecordMetafileI(
  1650.     HDC                 referenceHdc,
  1651.     EmfType             type,
  1652.     GDIPCONST GpRect *  frameRect,
  1653.     MetafileFrameUnit   frameUnit,
  1654.     GDIPCONST WCHAR *   description,
  1655.     GpMetafile **       metafile
  1656.     );
  1657. GpStatus WINGDIPAPI
  1658. GdipRecordMetafileFileName(
  1659.     GDIPCONST WCHAR*    fileName,
  1660.     HDC                 referenceHdc,
  1661.     EmfType             type,
  1662.     GDIPCONST GpRectF * frameRect,
  1663.     MetafileFrameUnit   frameUnit,
  1664.     GDIPCONST WCHAR *   description,
  1665.     GpMetafile **       metafile
  1666.     );
  1667. GpStatus WINGDIPAPI
  1668. GdipRecordMetafileFileNameI(
  1669.     GDIPCONST WCHAR*    fileName,
  1670.     HDC                 referenceHdc,
  1671.     EmfType             type,
  1672.     GDIPCONST GpRect *  frameRect,
  1673.     MetafileFrameUnit   frameUnit,
  1674.     GDIPCONST WCHAR *   description,
  1675.     GpMetafile **       metafile
  1676.     );
  1677. GpStatus WINGDIPAPI
  1678. GdipRecordMetafileStream(
  1679.     IStream *           stream,
  1680.     HDC                 referenceHdc,
  1681.     EmfType             type,
  1682.     GDIPCONST GpRectF * frameRect,
  1683.     MetafileFrameUnit   frameUnit,
  1684.     GDIPCONST WCHAR *   description,
  1685.     GpMetafile **       metafile
  1686.     );
  1687. GpStatus WINGDIPAPI
  1688. GdipRecordMetafileStreamI(
  1689.     IStream *           stream,
  1690.     HDC                 referenceHdc,
  1691.     EmfType             type,
  1692.     GDIPCONST GpRect *  frameRect,
  1693.     MetafileFrameUnit   frameUnit,
  1694.     GDIPCONST WCHAR *   description,
  1695.     GpMetafile **       metafile
  1696.     );
  1697. GpStatus WINGDIPAPI
  1698. GdipSetMetafileDownLevelRasterizationLimit(
  1699.     GpMetafile *            metafile,
  1700.     UINT                    metafileRasterizationLimitDpi
  1701.     );
  1702. GpStatus WINGDIPAPI
  1703. GdipGetMetafileDownLevelRasterizationLimit(
  1704.     GDIPCONST GpMetafile *  metafile,
  1705.     UINT *                  metafileRasterizationLimitDpi
  1706.     );
  1707. GpStatus WINGDIPAPI
  1708. GdipGetImageDecodersSize(UINT *numDecoders, UINT *size);
  1709. GpStatus WINGDIPAPI
  1710. GdipGetImageDecoders(UINT numDecoders,
  1711.                      UINT size,
  1712.                      ImageCodecInfo *decoders);
  1713. GpStatus WINGDIPAPI
  1714. GdipGetImageEncodersSize(UINT *numEncoders, UINT *size);
  1715. GpStatus WINGDIPAPI
  1716. GdipGetImageEncoders(UINT numEncoders,
  1717.                      UINT size,
  1718.                      ImageCodecInfo *encoders);
  1719. GpStatus WINGDIPAPI
  1720. GdipAddImageCodec(GDIPCONST ImageCodecInfo *codec);
  1721. GpStatus WINGDIPAPI
  1722. GdipRemoveImageCodec(GDIPCONST ImageCodecInfo *codec);
  1723. #ifndef DCR_USE_NEW_186091
  1724. GpStatus WINGDIPAPI
  1725. GdipGetGraphicsPixel(GpGraphics* graphics, REAL x, REAL y, ARGB* argb);
  1726. #endif
  1727. GpStatus WINGDIPAPI
  1728. GdipComment(GpGraphics* graphics, UINT sizeData, GDIPCONST BYTE * data);
  1729. GpStatus WINGDIPAPI
  1730. GdipGetGraphicsLayout(GpGraphics* graphics, GraphicsLayout* layout);
  1731. GpStatus WINGDIPAPI
  1732. GdipSetGraphicsLayout(GpGraphics* graphics, GDIPCONST GraphicsLayout layout);
  1733. //----------------------------------------------------------------------------
  1734. // FontFamily
  1735. //----------------------------------------------------------------------------
  1736. GpStatus WINGDIPAPI
  1737. GdipCreateFontFamilyFromName(GDIPCONST WCHAR *name,
  1738.                              GpFontCollection *fontCollection,
  1739.                              GpFontFamily **FontFamily);
  1740. GpStatus WINGDIPAPI
  1741. GdipDeleteFontFamily(GpFontFamily *FontFamily);
  1742. GpStatus WINGDIPAPI
  1743. GdipCloneFontFamily(GpFontFamily *FontFamily, GpFontFamily **clonedFontFamily);
  1744. GpStatus WINGDIPAPI
  1745. GdipGetGenericFontFamilySansSerif(GpFontFamily **nativeFamily);
  1746. GpStatus WINGDIPAPI
  1747. GdipGetGenericFontFamilySerif(GpFontFamily **nativeFamily);
  1748. GpStatus WINGDIPAPI
  1749. GdipGetGenericFontFamilyMonospace(GpFontFamily **nativeFamily);
  1750. GpStatus WINGDIPAPI
  1751. GdipGetFamilyName(
  1752.     GDIPCONST GpFontFamily  *family,
  1753.     WCHAR                name[LF_FACESIZE],
  1754.     LANGID               language
  1755. );
  1756. GpStatus   WINGDIPAPI
  1757. GdipIsStyleAvailable(GDIPCONST GpFontFamily *family, INT style, BOOL * IsStyleAvailable);
  1758. GpStatus WINGDIPAPI
  1759. GdipFontCollectionEnumerable(
  1760.     GpFontCollection* fontCollection,
  1761.     GpGraphics* graphics,
  1762.     INT *       numFound
  1763. );
  1764. GpStatus WINGDIPAPI GdipFontCollectionEnumerate(
  1765.     GpFontCollection* fontCollection,
  1766.     INT             numSought,
  1767.     GpFontFamily*   gpfamilies[],
  1768.     INT*            numFound,
  1769.     GpGraphics*     graphics
  1770. );
  1771. //-----------------------------------
  1772. // New API
  1773. //-----------------------------------
  1774. GpStatus WINGDIPAPI
  1775. GdipGetEmHeight(GDIPCONST GpFontFamily *family, INT style, UINT16 * EmHeight);
  1776. GpStatus WINGDIPAPI
  1777. GdipGetCellAscent(GDIPCONST GpFontFamily *family, INT style, UINT16 * CellAscent);
  1778. GpStatus WINGDIPAPI
  1779. GdipGetCellDescent(GDIPCONST GpFontFamily *family, INT style, UINT16 * CellDescent);
  1780. GpStatus WINGDIPAPI
  1781. GdipGetLineSpacing(GDIPCONST GpFontFamily *family, INT style, UINT16 * LineSpacing);
  1782. //----------------------------------------------------------------------------
  1783. // Font
  1784. //----------------------------------------------------------------------------
  1785. GpStatus WINGDIPAPI
  1786. GdipCreateFontFromDC(
  1787.     HDC        hdc,
  1788.     GpFont   **font
  1789. );
  1790. GpStatus WINGDIPAPI
  1791. GdipCreateFontFromLogfontA(
  1792.     HDC        hdc,
  1793.     GDIPCONST LOGFONTA  *logfont,
  1794.     GpFont   **font
  1795. );
  1796. GpStatus WINGDIPAPI
  1797. GdipCreateFontFromLogfontW(
  1798.     HDC        hdc,
  1799.     GDIPCONST LOGFONTW  *logfont,
  1800.     GpFont   **font
  1801. );
  1802. GpStatus WINGDIPAPI
  1803. GdipCreateFont(
  1804.     GDIPCONST GpFontFamily  *fontFamily,
  1805.     REAL                 emSize,
  1806.     INT                  style,
  1807.     Unit                 unit,
  1808.     GpFont             **font
  1809. );
  1810. GpStatus WINGDIPAPI
  1811. GdipCloneFont(GpFont* font, GpFont** cloneFont);
  1812. GpStatus WINGDIPAPI
  1813. GdipDeleteFont(GpFont* font);
  1814. GpStatus WINGDIPAPI
  1815. GdipGetFamily(GpFont *font, GpFontFamily **family);
  1816. GpStatus WINGDIPAPI
  1817. GdipGetFontStyle(GpFont *font, INT *style);
  1818. GpStatus WINGDIPAPI
  1819. GdipGetFontSize(GpFont *font, REAL *size);
  1820. GpStatus WINGDIPAPI
  1821. GdipGetFontUnit(GpFont *font, Unit *unit);
  1822. GpStatus WINGDIPAPI
  1823. GdipGetFontHeight(GDIPCONST GpFont *font, GDIPCONST GpGraphics *graphics, REAL *height);
  1824. #ifdef DCR_USE_NEW_125467
  1825. GpStatus WINGDIPAPI
  1826. GdipGetFontHeightGivenDPI(GDIPCONST GpFont *font, REAL dpi, REAL *height);
  1827. #endif
  1828. GpStatus WINGDIPAPI
  1829. GdipGetLogFontA(GpFont * font, GpGraphics *graphics, LOGFONTA * logfontA);
  1830. GpStatus WINGDIPAPI
  1831. GdipGetLogFontW(GpFont * font, GpGraphics *graphics, LOGFONTW * logfontW);
  1832. // FontCollection
  1833. GpStatus WINGDIPAPI
  1834. GdipNewInstalledFontCollection(GpFontCollection** fontCollection);
  1835. GpStatus WINGDIPAPI
  1836. GdipNewPrivateFontCollection(GpFontCollection** fontCollection);
  1837. GpStatus WINGDIPAPI
  1838. GdipDeletePrivateFontCollection(GpFontCollection** fontCollection);
  1839. GpStatus WINGDIPAPI
  1840. GdipGetFontCollectionFamilyCount(
  1841.     GpFontCollection* fontCollection,
  1842.     INT *       numFound
  1843. );
  1844. GpStatus WINGDIPAPI
  1845. GdipGetFontCollectionFamilyList(
  1846.     GpFontCollection* fontCollection,
  1847.     INT             numSought,
  1848.     GpFontFamily*   gpfamilies[],
  1849.     INT*            numFound
  1850. );
  1851. #ifndef DCR_USE_NEW_235072
  1852. GpStatus WINGDIPAPI
  1853. GdipInstallFontFile(
  1854.     GpFontCollection* fontCollection,
  1855.     GDIPCONST WCHAR* filename
  1856. );
  1857. GpStatus WINGDIPAPI
  1858. GdipUninstallFontFile(
  1859.     GpFontCollection* fontCollection,
  1860.     GDIPCONST WCHAR* filename
  1861. );
  1862. #endif
  1863. GpStatus WINGDIPAPI
  1864. GdipPrivateAddFontFile(
  1865.     GpFontCollection* fontCollection,
  1866.     GDIPCONST WCHAR* filename
  1867. );
  1868. GpStatus WINGDIPAPI
  1869. GdipPrivateAddMemoryFont(
  1870.     GpFontCollection* fontCollection,
  1871.     GDIPCONST void* memory,
  1872.     INT length
  1873. );
  1874. //----------------------------------------------------------------------------
  1875. // Text
  1876. //----------------------------------------------------------------------------
  1877. GpStatus WINGDIPAPI
  1878. GdipDrawString(
  1879.     GpGraphics               *graphics,
  1880.     GDIPCONST WCHAR          *string,
  1881.     INT                       length,
  1882.     GDIPCONST GpFont         *font,
  1883.     GDIPCONST RectF          *layoutRect,
  1884.     GDIPCONST GpStringFormat *stringFormat,
  1885.     GDIPCONST GpBrush        *brush
  1886. );
  1887. GpStatus WINGDIPAPI
  1888. GdipMeasureString(
  1889.     GpGraphics               *graphics,
  1890.     GDIPCONST WCHAR          *string,
  1891.     INT                       length,
  1892.     GDIPCONST GpFont         *font,
  1893.     GDIPCONST RectF          *layoutRect,
  1894.     GDIPCONST GpStringFormat *stringFormat,
  1895.     RectF                    *boundingBox,
  1896.     INT                      *codepointsFitted,
  1897.     INT                      *linesFilled
  1898. );
  1899. #ifndef DCR_USE_NEW_174340
  1900. GpStatus WINGDIPAPI
  1901. GdipMeasureStringRegion(
  1902.     GpGraphics               *graphics,
  1903.     GDIPCONST WCHAR          *string,
  1904.     INT                       length,
  1905.     GDIPCONST GpFont         *font,
  1906.     GDIPCONST RectF          &layoutRect,
  1907.     GDIPCONST GpStringFormat *stringFormat,
  1908.     INT                       firstCharacterIndex,
  1909.     INT                       characterCount,
  1910.     GpRegion                 *region
  1911. );
  1912. #endif
  1913. #ifdef DCR_USE_NEW_174340
  1914. GpStatus
  1915. WINGDIPAPI
  1916. GdipMeasureCharacterRanges(
  1917.     GpGraphics               *graphics,
  1918.     GDIPCONST WCHAR          *string,
  1919.     INT                       length,
  1920.     GDIPCONST GpFont         *font,
  1921.     GDIPCONST RectF          &layoutRect,
  1922.     GDIPCONST GpStringFormat *stringFormat,
  1923.     INT                       regionCount,
  1924.     GpRegion                **regions
  1925. );
  1926. #endif
  1927. GpStatus WINGDIPAPI
  1928. GdipDrawDriverString(
  1929.     GpGraphics *graphics,
  1930.     GDIPCONST UINT16 *text,
  1931.     INT length,
  1932.     GDIPCONST GpFont *font,
  1933.     GDIPCONST GpBrush *brush,
  1934.     GDIPCONST PointF *positions,
  1935.     INT flags,
  1936.     GDIPCONST GpMatrix *matrix
  1937. );
  1938. GpStatus WINGDIPAPI
  1939. GdipMeasureDriverString(
  1940.     GpGraphics *graphics,
  1941.     GDIPCONST UINT16 *text,
  1942.     INT length,
  1943.     GDIPCONST GpFont *font,
  1944.     GDIPCONST PointF *positions,
  1945.     INT flags,
  1946.     GDIPCONST GpMatrix *matrix,
  1947.     RectF *boundingBox
  1948. );
  1949. #ifndef DCR_USE_NEW_168772
  1950. GpStatus WINGDIPAPI
  1951. GdipDriverStringPointToCodepoint(
  1952.     GpGraphics *graphics,
  1953.     GDIPCONST UINT16 *text,
  1954.     INT length,
  1955.     GDIPCONST GpFont *font,
  1956.     GDIPCONST PointF *positions,
  1957.     INT flags,
  1958.     GpMatrix *matrix,
  1959.     GDIPCONST PointF *hit,
  1960.     INT *index,
  1961.     BOOL *rightEdge,
  1962.     REAL *distance
  1963. );
  1964. #endif
  1965. //----------------------------------------------------------------------------
  1966. // String format APIs
  1967. //----------------------------------------------------------------------------
  1968. GpStatus WINGDIPAPI
  1969. GdipCreateStringFormat(
  1970.     INT               formatAttributes,
  1971.     LANGID            language,
  1972.     GpStringFormat  **format
  1973. );
  1974. GpStatus WINGDIPAPI
  1975. GdipStringFormatGetGenericDefault(GpStringFormat **format);
  1976. GpStatus WINGDIPAPI
  1977. GdipStringFormatGetGenericTypographic(GpStringFormat **format);
  1978. GpStatus WINGDIPAPI
  1979. GdipDeleteStringFormat(GpStringFormat *format);
  1980. GpStatus WINGDIPAPI
  1981. GdipCloneStringFormat(GDIPCONST GpStringFormat *format, GpStringFormat **newFormat);
  1982. GpStatus WINGDIPAPI
  1983. GdipSetStringFormatFlags(GpStringFormat *format, INT flags);
  1984. GpStatus WINGDIPAPI GdipGetStringFormatFlags(GDIPCONST GpStringFormat *format, INT *flags);
  1985. #ifndef DCR_USE_NEW_152154
  1986. GpStatus WINGDIPAPI
  1987. GdipSetStringFormatLineSpacing(GpStringFormat *format, REAL amount,
  1988.                                LineSpacing method);
  1989. GpStatus WINGDIPAPI
  1990. GdipGetStringFormatLineSpacingAmount(GDIPCONST GpStringFormat *format, REAL *amount);
  1991. GpStatus WINGDIPAPI
  1992. GdipGetStringFormatLineSpacingMethod(GDIPCONST GpStringFormat *format, LineSpacing *method);
  1993. #endif
  1994. GpStatus WINGDIPAPI
  1995. GdipSetStringFormatAlign(GpStringFormat *format, StringAlignment align);
  1996. GpStatus WINGDIPAPI
  1997. GdipGetStringFormatAlign(GDIPCONST GpStringFormat *format, StringAlignment *align);
  1998. GpStatus WINGDIPAPI
  1999. GdipSetStringFormatLineAlign(GpStringFormat *format,
  2000.                              StringAlignment align);
  2001. GpStatus WINGDIPAPI
  2002. GdipGetStringFormatLineAlign(GDIPCONST GpStringFormat *format,
  2003.                              StringAlignment *align);
  2004. GpStatus WINGDIPAPI
  2005. GdipSetStringFormatTrimming(
  2006.     GpStringFormat  *format,
  2007.     StringTrimming   trimming
  2008. );
  2009. GpStatus WINGDIPAPI
  2010. GdipGetStringFormatTrimming(
  2011.     GDIPCONST GpStringFormat *format,
  2012.     StringTrimming       *trimming
  2013. );
  2014. GpStatus WINGDIPAPI
  2015. GdipSetStringFormatHotkeyPrefix(GpStringFormat *format, INT hotkeyPrefix);
  2016. GpStatus WINGDIPAPI
  2017. GdipGetStringFormatHotkeyPrefix(GDIPCONST GpStringFormat *format, INT *hotkeyPrefix);
  2018. GpStatus WINGDIPAPI
  2019. GdipSetStringFormatTabStops(GpStringFormat *format, REAL firstTabOffset, INT count, GDIPCONST REAL *tabStops);
  2020. GpStatus WINGDIPAPI
  2021. GdipGetStringFormatTabStops(GDIPCONST GpStringFormat *format, INT count, REAL *firstTabOffset, REAL *tabStops);
  2022. GpStatus WINGDIPAPI
  2023. GdipGetStringFormatTabStopCount(GDIPCONST GpStringFormat *format, INT * count);
  2024. #ifdef DCR_USE_NEW_146933
  2025. GpStatus WINGDIPAPI
  2026. GdipSetStringFormatDigitSubstitution(GpStringFormat *format, LANGID language,
  2027.                                      StringDigitSubstitute substitute);
  2028. GpStatus WINGDIPAPI
  2029. GdipGetStringFormatDigitSubstitution(GDIPCONST GpStringFormat *format, LANGID *language,
  2030.                                      StringDigitSubstitute *substitute);
  2031. #endif // DCR_USE_NEW_146933
  2032. #ifdef DCR_USE_NEW_174340
  2033. GpStatus WINGDIPAPI
  2034. GdipGetStringFormatMeasurableCharacterRangeCount(
  2035.     GDIPCONST GpStringFormat    *format,
  2036.     INT                         *count
  2037. );
  2038. GpStatus WINGDIPAPI
  2039. GdipSetStringFormatMeasurableCharacterRanges(
  2040.     GpStringFormat              *format,
  2041.     INT                         rangeCount,
  2042.     GDIPCONST CharacterRange    *ranges
  2043. );
  2044. #endif
  2045. //----------------------------------------------------------------------------
  2046. // Cached Bitmap APIs
  2047. //----------------------------------------------------------------------------
  2048. GpStatus WINGDIPAPI
  2049. GdipCreateCachedBitmap(
  2050.     GpBitmap *bitmap,
  2051.     GpGraphics *graphics,
  2052.     GpCachedBitmap **cachedBitmap
  2053. );
  2054. GpStatus WINGDIPAPI
  2055. GdipDeleteCachedBitmap(GpCachedBitmap *cachedBitmap);
  2056. GpStatus WINGDIPAPI
  2057. GdipDrawCachedBitmap(
  2058.     GpGraphics *graphics,
  2059.     GpCachedBitmap *cachedBitmap,
  2060.     INT x,
  2061.     INT y
  2062. );
  2063. UINT WINGDIPAPI
  2064. GdipEmfToWmfBits(
  2065.     HENHMETAFILE hemf,
  2066.     UINT         cbData16,
  2067.     LPBYTE       pData16,
  2068.     INT          iMapMode,
  2069.     INT          eFlags
  2070. );
  2071. #ifdef __cplusplus
  2072. }
  2073. #endif
  2074. #endif // !_FLATAPI_H