GdiPlusFlat.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:83k
源码类别:

模拟服务器

开发平台:

C/C++

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