ucanvas.pas 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. unit uCanvas;
  2. {$mode ObjFPC}
  3. interface
  4. uses
  5. web;
  6. Type
  7. TCreateCanvasResult = record
  8. ctx : TJSCanvasRenderingContext2D;
  9. id : string;
  10. end;
  11. Function create(aID : String; aParent : TJSElement; aWidth,aHeight : integer) : TCreateCanvasResult;
  12. Function createReportList(aID : String) : string ;
  13. Implementation
  14. Function create(aID : String; aParent : TJSElement; aWidth,aHeight : integer) : TCreateCanvasResult;
  15. Var
  16. divWrapper : TJSHTMLElement;
  17. canvasElem : TJSHTMLCanvasElement;
  18. begin
  19. divWrapper:=TJSHTMLElement(document.createElement('div'));
  20. canvasElem:=TJSHTMLCanvasElement(document.createElement('canvas'));
  21. aParent.appendChild(divWrapper);
  22. divWrapper.appendChild(canvasElem);
  23. divWrapper.id:=aid;
  24. canvasElem.width := awidth;
  25. canvasElem.height := aheight;
  26. Result.ctx:=TJSCanvasRenderingContext2D(canvasElem.getContext('2d'));
  27. Result.ID:=aID;
  28. end;
  29. Function createReportList(aID : String) : string ;
  30. Var
  31. aWrapper,aList : TJSHTMLElement;
  32. begin
  33. alist:=TJSHTMLElement(document.createElement('ul'));
  34. alist.id:=aId + '-reporter';
  35. aWrapper:=TJSHTMLElement(document.getElementById(aId));
  36. aWrapper.appendChild(aList);
  37. Result:=aList.id;
  38. end;
  39. end.