Polyfill CanvasRenderingContext2D and Path2D (currentTransform, resetTransform, imageSmoothingEnabled, etc...)
npm install ctx-polyfill
npm i ctx-polyfill --save
`
#### Currently supported
##### CanvasRenderingContext2D
- currentTransform : (set and get) return the transform matrix as array [a, b, c, d, e, f].
- resetTransform : resets the current transform by the identity matrix.
- imageSmoothingEnabled : enable or disable image smoothing (only if natively supported).
- ellipse : draw an ellipse.
##### Path2D ==> documentation
Stable: arc, arcTo, bezierCurveTo, closePath, ellipse, lineTo, moveTo, quadraticCurveTo, rect.
Experimental: addPath.
For size reasons, Path2D polyfill does'nt support SVG path (used as argument in constructor).
#### Helper
Because the specs are not finished, the currentTransform or even Path2D.addPathoriginally used SVGMatrix which have been deprecated. Instead, use an Array[6].
If you need SVGMatrix, some hacks have been implemented :
`ts
CanvasRenderingContext2D.useSvgMatrix: boolean;
`
By setting CanvasRenderingContext2D.useSvgMatrix to true, currentTransform will return SVGMatrix instead of array.
`ts
CanvasRenderingContext2D.arrayToSVGMatrix(array: number[]): SVGMatrix;
`
Convert the array transform matrix into a SVGMatrix.
`ts
CanvasRenderingContext2D.svgMatrixToArray(matrix: SVGMatrix): number[];
``