Leaked source code of windows server 2003
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.

2650 lines
83 KiB

  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. GpStatus WINGDIPAPI
  1103. GdipSetSmoothingMode(GpGraphics *graphics, SmoothingMode smoothingMode);
  1104. GpStatus WINGDIPAPI
  1105. GdipGetSmoothingMode(GpGraphics *graphics, SmoothingMode *smoothingMode);
  1106. GpStatus WINGDIPAPI
  1107. GdipSetPixelOffsetMode(GpGraphics* graphics, PixelOffsetMode pixelOffsetMode);
  1108. GpStatus WINGDIPAPI
  1109. GdipGetPixelOffsetMode(GpGraphics *graphics, PixelOffsetMode *pixelOffsetMode);
  1110. GpStatus WINGDIPAPI
  1111. GdipSetTextRenderingHint(GpGraphics *graphics, TextRenderingHint mode);
  1112. GpStatus WINGDIPAPI
  1113. GdipGetTextRenderingHint(GpGraphics *graphics, TextRenderingHint *mode);
  1114. GpStatus WINGDIPAPI
  1115. GdipSetTextContrast(GpGraphics *graphics, UINT contrast);
  1116. GpStatus WINGDIPAPI
  1117. GdipGetTextContrast(GpGraphics *graphics, UINT * contrast);
  1118. GpStatus WINGDIPAPI
  1119. GdipSetInterpolationMode(GpGraphics *graphics,
  1120. InterpolationMode interpolationMode);
  1121. GpStatus WINGDIPAPI
  1122. GdipGetInterpolationMode(GpGraphics *graphics,
  1123. InterpolationMode *interpolationMode);
  1124. GpStatus WINGDIPAPI
  1125. GdipSetWorldTransform(GpGraphics *graphics, GpMatrix *matrix);
  1126. GpStatus WINGDIPAPI
  1127. GdipResetWorldTransform(GpGraphics *graphics);
  1128. GpStatus WINGDIPAPI
  1129. GdipMultiplyWorldTransform(GpGraphics *graphics, GDIPCONST GpMatrix *matrix,
  1130. GpMatrixOrder order);
  1131. GpStatus WINGDIPAPI
  1132. GdipTranslateWorldTransform(GpGraphics *graphics, REAL dx, REAL dy,
  1133. GpMatrixOrder order);
  1134. GpStatus WINGDIPAPI
  1135. GdipScaleWorldTransform(GpGraphics *graphics, REAL sx, REAL sy,
  1136. GpMatrixOrder order);
  1137. GpStatus WINGDIPAPI
  1138. GdipRotateWorldTransform(GpGraphics *graphics, REAL angle,
  1139. GpMatrixOrder order);
  1140. GpStatus WINGDIPAPI
  1141. GdipGetWorldTransform(GpGraphics *graphics, GpMatrix *matrix);
  1142. GpStatus WINGDIPAPI
  1143. GdipResetPageTransform(GpGraphics *graphics);
  1144. GpStatus WINGDIPAPI
  1145. GdipGetPageUnit(GpGraphics *graphics, GpUnit *unit);
  1146. GpStatus WINGDIPAPI
  1147. GdipGetPageScale(GpGraphics *graphics, REAL *scale);
  1148. GpStatus WINGDIPAPI
  1149. GdipSetPageUnit(GpGraphics *graphics, GpUnit unit);
  1150. GpStatus WINGDIPAPI
  1151. GdipSetPageScale(GpGraphics *graphics, REAL scale);
  1152. GpStatus WINGDIPAPI
  1153. GdipGetDpiX(GpGraphics *graphics, REAL* dpi);
  1154. GpStatus WINGDIPAPI
  1155. GdipGetDpiY(GpGraphics *graphics, REAL* dpi);
  1156. GpStatus WINGDIPAPI
  1157. GdipTransformPoints(GpGraphics *graphics, GpCoordinateSpace destSpace,
  1158. GpCoordinateSpace srcSpace, GpPointF *points,
  1159. INT count);
  1160. GpStatus WINGDIPAPI
  1161. GdipTransformPointsI(GpGraphics *graphics, GpCoordinateSpace destSpace,
  1162. GpCoordinateSpace srcSpace, GpPoint *points,
  1163. INT count);
  1164. GpStatus WINGDIPAPI
  1165. GdipGetNearestColor(GpGraphics *graphics, ARGB* argb);
  1166. // Creates the Win9x Halftone Palette (even on NT) with correct Desktop colors
  1167. HPALETTE WINGDIPAPI
  1168. GdipCreateHalftonePalette();
  1169. GpStatus WINGDIPAPI
  1170. GdipDrawLine(GpGraphics *graphics, GpPen *pen, REAL x1, REAL y1,
  1171. REAL x2, REAL y2);
  1172. GpStatus WINGDIPAPI
  1173. GdipDrawLineI(GpGraphics *graphics, GpPen *pen, INT x1, INT y1,
  1174. INT x2, INT y2);
  1175. GpStatus WINGDIPAPI
  1176. GdipDrawLines(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPointF *points,
  1177. INT count);
  1178. GpStatus WINGDIPAPI
  1179. GdipDrawLinesI(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPoint *points,
  1180. INT count);
  1181. GpStatus WINGDIPAPI
  1182. GdipDrawArc(GpGraphics *graphics, GpPen *pen, REAL x, REAL y,
  1183. REAL width, REAL height, REAL startAngle, REAL sweepAngle);
  1184. GpStatus WINGDIPAPI
  1185. GdipDrawArcI(GpGraphics *graphics, GpPen *pen, INT x, INT y,
  1186. INT width, INT height, REAL startAngle, REAL sweepAngle);
  1187. GpStatus WINGDIPAPI
  1188. GdipDrawBezier(GpGraphics *graphics, GpPen *pen, REAL x1, REAL y1,
  1189. REAL x2, REAL y2, REAL x3, REAL y3, REAL x4, REAL y4);
  1190. GpStatus WINGDIPAPI
  1191. GdipDrawBezierI(GpGraphics *graphics, GpPen *pen, INT x1, INT y1,
  1192. INT x2, INT y2, INT x3, INT y3, INT x4, INT y4);
  1193. GpStatus WINGDIPAPI
  1194. GdipDrawBeziers(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPointF *points,
  1195. INT count);
  1196. GpStatus WINGDIPAPI
  1197. GdipDrawBeziersI(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPoint *points,
  1198. INT count);
  1199. GpStatus WINGDIPAPI
  1200. GdipDrawRectangle(GpGraphics *graphics, GpPen *pen, REAL x, REAL y,
  1201. REAL width, REAL height);
  1202. GpStatus WINGDIPAPI
  1203. GdipDrawRectangleI(GpGraphics *graphics, GpPen *pen, INT x, INT y,
  1204. INT width, INT height);
  1205. GpStatus WINGDIPAPI
  1206. GdipDrawRectangles(GpGraphics *graphics, GpPen *pen, GDIPCONST GpRectF *rects,
  1207. INT count);
  1208. GpStatus WINGDIPAPI
  1209. GdipDrawRectanglesI(GpGraphics *graphics, GpPen *pen, GDIPCONST GpRect *rects,
  1210. INT count);
  1211. GpStatus WINGDIPAPI
  1212. GdipDrawEllipse(GpGraphics *graphics, GpPen *pen, REAL x, REAL y,
  1213. REAL width, REAL height);
  1214. GpStatus WINGDIPAPI
  1215. GdipDrawEllipseI(GpGraphics *graphics, GpPen *pen, INT x, INT y,
  1216. INT width, INT height);
  1217. GpStatus WINGDIPAPI
  1218. GdipDrawPie(GpGraphics *graphics, GpPen *pen, REAL x, REAL y,
  1219. REAL width, REAL height, REAL startAngle,
  1220. REAL sweepAngle);
  1221. GpStatus WINGDIPAPI
  1222. GdipDrawPieI(GpGraphics *graphics, GpPen *pen, INT x, INT y,
  1223. INT width, INT height, REAL startAngle, REAL sweepAngle);
  1224. GpStatus WINGDIPAPI
  1225. GdipDrawPolygon(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPointF *points,
  1226. INT count);
  1227. GpStatus WINGDIPAPI
  1228. GdipDrawPolygonI(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPoint *points,
  1229. INT count);
  1230. GpStatus WINGDIPAPI
  1231. GdipDrawPath(GpGraphics *graphics, GpPen *pen, GpPath *path);
  1232. GpStatus WINGDIPAPI
  1233. GdipDrawCurve(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPointF *points,
  1234. INT count);
  1235. GpStatus WINGDIPAPI
  1236. GdipDrawCurveI(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPoint *points,
  1237. INT count);
  1238. GpStatus WINGDIPAPI
  1239. GdipDrawCurve2(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPointF *points,
  1240. INT count, REAL tension);
  1241. GpStatus WINGDIPAPI
  1242. GdipDrawCurve2I(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPoint *points,
  1243. INT count, REAL tension);
  1244. GpStatus WINGDIPAPI
  1245. GdipDrawCurve3(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPointF *points,
  1246. INT count, INT offset, INT numberOfSegments, REAL tension);
  1247. GpStatus WINGDIPAPI
  1248. GdipDrawCurve3I(GpGraphics *graphics, GpPen *pen, GDIPCONST GpPoint *points,
  1249. INT count, INT offset, INT numberOfSegments, REAL tension);
  1250. GpStatus WINGDIPAPI
  1251. GdipDrawClosedCurve(GpGraphics *graphics, GpPen *pen,
  1252. GDIPCONST GpPointF *points, INT count);
  1253. GpStatus WINGDIPAPI
  1254. GdipDrawClosedCurveI(GpGraphics *graphics, GpPen *pen,
  1255. GDIPCONST GpPoint *points, INT count);
  1256. GpStatus WINGDIPAPI
  1257. GdipDrawClosedCurve2(GpGraphics *graphics, GpPen *pen,
  1258. GDIPCONST GpPointF *points, INT count, REAL tension);
  1259. GpStatus WINGDIPAPI
  1260. GdipDrawClosedCurve2I(GpGraphics *graphics, GpPen *pen,
  1261. GDIPCONST GpPoint *points, INT count, REAL tension);
  1262. GpStatus WINGDIPAPI
  1263. GdipGraphicsClear(GpGraphics *graphics, ARGB color);
  1264. GpStatus WINGDIPAPI
  1265. GdipFillRectangle(GpGraphics *graphics, GpBrush *brush, REAL x, REAL y,
  1266. REAL width, REAL height);
  1267. GpStatus WINGDIPAPI
  1268. GdipFillRectangleI(GpGraphics *graphics, GpBrush *brush, INT x, INT y,
  1269. INT width, INT height);
  1270. GpStatus WINGDIPAPI
  1271. GdipFillRectangles(GpGraphics *graphics, GpBrush *brush,
  1272. GDIPCONST GpRectF *rects, INT count);
  1273. GpStatus WINGDIPAPI
  1274. GdipFillRectanglesI(GpGraphics *graphics, GpBrush *brush,
  1275. GDIPCONST GpRect *rects, INT count);
  1276. GpStatus WINGDIPAPI
  1277. GdipFillPolygon(GpGraphics *graphics, GpBrush *brush,
  1278. GDIPCONST GpPointF *points, INT count, GpFillMode fillMode);
  1279. GpStatus WINGDIPAPI
  1280. GdipFillPolygonI(GpGraphics *graphics, GpBrush *brush,
  1281. GDIPCONST GpPoint *points, INT count, GpFillMode fillMode);
  1282. GpStatus WINGDIPAPI
  1283. GdipFillPolygon2(GpGraphics *graphics, GpBrush *brush,
  1284. GDIPCONST GpPointF *points, INT count);
  1285. GpStatus WINGDIPAPI
  1286. GdipFillPolygon2I(GpGraphics *graphics, GpBrush *brush,
  1287. GDIPCONST GpPoint *points, INT count);
  1288. GpStatus WINGDIPAPI
  1289. GdipFillEllipse(GpGraphics *graphics, GpBrush *brush, REAL x, REAL y,
  1290. REAL width, REAL height);
  1291. GpStatus WINGDIPAPI
  1292. GdipFillEllipseI(GpGraphics *graphics, GpBrush *brush, INT x, INT y,
  1293. INT width, INT height);
  1294. GpStatus WINGDIPAPI
  1295. GdipFillPie(GpGraphics *graphics, GpBrush *brush, REAL x, REAL y,
  1296. REAL width, REAL height, REAL startAngle, REAL sweepAngle);
  1297. GpStatus WINGDIPAPI
  1298. GdipFillPieI(GpGraphics *graphics, GpBrush *brush, INT x, INT y,
  1299. INT width, INT height, REAL startAngle, REAL sweepAngle);
  1300. GpStatus WINGDIPAPI
  1301. GdipFillPath(GpGraphics *graphics, GpBrush *brush, GpPath *path);
  1302. GpStatus WINGDIPAPI
  1303. GdipFillClosedCurve(GpGraphics *graphics, GpBrush *brush,
  1304. GDIPCONST GpPointF *points, INT count);
  1305. GpStatus WINGDIPAPI
  1306. GdipFillClosedCurveI(GpGraphics *graphics, GpBrush *brush,
  1307. GDIPCONST GpPoint *points, INT count);
  1308. GpStatus WINGDIPAPI
  1309. GdipFillClosedCurve2(GpGraphics *graphics, GpBrush *brush,
  1310. GDIPCONST GpPointF *points, INT count,
  1311. REAL tension, GpFillMode fillMode);
  1312. GpStatus WINGDIPAPI
  1313. GdipFillClosedCurve2I(GpGraphics *graphics, GpBrush *brush,
  1314. GDIPCONST GpPoint *points, INT count,
  1315. REAL tension, GpFillMode fillMode);
  1316. GpStatus WINGDIPAPI
  1317. GdipFillRegion(GpGraphics *graphics, GpBrush *brush,
  1318. GpRegion *region);
  1319. GpStatus WINGDIPAPI
  1320. GdipDrawImage(GpGraphics *graphics, GpImage *image, REAL x, REAL y);
  1321. GpStatus WINGDIPAPI
  1322. GdipDrawImageI(GpGraphics *graphics, GpImage *image, INT x, INT y);
  1323. GpStatus WINGDIPAPI
  1324. GdipDrawImageRect(GpGraphics *graphics, GpImage *image, REAL x, REAL y,
  1325. REAL width, REAL height);
  1326. GpStatus WINGDIPAPI
  1327. GdipDrawImageRectI(GpGraphics *graphics, GpImage *image, INT x, INT y,
  1328. INT width, INT height);
  1329. GpStatus WINGDIPAPI
  1330. GdipDrawImagePoints(GpGraphics *graphics, GpImage *image,
  1331. GDIPCONST GpPointF *dstpoints, INT count);
  1332. GpStatus WINGDIPAPI
  1333. GdipDrawImagePointsI(GpGraphics *graphics, GpImage *image,
  1334. GDIPCONST GpPoint *dstpoints, INT count);
  1335. GpStatus WINGDIPAPI
  1336. GdipDrawImagePointRect(GpGraphics *graphics, GpImage *image, REAL x,
  1337. REAL y, REAL srcx, REAL srcy, REAL srcwidth,
  1338. REAL srcheight, GpUnit srcUnit);
  1339. GpStatus WINGDIPAPI
  1340. GdipDrawImagePointRectI(GpGraphics *graphics, GpImage *image, INT x,
  1341. INT y, INT srcx, INT srcy, INT srcwidth,
  1342. INT srcheight, GpUnit srcUnit);
  1343. GpStatus WINGDIPAPI
  1344. GdipDrawImageRectRect(GpGraphics *graphics, GpImage *image, REAL dstx,
  1345. REAL dsty, REAL dstwidth, REAL dstheight,
  1346. REAL srcx, REAL srcy, REAL srcwidth, REAL srcheight,
  1347. GpUnit srcUnit,
  1348. GDIPCONST GpImageAttributes* imageAttributes,
  1349. DrawImageAbort callback, VOID * callbackData);
  1350. GpStatus WINGDIPAPI
  1351. GdipDrawImageRectRectI(GpGraphics *graphics, GpImage *image, INT dstx,
  1352. INT dsty, INT dstwidth, INT dstheight,
  1353. INT srcx, INT srcy, INT srcwidth, INT srcheight,
  1354. GpUnit srcUnit,
  1355. GDIPCONST GpImageAttributes* imageAttributes,
  1356. DrawImageAbort callback, VOID * callbackData);
  1357. GpStatus WINGDIPAPI
  1358. GdipDrawImagePointsRect(GpGraphics *graphics, GpImage *image,
  1359. GDIPCONST GpPointF *points, INT count, REAL srcx,
  1360. REAL srcy, REAL srcwidth, REAL srcheight,
  1361. GpUnit srcUnit,
  1362. GDIPCONST GpImageAttributes* imageAttributes,
  1363. DrawImageAbort callback, VOID * callbackData);
  1364. GpStatus WINGDIPAPI
  1365. GdipDrawImagePointsRectI(GpGraphics *graphics, GpImage *image,
  1366. GDIPCONST GpPoint *points, INT count, INT srcx,
  1367. INT srcy, INT srcwidth, INT srcheight,
  1368. GpUnit srcUnit,
  1369. GDIPCONST GpImageAttributes* imageAttributes,
  1370. DrawImageAbort callback, VOID * callbackData);
  1371. GpStatus WINGDIPAPI
  1372. GdipEnumerateMetafileDestPoint(
  1373. GpGraphics * graphics,
  1374. GDIPCONST GpMetafile * metafile,
  1375. GDIPCONST PointF & destPoint,
  1376. EnumerateMetafileProc callback,
  1377. VOID * callbackData,
  1378. GDIPCONST GpImageAttributes * imageAttributes
  1379. );
  1380. GpStatus WINGDIPAPI
  1381. GdipEnumerateMetafileDestPointI(
  1382. GpGraphics * graphics,
  1383. GDIPCONST GpMetafile * metafile,
  1384. GDIPCONST Point & destPoint,
  1385. EnumerateMetafileProc callback,
  1386. VOID * callbackData,
  1387. GDIPCONST GpImageAttributes * imageAttributes
  1388. );
  1389. GpStatus WINGDIPAPI
  1390. GdipEnumerateMetafileDestRect(
  1391. GpGraphics * graphics,
  1392. GDIPCONST GpMetafile * metafile,
  1393. GDIPCONST RectF & destRect,
  1394. EnumerateMetafileProc callback,
  1395. VOID * callbackData,
  1396. GDIPCONST GpImageAttributes * imageAttributes
  1397. );
  1398. GpStatus WINGDIPAPI
  1399. GdipEnumerateMetafileDestRectI(
  1400. GpGraphics * graphics,
  1401. GDIPCONST GpMetafile * metafile,
  1402. GDIPCONST Rect & destRect,
  1403. EnumerateMetafileProc callback,
  1404. VOID * callbackData,
  1405. GDIPCONST GpImageAttributes * imageAttributes
  1406. );
  1407. GpStatus WINGDIPAPI
  1408. GdipEnumerateMetafileDestPoints(
  1409. GpGraphics * graphics,
  1410. GDIPCONST GpMetafile * metafile,
  1411. GDIPCONST PointF * destPoints,
  1412. INT count,
  1413. EnumerateMetafileProc callback,
  1414. VOID * callbackData,
  1415. GDIPCONST GpImageAttributes * imageAttributes
  1416. );
  1417. GpStatus WINGDIPAPI
  1418. GdipEnumerateMetafileDestPointsI(
  1419. GpGraphics * graphics,
  1420. GDIPCONST GpMetafile * metafile,
  1421. GDIPCONST Point * destPoints,
  1422. INT count,
  1423. EnumerateMetafileProc callback,
  1424. VOID * callbackData,
  1425. GDIPCONST GpImageAttributes * imageAttributes
  1426. );
  1427. GpStatus WINGDIPAPI
  1428. GdipEnumerateMetafileSrcRectDestPoint(
  1429. GpGraphics * graphics,
  1430. GDIPCONST GpMetafile * metafile,
  1431. GDIPCONST PointF & destPoint,
  1432. GDIPCONST RectF & srcRect,
  1433. Unit srcUnit,
  1434. EnumerateMetafileProc callback,
  1435. VOID * callbackData,
  1436. GDIPCONST GpImageAttributes * imageAttributes
  1437. );
  1438. GpStatus WINGDIPAPI
  1439. GdipEnumerateMetafileSrcRectDestPointI(
  1440. GpGraphics * graphics,
  1441. GDIPCONST GpMetafile * metafile,
  1442. GDIPCONST Point & destPoint,
  1443. GDIPCONST Rect & srcRect,
  1444. Unit srcUnit,
  1445. EnumerateMetafileProc callback,
  1446. VOID * callbackData,
  1447. GDIPCONST GpImageAttributes * imageAttributes
  1448. );
  1449. GpStatus WINGDIPAPI
  1450. GdipEnumerateMetafileSrcRectDestRect(
  1451. GpGraphics * graphics,
  1452. GDIPCONST GpMetafile * metafile,
  1453. GDIPCONST RectF & destRect,
  1454. GDIPCONST RectF & srcRect,
  1455. Unit srcUnit,
  1456. EnumerateMetafileProc callback,
  1457. VOID * callbackData,
  1458. GDIPCONST GpImageAttributes * imageAttributes
  1459. );
  1460. GpStatus WINGDIPAPI
  1461. GdipEnumerateMetafileSrcRectDestRectI(
  1462. GpGraphics * graphics,
  1463. GDIPCONST GpMetafile * metafile,
  1464. GDIPCONST Rect & destRect,
  1465. GDIPCONST Rect & srcRect,
  1466. Unit srcUnit,
  1467. EnumerateMetafileProc callback,
  1468. VOID * callbackData,
  1469. GDIPCONST GpImageAttributes * imageAttributes
  1470. );
  1471. GpStatus WINGDIPAPI
  1472. GdipEnumerateMetafileSrcRectDestPoints(
  1473. GpGraphics * graphics,
  1474. GDIPCONST GpMetafile * metafile,
  1475. GDIPCONST PointF * destPoints,
  1476. INT count,
  1477. GDIPCONST RectF & srcRect,
  1478. Unit srcUnit,
  1479. EnumerateMetafileProc callback,
  1480. VOID * callbackData,
  1481. GDIPCONST GpImageAttributes * imageAttributes
  1482. );
  1483. GpStatus WINGDIPAPI
  1484. GdipEnumerateMetafileSrcRectDestPointsI(
  1485. GpGraphics * graphics,
  1486. GDIPCONST GpMetafile * metafile,
  1487. GDIPCONST Point * destPoints,
  1488. INT count,
  1489. GDIPCONST Rect & srcRect,
  1490. Unit srcUnit,
  1491. EnumerateMetafileProc callback,
  1492. VOID * callbackData,
  1493. GDIPCONST GpImageAttributes * imageAttributes
  1494. );
  1495. GpStatus WINGDIPAPI
  1496. GdipPlayMetafileRecord(
  1497. GDIPCONST GpMetafile * metafile,
  1498. EmfPlusRecordType recordType,
  1499. UINT flags,
  1500. UINT dataSize,
  1501. GDIPCONST BYTE * data
  1502. );
  1503. GpStatus WINGDIPAPI
  1504. GdipSetClipGraphics(GpGraphics *graphics, GpGraphics *srcgraphics,
  1505. CombineMode combineMode);
  1506. GpStatus WINGDIPAPI
  1507. GdipSetClipRect(GpGraphics *graphics, REAL x, REAL y,
  1508. REAL width, REAL height, CombineMode combineMode);
  1509. GpStatus WINGDIPAPI
  1510. GdipSetClipRectI(GpGraphics *graphics, INT x, INT y,
  1511. INT width, INT height, CombineMode combineMode);
  1512. GpStatus WINGDIPAPI
  1513. GdipSetClipPath(GpGraphics *graphics, GpPath *path, CombineMode combineMode);
  1514. GpStatus WINGDIPAPI
  1515. GdipSetClipRegion(GpGraphics *graphics, GpRegion *region,
  1516. CombineMode combineMode);
  1517. GpStatus WINGDIPAPI
  1518. GdipSetClipHrgn(GpGraphics *graphics, HRGN hRgn, CombineMode combineMode);
  1519. GpStatus WINGDIPAPI
  1520. GdipResetClip(GpGraphics *graphics);
  1521. GpStatus WINGDIPAPI
  1522. GdipTranslateClip(GpGraphics *graphics, REAL dx, REAL dy);
  1523. GpStatus WINGDIPAPI
  1524. GdipTranslateClipI(GpGraphics *graphics, INT dx, INT dy);
  1525. GpStatus WINGDIPAPI
  1526. GdipGetClip(GpGraphics *graphics, GpRegion *region);
  1527. GpStatus WINGDIPAPI
  1528. GdipGetClipBounds(GpGraphics *graphics, GpRectF *rect);
  1529. GpStatus WINGDIPAPI
  1530. GdipGetClipBoundsI(GpGraphics *graphics, GpRect *rect);
  1531. GpStatus WINGDIPAPI
  1532. GdipIsClipEmpty(GpGraphics *graphics, BOOL *result);
  1533. GpStatus WINGDIPAPI
  1534. GdipGetVisibleClipBounds(GpGraphics *graphics, GpRectF *rect);
  1535. GpStatus WINGDIPAPI
  1536. GdipGetVisibleClipBoundsI(GpGraphics *graphics, GpRect *rect);
  1537. GpStatus WINGDIPAPI
  1538. GdipIsVisibleClipEmpty(GpGraphics *graphics, BOOL *result);
  1539. GpStatus WINGDIPAPI
  1540. GdipIsVisiblePoint(GpGraphics *graphics, REAL x, REAL y,
  1541. BOOL *result);
  1542. GpStatus WINGDIPAPI
  1543. GdipIsVisiblePointI(GpGraphics *graphics, INT x, INT y,
  1544. BOOL *result);
  1545. GpStatus WINGDIPAPI
  1546. GdipIsVisibleRect(GpGraphics *graphics, REAL x, REAL y,
  1547. REAL width, REAL height, BOOL *result);
  1548. GpStatus WINGDIPAPI
  1549. GdipIsVisibleRectI(GpGraphics *graphics, INT x, INT y,
  1550. INT width, INT height, BOOL *result);
  1551. GpStatus WINGDIPAPI
  1552. GdipSaveGraphics(GpGraphics *graphics, GraphicsState *state);
  1553. GpStatus WINGDIPAPI
  1554. GdipRestoreGraphics(GpGraphics *graphics, GraphicsState state);
  1555. GpStatus WINGDIPAPI
  1556. GdipBeginContainer(GpGraphics *graphics, GDIPCONST GpRectF* dstrect,
  1557. GDIPCONST GpRectF *srcrect, GpUnit unit,
  1558. GraphicsContainer *state);
  1559. GpStatus WINGDIPAPI
  1560. GdipBeginContainerI(GpGraphics *graphics, GDIPCONST GpRect* dstrect,
  1561. GDIPCONST GpRect *srcrect, GpUnit unit,
  1562. GraphicsContainer *state);
  1563. GpStatus WINGDIPAPI
  1564. GdipBeginContainer2(GpGraphics *graphics, GraphicsContainer* state);
  1565. GpStatus WINGDIPAPI
  1566. GdipEndContainer(GpGraphics *graphics, GraphicsContainer state);
  1567. GpStatus
  1568. GdipGetMetafileHeaderFromWmf(
  1569. HMETAFILE hWmf,
  1570. GDIPCONST WmfPlaceableFileHeader * wmfPlaceableFileHeader,
  1571. MetafileHeader * header
  1572. );
  1573. GpStatus
  1574. WINGDIPAPI
  1575. GdipGetMetafileHeaderFromEmf(
  1576. HENHMETAFILE hEmf,
  1577. MetafileHeader * header
  1578. );
  1579. GpStatus
  1580. WINGDIPAPI
  1581. GdipGetMetafileHeaderFromFile(
  1582. GDIPCONST WCHAR* filename,
  1583. MetafileHeader * header
  1584. );
  1585. GpStatus
  1586. WINGDIPAPI
  1587. GdipGetMetafileHeaderFromStream(
  1588. IStream * stream,
  1589. MetafileHeader * header
  1590. );
  1591. GpStatus
  1592. WINGDIPAPI
  1593. GdipGetMetafileHeaderFromMetafile(
  1594. GpMetafile * metafile,
  1595. MetafileHeader * header
  1596. );
  1597. GpStatus
  1598. WINGDIPAPI
  1599. GdipGetHemfFromMetafile(
  1600. GpMetafile * metafile,
  1601. HENHMETAFILE * hEmf
  1602. );
  1603. GpStatus WINGDIPAPI
  1604. GdipCreateStreamOnFile(GDIPCONST WCHAR * filename, UINT access,
  1605. IStream **stream);
  1606. GpStatus WINGDIPAPI
  1607. GdipCreateMetafileFromWmf(HMETAFILE hWmf, BOOL deleteWmf,
  1608. GDIPCONST WmfPlaceableFileHeader * wmfPlaceableFileHeader,
  1609. GpMetafile **metafile);
  1610. GpStatus WINGDIPAPI
  1611. GdipCreateMetafileFromEmf(HENHMETAFILE hEmf, BOOL deleteEmf,
  1612. GpMetafile **metafile);
  1613. GpStatus WINGDIPAPI
  1614. GdipCreateMetafileFromFile(GDIPCONST WCHAR* file, GpMetafile **metafile);
  1615. GpStatus WINGDIPAPI
  1616. GdipCreateMetafileFromWmfFile(GDIPCONST WCHAR* file,
  1617. GDIPCONST WmfPlaceableFileHeader * wmfPlaceableFileHeader,
  1618. GpMetafile **metafile);
  1619. GpStatus WINGDIPAPI
  1620. GdipCreateMetafileFromStream(IStream * stream, GpMetafile **metafile);
  1621. GpStatus WINGDIPAPI
  1622. GdipRecordMetafile(
  1623. HDC referenceHdc,
  1624. EmfType type,
  1625. GDIPCONST GpRectF * frameRect,
  1626. MetafileFrameUnit frameUnit,
  1627. GDIPCONST WCHAR * description,
  1628. GpMetafile ** metafile
  1629. );
  1630. GpStatus WINGDIPAPI
  1631. GdipRecordMetafileI(
  1632. HDC referenceHdc,
  1633. EmfType type,
  1634. GDIPCONST GpRect * frameRect,
  1635. MetafileFrameUnit frameUnit,
  1636. GDIPCONST WCHAR * description,
  1637. GpMetafile ** metafile
  1638. );
  1639. GpStatus WINGDIPAPI
  1640. GdipRecordMetafileFileName(
  1641. GDIPCONST WCHAR* fileName,
  1642. HDC referenceHdc,
  1643. EmfType type,
  1644. GDIPCONST GpRectF * frameRect,
  1645. MetafileFrameUnit frameUnit,
  1646. GDIPCONST WCHAR * description,
  1647. GpMetafile ** metafile
  1648. );
  1649. GpStatus WINGDIPAPI
  1650. GdipRecordMetafileFileNameI(
  1651. GDIPCONST WCHAR* fileName,
  1652. HDC referenceHdc,
  1653. EmfType type,
  1654. GDIPCONST GpRect * frameRect,
  1655. MetafileFrameUnit frameUnit,
  1656. GDIPCONST WCHAR * description,
  1657. GpMetafile ** metafile
  1658. );
  1659. GpStatus WINGDIPAPI
  1660. GdipRecordMetafileStream(
  1661. IStream * stream,
  1662. HDC referenceHdc,
  1663. EmfType type,
  1664. GDIPCONST GpRectF * frameRect,
  1665. MetafileFrameUnit frameUnit,
  1666. GDIPCONST WCHAR * description,
  1667. GpMetafile ** metafile
  1668. );
  1669. GpStatus WINGDIPAPI
  1670. GdipRecordMetafileStreamI(
  1671. IStream * stream,
  1672. HDC referenceHdc,
  1673. EmfType type,
  1674. GDIPCONST GpRect * frameRect,
  1675. MetafileFrameUnit frameUnit,
  1676. GDIPCONST WCHAR * description,
  1677. GpMetafile ** metafile
  1678. );
  1679. GpStatus WINGDIPAPI
  1680. GdipSetMetafileDownLevelRasterizationLimit(
  1681. GpMetafile * metafile,
  1682. UINT metafileRasterizationLimitDpi
  1683. );
  1684. GpStatus WINGDIPAPI
  1685. GdipGetMetafileDownLevelRasterizationLimit(
  1686. GDIPCONST GpMetafile * metafile,
  1687. UINT * metafileRasterizationLimitDpi
  1688. );
  1689. GpStatus WINGDIPAPI
  1690. GdipGetImageDecodersSize(UINT *numDecoders, UINT *size);
  1691. GpStatus WINGDIPAPI
  1692. GdipGetImageDecoders(UINT numDecoders,
  1693. UINT size,
  1694. ImageCodecInfo *decoders);
  1695. GpStatus WINGDIPAPI
  1696. GdipGetImageEncodersSize(UINT *numEncoders, UINT *size);
  1697. GpStatus WINGDIPAPI
  1698. GdipGetImageEncoders(UINT numEncoders,
  1699. UINT size,
  1700. ImageCodecInfo *encoders);
  1701. GpStatus WINGDIPAPI
  1702. GdipComment(GpGraphics* graphics, UINT sizeData, GDIPCONST BYTE * data);
  1703. //----------------------------------------------------------------------------
  1704. // FontFamily APIs
  1705. //----------------------------------------------------------------------------
  1706. GpStatus WINGDIPAPI
  1707. GdipCreateFontFamilyFromName(GDIPCONST WCHAR *name,
  1708. GpFontCollection *fontCollection,
  1709. GpFontFamily **FontFamily);
  1710. GpStatus WINGDIPAPI
  1711. GdipDeleteFontFamily(GpFontFamily *FontFamily);
  1712. GpStatus WINGDIPAPI
  1713. GdipCloneFontFamily(GpFontFamily *FontFamily, GpFontFamily **clonedFontFamily);
  1714. GpStatus WINGDIPAPI
  1715. GdipGetGenericFontFamilySansSerif(GpFontFamily **nativeFamily);
  1716. GpStatus WINGDIPAPI
  1717. GdipGetGenericFontFamilySerif(GpFontFamily **nativeFamily);
  1718. GpStatus WINGDIPAPI
  1719. GdipGetGenericFontFamilyMonospace(GpFontFamily **nativeFamily);
  1720. GpStatus WINGDIPAPI
  1721. GdipGetFamilyName(
  1722. GDIPCONST GpFontFamily *family,
  1723. WCHAR name[LF_FACESIZE],
  1724. LANGID language
  1725. );
  1726. GpStatus WINGDIPAPI
  1727. GdipIsStyleAvailable(GDIPCONST GpFontFamily *family, INT style,
  1728. BOOL * IsStyleAvailable);
  1729. GpStatus WINGDIPAPI
  1730. GdipFontCollectionEnumerable(
  1731. GpFontCollection* fontCollection,
  1732. GpGraphics* graphics,
  1733. INT * numFound
  1734. );
  1735. GpStatus WINGDIPAPI GdipFontCollectionEnumerate(
  1736. GpFontCollection* fontCollection,
  1737. INT numSought,
  1738. GpFontFamily* gpfamilies[],
  1739. INT* numFound,
  1740. GpGraphics* graphics
  1741. );
  1742. GpStatus WINGDIPAPI
  1743. GdipGetEmHeight(GDIPCONST GpFontFamily *family, INT style,
  1744. UINT16 * EmHeight);
  1745. GpStatus WINGDIPAPI
  1746. GdipGetCellAscent(GDIPCONST GpFontFamily *family, INT style,
  1747. UINT16 * CellAscent);
  1748. GpStatus WINGDIPAPI
  1749. GdipGetCellDescent(GDIPCONST GpFontFamily *family, INT style,
  1750. UINT16 * CellDescent);
  1751. GpStatus WINGDIPAPI
  1752. GdipGetLineSpacing(GDIPCONST GpFontFamily *family, INT style,
  1753. UINT16 * LineSpacing);
  1754. //----------------------------------------------------------------------------
  1755. // Font APIs
  1756. //----------------------------------------------------------------------------
  1757. GpStatus WINGDIPAPI
  1758. GdipCreateFontFromDC(
  1759. HDC hdc,
  1760. GpFont **font
  1761. );
  1762. GpStatus WINGDIPAPI
  1763. GdipCreateFontFromLogfontA(
  1764. HDC hdc,
  1765. GDIPCONST LOGFONTA *logfont,
  1766. GpFont **font
  1767. );
  1768. GpStatus WINGDIPAPI
  1769. GdipCreateFontFromLogfontW(
  1770. HDC hdc,
  1771. GDIPCONST LOGFONTW *logfont,
  1772. GpFont **font
  1773. );
  1774. GpStatus WINGDIPAPI
  1775. GdipCreateFont(
  1776. GDIPCONST GpFontFamily *fontFamily,
  1777. REAL emSize,
  1778. INT style,
  1779. Unit unit,
  1780. GpFont **font
  1781. );
  1782. GpStatus WINGDIPAPI
  1783. GdipCloneFont(GpFont* font, GpFont** cloneFont);
  1784. GpStatus WINGDIPAPI
  1785. GdipDeleteFont(GpFont* font);
  1786. GpStatus WINGDIPAPI
  1787. GdipGetFamily(GpFont *font, GpFontFamily **family);
  1788. GpStatus WINGDIPAPI
  1789. GdipGetFontStyle(GpFont *font, INT *style);
  1790. GpStatus WINGDIPAPI
  1791. GdipGetFontSize(GpFont *font, REAL *size);
  1792. GpStatus WINGDIPAPI
  1793. GdipGetFontUnit(GpFont *font, Unit *unit);
  1794. GpStatus WINGDIPAPI
  1795. GdipGetFontHeight(GDIPCONST GpFont *font, GDIPCONST GpGraphics *graphics,
  1796. REAL *height);
  1797. GpStatus WINGDIPAPI
  1798. GdipGetFontHeightGivenDPI(GDIPCONST GpFont *font, REAL dpi, REAL *height);
  1799. GpStatus WINGDIPAPI
  1800. GdipGetLogFontA(GpFont * font, GpGraphics *graphics, LOGFONTA * logfontA);
  1801. GpStatus WINGDIPAPI
  1802. GdipGetLogFontW(GpFont * font, GpGraphics *graphics, LOGFONTW * logfontW);
  1803. GpStatus WINGDIPAPI
  1804. GdipNewInstalledFontCollection(GpFontCollection** fontCollection);
  1805. GpStatus WINGDIPAPI
  1806. GdipNewPrivateFontCollection(GpFontCollection** fontCollection);
  1807. GpStatus WINGDIPAPI
  1808. GdipDeletePrivateFontCollection(GpFontCollection** fontCollection);
  1809. GpStatus WINGDIPAPI
  1810. GdipGetFontCollectionFamilyCount(
  1811. GpFontCollection* fontCollection,
  1812. INT * numFound
  1813. );
  1814. GpStatus WINGDIPAPI
  1815. GdipGetFontCollectionFamilyList(
  1816. GpFontCollection* fontCollection,
  1817. INT numSought,
  1818. GpFontFamily* gpfamilies[],
  1819. INT* numFound
  1820. );
  1821. GpStatus WINGDIPAPI
  1822. GdipPrivateAddFontFile(
  1823. GpFontCollection* fontCollection,
  1824. GDIPCONST WCHAR* filename
  1825. );
  1826. GpStatus WINGDIPAPI
  1827. GdipPrivateAddMemoryFont(
  1828. GpFontCollection* fontCollection,
  1829. GDIPCONST void* memory,
  1830. INT length
  1831. );
  1832. //----------------------------------------------------------------------------
  1833. // Text APIs
  1834. //----------------------------------------------------------------------------
  1835. GpStatus WINGDIPAPI
  1836. GdipDrawString(
  1837. GpGraphics *graphics,
  1838. GDIPCONST WCHAR *string,
  1839. INT length,
  1840. GDIPCONST GpFont *font,
  1841. GDIPCONST RectF *layoutRect,
  1842. GDIPCONST GpStringFormat *stringFormat,
  1843. GDIPCONST GpBrush *brush
  1844. );
  1845. GpStatus WINGDIPAPI
  1846. GdipMeasureString(
  1847. GpGraphics *graphics,
  1848. GDIPCONST WCHAR *string,
  1849. INT length,
  1850. GDIPCONST GpFont *font,
  1851. GDIPCONST RectF *layoutRect,
  1852. GDIPCONST GpStringFormat *stringFormat,
  1853. RectF *boundingBox,
  1854. INT *codepointsFitted,
  1855. INT *linesFilled
  1856. );
  1857. GpStatus
  1858. WINGDIPAPI
  1859. GdipMeasureCharacterRanges(
  1860. GpGraphics *graphics,
  1861. GDIPCONST WCHAR *string,
  1862. INT length,
  1863. GDIPCONST GpFont *font,
  1864. GDIPCONST RectF &layoutRect,
  1865. GDIPCONST GpStringFormat *stringFormat,
  1866. INT regionCount,
  1867. GpRegion **regions
  1868. );
  1869. GpStatus WINGDIPAPI
  1870. GdipDrawDriverString(
  1871. GpGraphics *graphics,
  1872. GDIPCONST UINT16 *text,
  1873. INT length,
  1874. GDIPCONST GpFont *font,
  1875. GDIPCONST GpBrush *brush,
  1876. GDIPCONST PointF *positions,
  1877. INT flags,
  1878. GDIPCONST GpMatrix *matrix
  1879. );
  1880. GpStatus WINGDIPAPI
  1881. GdipMeasureDriverString(
  1882. GpGraphics *graphics,
  1883. GDIPCONST UINT16 *text,
  1884. INT length,
  1885. GDIPCONST GpFont *font,
  1886. GDIPCONST PointF *positions,
  1887. INT flags,
  1888. GDIPCONST GpMatrix *matrix,
  1889. RectF *boundingBox
  1890. );
  1891. //----------------------------------------------------------------------------
  1892. // String format APIs
  1893. //----------------------------------------------------------------------------
  1894. GpStatus WINGDIPAPI
  1895. GdipCreateStringFormat(
  1896. INT formatAttributes,
  1897. LANGID language,
  1898. GpStringFormat **format
  1899. );
  1900. GpStatus WINGDIPAPI
  1901. GdipStringFormatGetGenericDefault(GpStringFormat **format);
  1902. GpStatus WINGDIPAPI
  1903. GdipStringFormatGetGenericTypographic(GpStringFormat **format);
  1904. GpStatus WINGDIPAPI
  1905. GdipDeleteStringFormat(GpStringFormat *format);
  1906. GpStatus WINGDIPAPI
  1907. GdipCloneStringFormat(GDIPCONST GpStringFormat *format,
  1908. GpStringFormat **newFormat);
  1909. GpStatus WINGDIPAPI
  1910. GdipSetStringFormatFlags(GpStringFormat *format, INT flags);
  1911. GpStatus WINGDIPAPI GdipGetStringFormatFlags(GDIPCONST GpStringFormat *format,
  1912. INT *flags);
  1913. GpStatus WINGDIPAPI
  1914. GdipSetStringFormatAlign(GpStringFormat *format, StringAlignment align);
  1915. GpStatus WINGDIPAPI
  1916. GdipGetStringFormatAlign(GDIPCONST GpStringFormat *format,
  1917. StringAlignment *align);
  1918. GpStatus WINGDIPAPI
  1919. GdipSetStringFormatLineAlign(GpStringFormat *format,
  1920. StringAlignment align);
  1921. GpStatus WINGDIPAPI
  1922. GdipGetStringFormatLineAlign(GDIPCONST GpStringFormat *format,
  1923. StringAlignment *align);
  1924. GpStatus WINGDIPAPI
  1925. GdipSetStringFormatTrimming(
  1926. GpStringFormat *format,
  1927. StringTrimming trimming
  1928. );
  1929. GpStatus WINGDIPAPI
  1930. GdipGetStringFormatTrimming(
  1931. GDIPCONST GpStringFormat *format,
  1932. StringTrimming *trimming
  1933. );
  1934. GpStatus WINGDIPAPI
  1935. GdipSetStringFormatHotkeyPrefix(GpStringFormat *format, INT hotkeyPrefix);
  1936. GpStatus WINGDIPAPI
  1937. GdipGetStringFormatHotkeyPrefix(GDIPCONST GpStringFormat *format,
  1938. INT *hotkeyPrefix);
  1939. GpStatus WINGDIPAPI
  1940. GdipSetStringFormatTabStops(GpStringFormat *format, REAL firstTabOffset,
  1941. INT count, GDIPCONST REAL *tabStops);
  1942. GpStatus WINGDIPAPI
  1943. GdipGetStringFormatTabStops(GDIPCONST GpStringFormat *format, INT count,
  1944. REAL *firstTabOffset, REAL *tabStops);
  1945. GpStatus WINGDIPAPI
  1946. GdipGetStringFormatTabStopCount(GDIPCONST GpStringFormat *format, INT * count);
  1947. GpStatus WINGDIPAPI
  1948. GdipSetStringFormatDigitSubstitution(GpStringFormat *format, LANGID language,
  1949. StringDigitSubstitute substitute);
  1950. GpStatus WINGDIPAPI
  1951. GdipGetStringFormatDigitSubstitution(GDIPCONST GpStringFormat *format,
  1952. LANGID *language,
  1953. StringDigitSubstitute *substitute);
  1954. GpStatus WINGDIPAPI
  1955. GdipGetStringFormatMeasurableCharacterRangeCount(
  1956. GDIPCONST GpStringFormat *format,
  1957. INT *count
  1958. );
  1959. GpStatus WINGDIPAPI
  1960. GdipSetStringFormatMeasurableCharacterRanges(
  1961. GpStringFormat *format,
  1962. INT rangeCount,
  1963. GDIPCONST CharacterRange *ranges
  1964. );
  1965. //----------------------------------------------------------------------------
  1966. // Cached Bitmap APIs
  1967. //----------------------------------------------------------------------------
  1968. GpStatus WINGDIPAPI
  1969. GdipCreateCachedBitmap(
  1970. GpBitmap *bitmap,
  1971. GpGraphics *graphics,
  1972. GpCachedBitmap **cachedBitmap
  1973. );
  1974. GpStatus WINGDIPAPI
  1975. GdipDeleteCachedBitmap(GpCachedBitmap *cachedBitmap);
  1976. GpStatus WINGDIPAPI
  1977. GdipDrawCachedBitmap(
  1978. GpGraphics *graphics,
  1979. GpCachedBitmap *cachedBitmap,
  1980. INT x,
  1981. INT y
  1982. );
  1983. UINT WINGDIPAPI
  1984. GdipEmfToWmfBits(
  1985. HENHMETAFILE hemf,
  1986. UINT cbData16,
  1987. LPBYTE pData16,
  1988. INT iMapMode,
  1989. INT eFlags
  1990. );
  1991. GpStatus WINGDIPAPI
  1992. GdipSetImageAttributesCachedBackground(
  1993. GpImageAttributes *imageattr,
  1994. BOOL enableFlag
  1995. );
  1996. GpStatus WINGDIPAPI
  1997. GdipTestControl(
  1998. GpTestControlEnum control,
  1999. void * param
  2000. );
  2001. GpStatus WINAPI
  2002. GdiplusNotificationHook(
  2003. OUT ULONG_PTR *token
  2004. );
  2005. VOID WINAPI
  2006. GdiplusNotificationUnhook(
  2007. ULONG_PTR token
  2008. );
  2009. #ifdef __cplusplus
  2010. }
  2011. #endif
  2012. #endif // !_FLATAPI_H