{"_id":"@netless/canvas-polyfill","_rev":"21-685958a6a19eadda00df4e3392c7158c","name":"@netless/canvas-polyfill","dist-tags":{"latest":"0.0.4"},"versions":{"0.0.1":{"name":"@netless/canvas-polyfill","version":"0.0.1","keywords":["canvas","polyfill","getTransform"],"author":{"name":"leavesster"},"license":"MIT","_id":"@netless/canvas-polyfill@0.0.1","maintainers":[{"name":"herewhite","email":"cloud@herewhite.com"},{"name":"yleaf","email":"leavesster+npm@gmail.com"},{"name":"netless-rick","email":"rick@netless.link"}],"dist":{"shasum":"da659f24fd95c2b80677f95bd53b2300f184f52e","tarball":"https://registry.npmjs.org/@netless/canvas-polyfill/-/canvas-polyfill-0.0.1.tgz","fileCount":5,"integrity":"sha512-l4j+JpcyqQBpSnUiNMLymzxXyiL14ylXcs09QwSzfYt1IVaW+68IjC66ZyiAxmxX+DG6btNmhSKKnuZxTqVY5Q==","signatures":[{"sig":"MEUCIQC/7FIDXRFHZKiho9UqJuuZFh/gjKtonfi6SHvZoG8/5gIgGsPCeAeUNqogwk7Rpf1aFWPL374UDyKLfqyiAsk6Ylc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15115,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe+YgnCRA9TVsSAnZWagAAMooP/jKnUky9k8CmahQ01Mrf\nQlRtBsVuKeqeusGoOJXEkBDDaTi2VdnKu0mk/gbetPl8+Re1pK6XsaxDM4Nc\nIBOKMtDJEfc8YXngPLr1uzhEG/IP4Cs0sl8QuHTYxsWcE1kLqbwXf6P31/y9\nhROZmz6P7lmWaV1KwPPWEcDD8WFSq8TjiifEoplFakrCzygV90TAINlegDe/\n/6WCVvfFgYLklu5cB2tk8rxm5F9WpJh7GciiGCCd98Pk3ZdhA+2zfM3+ntWx\nJWb5u/qhbukb2upLUtpRlt7PZaXG3KsqmsqWunoQz4CqQkfaV6k/FUvr84ff\n945JIH1Rm5nKAwqLAnn1AukKhuHqziJJAg3SZpX6RfZXhjdifaug3yuKorNS\nif/pAGrvY3pDQDnDb6KTdWnLbJ5ha43+8MLCw4a+pbVJmM57wH9FQSjU3wDM\naJNj8d93XF24e0NdjAc15pw2FFTWXRKa/Vt6FIUs6k7OsSNg/LGUPLBSLy75\nKfnFqqxek2ZRx7lV4Va9DFGFvC/k73BF8lKsrGswqxCiVdwPkI0xv3YWv0Cj\n++yfIXsnXfpLtpgC/E/xJBIGOaveCKPLoCoTgTzK9jmSFp5phK+mU8yEPLaa\ne2801kgHysOFnimfIbRBMJ4/Expw7YmczxGAbhxDJThBh+lq2DDf7AbhLj4S\n7FfT\r\n=2qwU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"/dist/index.js","scripts":{"build":"tsc"},"_npmUser":{"name":"yleaf","email":"leavesster+npm@gmail.com"},"_npmVersion":"6.13.1","description":"a polyfill for canvas getTransform, ellipse, resetTransform API","directories":{},"_nodeVersion":"13.3.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^3.9.5"},"_npmOperationalInternal":{"tmp":"tmp/canvas-polyfill_0.0.1_1593411623077_0.3542403327310839","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"@netless/canvas-polyfill","version":"0.0.2","keywords":["canvas","polyfill","getTransform"],"author":{"name":"leavesster"},"license":"MIT","_id":"@netless/canvas-polyfill@0.0.2","maintainers":[{"name":"herewhite","email":"cloud@herewhite.com"},{"name":"netless-rick","email":"rick@netless.link"},{"name":"yleaf","email":"leavesster+npm@gmail.com"}],"dist":{"shasum":"f076c66d9171b15aa73261cd960aa498401c6ae3","tarball":"https://registry.npmjs.org/@netless/canvas-polyfill/-/canvas-polyfill-0.0.2.tgz","fileCount":7,"integrity":"sha512-4t7UFmhV7Hx6U5VD0TdRL+UmqeLqDwddmcOhN0qpEhRODaCCZmPco0cb5rd6fFJ2Bp/tcpwGjKofsIWb/MlLyQ==","signatures":[{"sig":"MEYCIQDpQWzFffSA98krAPbOEJbuIEfDWurDQb4I4nrfCTdPEwIhAJ+7irpZXMl9hx2tFyACx9FjaBARi6WecGEbSflqIP0T","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17738,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe+ZPQCRA9TVsSAnZWagAAzn8P/3fD7OyzBPjtArlRr+Kz\nq151xOpZ2N6tNVUJmuiyggnfFkj9/r1T2rQY8C+syH5waX4p2LGd7Fsl3+GS\ndt28acA64DQmRyPwGyIZ8I/2dpLcohjmSDHIZ++yBLxvk3Kjdy/jNIxmLoo0\nfJnCCl5kvIDTLL6TjC4F4uPqobllAzfbuXt1sEmBK6W5QnGJz9Zr5sgUG6vy\nAxEzpvD3PGyfr94DEYXcDQEWf3BAmk48o31hd67MWXQo5i9GZUA4+VKQNq2B\ngYkC8vgQzYTaybWJnMrCy4RlFeV1F/2M5W7vm5Y0oIr+jEM2zwTGoE/rFSl0\nzfzPkAQ91OaMUbMfWHb0c7tqSCcXKCo0cMRWjBmhDCkcV6dEcPPAdTVE+2sd\neiECur3uDI7BFOMVRMcnK7N8AoT30jcB3Z+AvVmPllfKhfWs0625461MlRE7\nsMcj0U8/xdAZikvxLWHxqurodi05zCgHZVMtuyGn0ExK+aZjehJ5WlYUsxuh\nbUdbMlCV1tgIUnYOSMjIvpwVYz84ipdS+tuOEsMPXSmeg+6Di0tJUJJrs7z8\njdUfNMt8tY7KP9kvIi3Rfx3Ithx8ly1WL/v6vnoTngdAYxN8U8r9xzLoVi+A\ng+FOxrgHknHTkfXpiSXF60lDhO34hu3M/7W+iOoCfDE8S3nSL/ufnvtK6Zmy\nOkqu\r\n=NW4y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"/dist/index.js","gitHead":"88a44ea88d5b5dc61e1409bbe18453bf8638405d","scripts":{"build":"tsc"},"_npmUser":{"name":"yleaf","email":"leavesster+npm@gmail.com"},"_npmVersion":"6.13.1","description":"a polyfill for canvas getTransform, ellipse, resetTransform API","directories":{},"_nodeVersion":"13.3.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^3.9.5"},"_npmOperationalInternal":{"tmp":"tmp/canvas-polyfill_0.0.2_1593414608318_0.7112954829283578","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"@netless/canvas-polyfill","version":"0.0.3","keywords":["canvas","polyfill","getTransform"],"author":{"name":"leavesster"},"license":"MIT","_id":"@netless/canvas-polyfill@0.0.3","maintainers":[{"name":"herewhite","email":"cloud@herewhite.com"},{"name":"netless-rick","email":"rick@netless.link"},{"name":"yleaf","email":"leavesster+npm@gmail.com"}],"dist":{"shasum":"caf77b6b1b666db54cde5edda3751ee292bc088a","tarball":"https://registry.npmjs.org/@netless/canvas-polyfill/-/canvas-polyfill-0.0.3.tgz","fileCount":7,"integrity":"sha512-X3KodHfvMAIrmVBsj7kbWdcWA+eCr/uhqpix10GKXE+UovIyJd05KyFNMKIAXOMQI79NJrYiHcPBLszRRogygA==","signatures":[{"sig":"MEUCIBIaakvpBB9EcEMden2QBICu23yEdadI4GgjzpCal0QkAiEAuvSuVkfrr9FxwQ86HonyNk96/ewvpUe9NFcJuuolsjE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17817,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe+ZVLCRA9TVsSAnZWagAAGZ4P+gJOSu3MuJV+wX7MGa1f\nQIr293b/dK1GLZJuaZUAo7MBngyrX71TCeXwNtAPawzMj1BkKEX/uNMn8x83\nN6on+zI0OHoTwehobzEadNKKkuaOjkZc0vu9D9VBNHIlmszQK1lqFec+380F\nAoBWM/FzxGgV1ivQSwBd7pvHri7YpwpwSDDsa4cw+deYEa8qastBhrRjG1lY\nIPo9lKASMZPjtLeiRr3kc8jJkLCVnM0gzSSs1tWlv7Zu9crdDZp45Z6tUTqO\nznAuxwTHbajgW/l04r1O26/81JK2lu6iPNVPQNQxbL6aVEfoZEGY9BKhL40B\n9HbovGiHMEEfViLZkJ6i9oLYChCaVk+LY7xxqBPI70fkUa8vC+cCZfg5mgSe\n35pPscJlhIhvCE2e9rEN5C2LrUBx3Brh4wkOcu3wxDPowbte42uSl64hVZA0\nJEig0AMOCe//eeTjDG3mRRCmyY5/1IHrMNWGiyuwGVhfxENFevpVZDeQlMMS\nYiA9k3QE38G/14Rgk8r4czYyNA3umwhJ3hn4xCth2c1LRQ1mqpn0DikePpi2\nAofRpH1MkJrV8JCbbtRYin4bOAJtR3367zeSeOHjHQyI/VKk0DOr4OoUnLLV\nKhi1ojpFoYTImRD0afeaJGkL+KvXj1HQHGofHVdyif8tVHYZK7t12oTzF1Eh\nVyXO\r\n=eU3M\r\n-----END PGP SIGNATURE-----\r\n"},"main":"/dist/index.js","gitHead":"4f72aeeef1d1e15f573b387c9e5290bd04aa3639","scripts":{"build":"tsc"},"_npmUser":{"name":"yleaf","email":"leavesster+npm@gmail.com"},"_npmVersion":"6.13.1","description":"a polyfill for canvas getTransform, ellipse, resetTransform API","directories":{},"_nodeVersion":"13.3.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^3.9.5"},"_npmOperationalInternal":{"tmp":"tmp/canvas-polyfill_0.0.3_1593414987474_0.10633298158175308","host":"s3://npm-registry-packages"}},"0.0.4":{"name":"@netless/canvas-polyfill","version":"0.0.4","keywords":["canvas","polyfill","getTransform"],"author":{"name":"leavesster"},"license":"MIT","_id":"@netless/canvas-polyfill@0.0.4","maintainers":[{"name":"herewhite","email":"cloud@herewhite.com"},{"name":"yleaf","email":"leavesster+npm@gmail.com"},{"name":"netless-rick","email":"rick@netless.link"}],"homepage":"https://github.com/netless-io/canvas-polyfill#readme","bugs":{"url":"https://github.com/netless-io/canvas-polyfill/issues"},"dist":{"shasum":"b5f28eefeb9c1e8ff8253fa1b044ccb1dc1b7c9c","tarball":"https://registry.npmjs.org/@netless/canvas-polyfill/-/canvas-polyfill-0.0.4.tgz","fileCount":7,"integrity":"sha512-7NzsJrba0R/mq/l10SkIZQwbrNVJyPxZYrjK6xL3Ts732iWAVuS2UB0u3s6iGeUVcqV39A679yva8APWRl4M0A==","signatures":[{"sig":"MEYCIQCC6BzX2WFzwpQ6n1HEXCOMac+Ssr663movo3EcSkGw/gIhAONUaypEBycez9auga6WQB3IGt8OcsinXCa65r8LiZij","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17921,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbFbyCRA9TVsSAnZWagAAd3wP/3Fcm0kKPsRk+zgmXjNX\nNk7DBmOM+mlwxMDhR1q1J21IAjCbjbJsV7KujXb+0ncSs/m5XjY6VDyzwQtz\ntqbzMFus67XjARaeNSywd7sazqOw5AM7xCu84ryxgnrUq3SHdCt7TUZ+oong\nZIYd8xi4diI0YFqbYDCnbi2zwA5TsHwqLmqev0cVjQXCvzz35xICOEtsBYVg\nO+szm1Km5LmH+hjOVLxnolJ9DxdImhnzNeC/yYOLTJl9i/2Owe7Fmb/5QI4H\n/3Eqr0NPriSEUS8aWoRm7PnGTL4WJ6vdcz5O5DkYORGTf7ctNcDj6/gPKqhd\nq6NyyNXvLsCDmTFOCHWACwZX/zW64ohfe1vtytbhQl7EHpg9ZapK0L+WiJJ8\nMhbVSf5BkIfRamv2VpoaTvssRWmu8j0Oy2iI7CaK0lV1gWTNlsAN5xN3D9Y4\njcN12P/vLIZKPQvwgfXXmiIyITtG6/tS7fZijgECxc773iGAEhpjedmkv/q9\nZpmz6Sv6OJl5Da+u6aIMpqnotBUanidBy7+bHVeiHoraeQ/6YCp+lGtMbt86\noYmZui/jhoZ0OAx0luXgwjDBtk2UyyYqLjqEhM30CQTEA+J6mH7m/Uo9Tb7x\nls8Uz5X+i50B5QVeBbIe39+0W8VvoRLFypQyd0IKsNoS45h6eF4LzRtTF4J6\nhfjv\r\n=WR8W\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"a87f7b90bebdfc515085d30ec1c39cca783c1944","scripts":{"build":"tsc"},"_npmUser":{"name":"yleaf","email":"leavesster+npm@gmail.com"},"repository":{"url":"git+https://github.com/netless-io/canvas-polyfill.git","type":"git"},"_npmVersion":"6.14.4","description":"a polyfill for canvas getTransform, ellipse, resetTransform API","directories":{},"_nodeVersion":"12.18.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^3.9.5"},"_npmOperationalInternal":{"tmp":"tmp/canvas-polyfill_0.0.4_1600935666386_0.6892576610711234","host":"s3://npm-registry-packages"}}},"time":{"created":"2020-06-29T06:20:22.870Z","modified":"2026-09-07T03:31:14.364Z","0.0.1":"2020-06-29T06:20:23.275Z","0.0.2":"2020-06-29T07:10:08.462Z","0.0.3":"2020-06-29T07:16:27.610Z","0.0.4":"2020-09-24T08:21:06.555Z"},"bugs":{"url":"https://github.com/netless-io/canvas-polyfill/issues"},"author":{"name":"leavesster"},"license":"MIT","homepage":"https://github.com/netless-io/canvas-polyfill#readme","keywords":["canvas","polyfill","getTransform"],"repository":{"url":"git+https://github.com/netless-io/canvas-polyfill.git","type":"git"},"description":"a polyfill for canvas getTransform, ellipse, resetTransform API","maintainers":[{"email":"huaguzheng2007@126.com","name":"huaguzheng"},{"email":"xuyunshi@agora.io","name":"vince-hz"},{"email":"285569480@qq.com","name":"hqer"},{"email":"netcasemail@163.com","name":"a775691134"}],"readme":"# @netless/canvas-polyfill\n\n`@netless/canvas-polyfill` is a polyfill for `resetTransform`,`ellipse`,`getTransform`. It is inspired by [canvas-5-polyfill](https://github.com/google/canvas-5-polyfill), [canvas-currentTransform](https://github.com/goessner/canvas-currentTransform/blob/master/currentTransform.js).\n\nThis polyfill can work in Android 19 WebView and iOS 10 WKWebView.\n\n## different from these\n\n[canvas-5-polyfill](https://github.com/google/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`.\n\n[canvas-currentTransform](https://github.com/goessner/canvas-currentTransform/blob/master/currentTransform.js) '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`.\n\n## Installation\n\n```shell\nyarn install @netless/canvas-polyfill\n# or\nnpm install @netless/canvas-polyfill\n```\n\nUse:\n\n```javascript\nimport \"@netless/canvas-polyfill\";\n```\n\n## Publish\n\n```shell\nnpm publish --access public\n```\n\n## the implement for getTransform\n\nThe matrix calculation is just copy from [canvas-currentTransform](https://github.com/goessner/canvas-currentTransform/blob/master/currentTransform.js) for `currentTransform`.  I just fix `setTransform` method which has two forms of parameters:\n\n```ts\ninterface CanvasTransform {\n    setTransform(a: number, b: number, c: number, d: number, e: number, f: number): void;\n    setTransform(transform?: DOMMatrix2DInit): void;\n}\n```","readmeFilename":"README.md"}