Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2613 lines
80 KiB

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