Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 
 
 
 

2741 Zeilen
85 KiB

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