ctx-polyfill

Polyfill CanvasRenderingContext2D and Path2D (currentTransform, resetTransform, imageSmoothingEnabled, etc...)

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
ctx-polyfill
801.1.45 years ago6 years agoMinified + gzip package size for ctx-polyfill in KB

Readme

Polyfill CanvasRenderingContext2D and Path2Dto match last ES7 specifications

Tested on EDGE, CHROME, FIREFOX, OPERA and IE 10+. INFOS The CanvasRenderingContext2D specs are not finished for some methods and may change in future.

Install

``` npm i ctx-polyfill --save ```

Currently supported

CanvasRenderingContext2D
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 Array6. 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; ``` Convert a SVGMatrix into a transform matrix array.