pas2js/demo/library/modules/ucanvas.pas
2022-02-08 23:19:59 +01:00

56 lines
1.2 KiB
ObjectPascal

unit uCanvas;
{$mode ObjFPC}
interface
uses
web;
Type
TCreateCanvasResult = record
ctx : TJSCanvasRenderingContext2D;
id : string;
end;
Function create(aID : String; aParent : TJSElement; aWidth,aHeight : integer) : TCreateCanvasResult;
Function createReportList(aID : String) : string ;
Implementation
Function create(aID : String; aParent : TJSElement; aWidth,aHeight : integer) : TCreateCanvasResult;
Var
divWrapper : TJSHTMLElement;
canvasElem : TJSHTMLCanvasElement;
begin
divWrapper:=TJSHTMLElement(document.createElement('div'));
canvasElem:=TJSHTMLCanvasElement(document.createElement('canvas'));
aParent.appendChild(divWrapper);
divWrapper.appendChild(canvasElem);
divWrapper.id:=aid;
canvasElem.width := awidth;
canvasElem.height := aheight;
Result.ctx:=TJSCanvasRenderingContext2D(canvasElem.getContext('2d'));
Result.ID:=aID;
end;
Function createReportList(aID : String) : string ;
Var
aWrapper,aList : TJSHTMLElement;
begin
alist:=TJSHTMLElement(document.createElement('ul'));
alist.id:=aId + '-reporter';
aWrapper:=TJSHTMLElement(document.getElementById(aId));
aWrapper.appendChild(aList);
Result:=aList.id;
end;
end.