square.pp 760 B

12345678910111213141516171819202122232425262728
  1. {$linklib ./modules/square.js square}
  2. {$mode objfpc}
  3. {$modeswitch externalclass}
  4. unit square;
  5. interface
  6. uses js, web;
  7. Type
  8. TDrawResult = class external name 'Object' (TJSObject)
  9. length,x,y : Integer;
  10. color : string;
  11. end;
  12. // Square API
  13. var
  14. name : string; external name 'square.name';
  15. function randomsquare(aCtx : TJSCanvasRenderingContext2D) : TDrawResult; external name 'square.default';
  16. function draw(aCtx : TJSCanvasRenderingContext2D; alength,x,y : Integer; color : string) : TDrawResult; external name 'square.draw';
  17. procedure reportArea(length : Integer; ListID : String); external name 'square.reportArea';
  18. procedure reportPerimeter(length : Integer; ListID : String); external name 'square.reportPerimeter';
  19. implementation
  20. end.