webcanvas.pp 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. unit webcanvas;
  2. interface
  3. // These types and constants could go in a unit shared between pas2js and webassembly !
  4. Type
  5. TCanvasError = longint;
  6. TCanvasID = longint;
  7. PCanvasID = ^TCanvasID;
  8. Const
  9. ECANVAS_SUCCESS = 0;
  10. ECANVAS_NOCANVAS = 1;
  11. ECANVAS_UNSPECIFIED = -1;
  12. function __webcanvas_allocate(
  13. SizeX : Longint;
  14. SIzeY : Longint;
  15. aID: PCanvasID
  16. ): TCanvasError; external 'web_canvas' name 'allocate';
  17. function __webcanvas_moveto(
  18. aID : TCanvasID;
  19. X : Longint;
  20. Y : Longint
  21. ): TCanvasError; external 'web_canvas' name 'moveto';
  22. function __webcanvas_lineto(
  23. aID : TCanvasID;
  24. X : Longint;
  25. Y : Longint
  26. ): TCanvasError; external 'web_canvas' name 'lineto';
  27. function __webcanvas_stroke(
  28. aID : TCanvasID
  29. ): TCanvasError; external 'web_canvas' name 'stroke';
  30. function __webcanvas_beginpath(
  31. aID : TCanvasID
  32. ): TCanvasError; external 'web_canvas' name 'beginpath';
  33. function __webcanvas_arc(
  34. aID : TCanvasID;
  35. X : Longint;
  36. Y : Longint;
  37. Radius : Longint;
  38. StartAngle : Double;
  39. EndAngle : Double
  40. ): TCanvasError; external 'web_canvas' name 'arc';
  41. function __webcanvas_fillrect(
  42. aID : TCanvasID;
  43. X : Longint;
  44. Y : Longint;
  45. Width : Longint;
  46. Height : Longint
  47. ): TCanvasError; external 'web_canvas' name 'fillrect';
  48. function __webcanvas_strokerect(
  49. aID : TCanvasID;
  50. X : Longint;
  51. Y : Longint;
  52. Width : Longint;
  53. Height : Longint
  54. ): TCanvasError; external 'web_canvas' name 'strokerect';
  55. function __webcanvas_clearrect(
  56. aID : TCanvasID;
  57. X : Longint;
  58. Y : Longint;
  59. Width : Longint;
  60. Height : Longint
  61. ): TCanvasError; external 'web_canvas' name 'clearrect';
  62. function __webcanvas_stroketext(
  63. aID : TCanvasID;
  64. X : Longint;
  65. Y : Longint;
  66. aText : PByte;
  67. aTextLen : Longint
  68. ): TCanvasError; external 'web_canvas' name 'stroketext';
  69. function __webcanvas_filltext(
  70. aID : TCanvasID;
  71. X : Longint;
  72. Y : Longint;
  73. aText : PByte;
  74. aTextLen : Longint
  75. ): TCanvasError; external 'web_canvas' name 'filltext';
  76. implementation
  77. end.