method canvas : canvasElement Js.t Js.readonly_propmethod save : unit Js.methmethod restore : unit Js.methmethod scale : float -> float -> unit Js.methmethod rotate : float -> unit Js.methmethod translate : float -> float -> unit Js.methmethod transform : float -> float -> float -> float -> float -> float -> unit Js.methmethod setTransform : float -> float -> float -> float -> float -> float -> unit Js.methmethod globalAlpha : float Js.propmethod globalCompositeOperation : Js.js_string Js.t Js.propmethod strokeStyle : Js.js_string Js.t Js.writeonly_propmethod strokeStyle_gradient : canvasGradient Js.t Js.writeonly_propmethod strokeStyle_pattern : canvasPattern Js.t Js.writeonly_propmethod fillStyle : Js.js_string Js.t Js.writeonly_propmethod fillStyle_gradient : canvasGradient Js.t Js.writeonly_propmethod fillStyle_pattern : canvasPattern Js.t Js.writeonly_propmethod createLinearGradient : float -> float -> float -> float -> canvasGradient Js.t Js.methmethod createRadialGradient : float -> float -> float -> float -> float -> float -> canvasGradient Js.t Js.methmethod createPattern : imageElement Js.t -> Js.js_string Js.t -> canvasPattern Js.t Js.methmethod createPattern_fromCanvas : canvasElement Js.t -> Js.js_string Js.t -> canvasPattern Js.t Js.methmethod createPattern_fromVideo : videoElement Js.t -> Js.js_string Js.t -> canvasPattern Js.t Js.methmethod lineWidth : float Js.propmethod lineCap : Js.js_string Js.t Js.propmethod lineJoin : Js.js_string Js.t Js.propmethod miterLimit : float Js.propmethod shadowOffsetX : float Js.propmethod shadowOffsetY : float Js.propmethod shadowBlur : float Js.propmethod shadowColor : Js.js_string Js.t Js.propmethod clearRect : float -> float -> float -> float -> unit Js.methmethod fillRect : float -> float -> float -> float -> unit Js.methmethod strokeRect : float -> float -> float -> float -> unit Js.methmethod beginPath : unit Js.methmethod closePath : unit Js.methmethod moveTo : float -> float -> unit Js.methmethod lineTo : float -> float -> unit Js.methmethod quadraticCurveTo : float -> float -> float -> float -> unit Js.methmethod bezierCurveTo : float -> float -> float -> float -> float -> float -> unit Js.methmethod arcTo : float -> float -> float -> float -> float -> unit Js.methmethod rect : float -> float -> float -> float -> unit Js.methmethod arc : float -> float -> float -> float -> float -> bool Js.t -> unit Js.methmethod fill : unit Js.methmethod stroke : unit Js.methmethod clip : unit Js.methmethod isPointInPath : float -> float -> bool Js.t Js.methmethod drawFocusRing : element Js.t -> float -> float -> bool Js.t -> bool Js.t Js.methmethod font : Js.js_string Js.t Js.propmethod textAlign : Js.js_string Js.t Js.propmethod textBaseline : Js.js_string Js.t Js.propmethod fillText : Js.js_string Js.t -> float -> float -> unit Js.methmethod fillText_withWidth : Js.js_string Js.t -> float -> float -> float -> unit Js.methmethod strokeText : Js.js_string Js.t -> float -> float -> unit Js.methmethod strokeText_withWidth : Js.js_string Js.t -> float -> float -> float -> unit Js.methmethod measureText : Js.js_string Js.t -> textMetrics Js.t Js.methmethod drawImage : imageElement Js.t -> float -> float -> unit Js.methmethod drawImage_withSize : imageElement Js.t -> float -> float -> float -> float -> unit Js.methmethod drawImage_full : imageElement Js.t -> float -> float -> float -> float -> float -> float -> float -> float -> unit Js.methmethod drawImage_fromCanvas : canvasElement Js.t -> float -> float -> unit Js.methmethod drawImage_fromCanvasWithSize : canvasElement Js.t -> float -> float -> float -> float -> unit Js.methmethod drawImage_fullFromCanvas : canvasElement Js.t -> float -> float -> float -> float -> float -> float -> float -> float -> unit Js.methmethod drawImage_fromVideoWithVideo : videoElement Js.t -> float -> float -> unit Js.methmethod drawImage_fromVideoWithSize : videoElement Js.t -> float -> float -> float -> float -> unit Js.methmethod drawImage_fullFromVideo : videoElement Js.t -> float -> float -> float -> float -> float -> float -> float -> float -> unit Js.methmethod createImageData : int -> int -> imageData Js.t Js.methmethod getImageData : float -> float -> float -> float -> imageData Js.t Js.methmethod putImageData : imageData Js.t -> float -> float -> unit Js.meth