@netless/canvas-polyfill v0.0.4
@netless/canvas-polyfill
@netless/canvas-polyfill is a polyfill for resetTransform,ellipse,getTransform. It is inspired by canvas-5-polyfill, canvas-currentTransform.
This polyfill can work in Android 19 WebView and iOS 10 WKWebView.
different from these
canvas-5-polyfill implement polyfill for Path2D objects and ellipse() on CanvasRenderingContext2D which doesn't implement getTransform. @netless/canvas-polyfill doesn't implement Path2D, but implement getTransform.
canvas-currentTransform 's setTransform has some problem. @netless/canvas-polyfill just fix it and canvas-currentTransform not implement getTransform. But the currentTransform 's getter is same as getTransform.
Installation
yarn install @netless/canvas-polyfill
# or
npm install @netless/canvas-polyfillUse:
import "@netless/canvas-polyfill";Publish
npm publish --access publicthe implement for getTransform
The matrix calculation is just copy from canvas-currentTransform for currentTransform. I just fix setTransform method which has two forms of parameters:
interface CanvasTransform {
setTransform(a: number, b: number, c: number, d: number, e: number, f: number): void;
setTransform(transform?: DOMMatrix2DInit): void;
}