{"_id":"@curiousmedia/canvas-animator","_rev":"5-229df96befb372b369c5dffb5ab6d098","name":"@curiousmedia/canvas-animator","dist-tags":{"latest":"1.1.2"},"versions":{"1.0.0":{"name":"@curiousmedia/canvas-animator","description":"Generate AnimateCC spritesheets and display them in a canvas element","main":"dist/canvas-animator.js","module":"dist/canvas-animator-module.js","directories":{"example":"examples"},"scripts":{"setup":"npm install; npm run build;","build":"rollup -c"},"keywords":[],"author":{"name":"Shane Coates"},"license":"MIT","devDependencies":{"babel-core":"^6.26.3","babel-loader":"^7.1.5","babel-preset-env":"^1.7.0","rollup":"^0.64.1","rollup-plugin-babel":"^3.0.7"},"version":"1.0.0","gitHead":"377322453ef7a0ccc53afd5a383f0ab5b4cf8c63","_id":"@curiousmedia/canvas-animator@1.0.0","_nodeVersion":"11.14.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-UJ4sUnxXZGZ4U319wl+EiWL2tYcjdqt0S/Ifl56i9P00EDQveYX6fC8/cQSzY2TGLaRWVsylwBeAZG9AMTaBmA==","shasum":"273740eee050e2714e7f99d4263ebebef0908895","tarball":"https://registry.npmjs.org/@curiousmedia/canvas-animator/-/canvas-animator-1.0.0.tgz","fileCount":20,"unpackedSize":21277883,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc3ecMCRA9TVsSAnZWagAA09cQAJ9tGWLrOcMedKnCdG0W\n1FIExhjU6ePNVtfugph1JG/IetITcCC8yGTwBbkaF/ZeMvgkBvHvdB5weo0+\nmug6ulbcbM0Cc8m++Dg/zmpuK0RCR8FibcVCd3P/5ep2e1YxV1634Q9WDLdK\nozt3EKEHklK694POv+QJRZRc+lhPIIJnECSfQkcgAhhssCC0C/iS/PMDPbwJ\nO+xeaiveRlS+4Eu2OXkjTSBBKswmWg6YkT2xT4gK6TdEwpxjTTspiSzq+/gF\nm4ElTQaDkKjqehReiruRX//lhitxPjrpEH1JvsK4PZV1WO9yxZaJJMa2hFba\nU6HE+1+Map8WOB/1Tswous//nDCHdWJFJeDxdpDj76dyW2/URv9b8ptr3r8B\nKN9yWb9H6lwI0ocEi8mTQVa7GTxONy9vnUcmrsJ0SPTJ7fBG2gMeznteK5Qn\nFodzU7KpWtufBuGlOw27mmQnkXD6hijpd6MkacIZyZJZO0tgKg0waBkowI6h\nQi41JEpTydpXciO4n2Q8Ce5em6N6NTaoecYcA9K8UAGIaSQP4eQBoZQtQZD8\n96S6DZFDr0l/bWUNMkuRnMyjCQFqDgOxf0m5xIX1cfBbk/6CeCLw0bJ0d8W4\ntmwNKwmnvOu8NhUyuFgZI+O2Q+EO/vgD54mFgqPV0Lb98yd3sYrdxNCDZvQ+\n32pU\r\n=0dFC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFrC8s0HK6wh4TehzeiUknpQdloGNJYZLabAMJkIdxc6AiB7pL7fYOoH4KBxhDm47WeifyDm864JQ/u8h7k0tZJ3Zg=="}]},"maintainers":[{"name":"ishoa","email":"shane@curiousmedia.com"},{"name":"cm-gregory","email":"gregory@curiousmedia.com"},{"name":"kyfoote","email":"kyfoote@gmail.com"},{"name":"curiousjason","email":"support@curiousmedia.com"},{"name":"eaglstun","email":"postpostmodern@gmail.com"}],"_npmUser":{"name":"ishoa","email":"shane@curiousmedia.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/canvas-animator_1.0.0_1558046474782_0.43949490033040695"},"_hasShrinkwrap":false},"1.0.1":{"name":"@curiousmedia/canvas-animator","description":"Generate AnimateCC spritesheets and display them in a canvas element","main":"dist/canvas-animator.js","module":"dist/canvas-animator-module.js","directories":{"example":"examples"},"scripts":{"setup":"npm install; npm run build;","build":"rollup -c"},"keywords":[],"author":{"name":"Shane Coates"},"license":"MIT","devDependencies":{"babel-core":"^6.26.3","babel-loader":"^7.1.5","babel-preset-env":"^1.7.0","rollup":"^0.64.1","rollup-plugin-babel":"^3.0.7"},"version":"1.0.1","gitHead":"5caf04e69aa6dab23d71808bb7b9ec0c46e89e4a","_id":"@curiousmedia/canvas-animator@1.0.1","_nodeVersion":"11.14.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-TFxxhO5EtXqdfKUd/cpgxAadN8QPZopCvk3GpiGaGa0cvvg1x1GWMEC/B7d74m6VvUEkn9z8JayNxgXvwMAe0g==","shasum":"0401d375882cdc705468bd72c0a4ae2805532f73","tarball":"https://registry.npmjs.org/@curiousmedia/canvas-animator/-/canvas-animator-1.0.1.tgz","fileCount":20,"unpackedSize":21277883,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc3efsCRA9TVsSAnZWagAAk5MP/2oR/OB5+WB1oMYNV2CO\nRtJ8NhCEUh+tCjjrBI+yEYkB037UBq5iejufPHIuFT8QgDB4lbCiocbe9qwS\nVtIjxNT2MrJcSLpfxwaf13vkUwrDGo1JowD/Z68OpbqBP5NxJSUNo5Kz3Omm\nVXGYEbuUqDEql8PfBDCTv7qwuZwrN1Fpjk5W7Z2C4e/1JBIxT7f5XYYYwtZX\nFp9fmkj3KZ31h7TTsypuMO1kNAXP8ySO/fCA0W+sVZxUrIKzN1RtSZ2IDxzz\n5Ou0xrfpzbLO10VYjS49zHP9cDCi5ZoJMSA8ZFyUYb5Cq/y2c5WLYD0R9oI0\nM6bxOxpGMn5UyRCo6i0twjZaVI/R95yK+B+t60Kak1MWY9k6Rut/HgJ9ZEJ8\nMyYXLL8mh9O49SgxYeroKR/JNdoyNSf/8ePtzFoTsNHsXSS+tlpOiUCP8Ea4\nQf+1fWifEvGI2J8GGph/E8Oh6ipCxDWAOssmImgm3o2DtzwvYU20PCGxdsxs\nUUyg+PMLK/QCUJie8yejvjGvWYBDct8OFtUUKZ66287t/U7J7MAVnkTMXC8i\nqmXYIOF/ueT5AH3gtPfYZCVdlLLIOCZh/ix11/oeltZDiDRMczpIIRpEXBfm\nq9GBVT3WlfhyRXMWjGVdV3vUnLrH+k+ZWjT/5gE1I0KD0kWYbK6pIqgsQ4GC\nEg2q\r\n=mmOG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC9ZKNFMJKP6xKzU9judlKhKsWwkQ94D8jz3N5mTFhZlAIhAKe8Awnk5oMrEhi+JFBqKe378k79z1um7JrgWMAOOPYv"}]},"maintainers":[{"name":"cm-gregory","email":"gregory@curiousmedia.com"},{"name":"curiousjason","email":"support@curiousmedia.com"},{"name":"eaglstun","email":"postpostmodern@gmail.com"},{"name":"ishoa","email":"shane@curiousmedia.com"},{"name":"kyfoote","email":"kyfoote@gmail.com"}],"_npmUser":{"name":"ishoa","email":"shane@curiousmedia.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/canvas-animator_1.0.1_1558046697167_0.6944613223525289"},"_hasShrinkwrap":false},"1.1.0":{"name":"@curiousmedia/canvas-animator","version":"1.1.0","description":"Generate AnimateCC spritesheets and display them in a canvas element","main":"dist/canvas-animator.js","module":"dist/canvas-animator-module.js","directories":{"example":"examples"},"scripts":{"setup":"npm install; npm run build;","build":"rollup -c"},"keywords":[],"author":{"name":"Shane Coates"},"license":"MIT","devDependencies":{"babel-core":"^6.26.3","babel-loader":"^7.1.5","babel-preset-env":"^1.7.0","rollup":"^0.64.1","rollup-plugin-babel":"^3.0.7"},"gitHead":"b890332b2e781c08db4ae27a9c47339576721767","_id":"@curiousmedia/canvas-animator@1.1.0","_nodeVersion":"11.14.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-BCYNkUhO0fHNsWf0F1+SnG3o1QjOiBQBsdivCYL2Du+CjmPhYx9sNISVePOuuDmT0ryo+bwT2ImhCxlap8EZCw==","shasum":"604619577d03018359ad7def0b7bbd25679bb5f0","tarball":"https://registry.npmjs.org/@curiousmedia/canvas-animator/-/canvas-animator-1.1.0.tgz","fileCount":26,"unpackedSize":22037492,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc3uaDCRA9TVsSAnZWagAAtFYP/iJrwhpxYoWW2k+yfuDL\nRFOJ6rFFRkhSGUypgVqeFd1WvwjJv/liO3uaxvyBYm5LlNxH32WgsUgAfxpQ\nmIqU+g+bB3QQ+aTxF7CFt3QAaAwowbZdV3BJT5XrkoiKJVw32MIfXWhmZwfx\nvqFsmKBqTTzhmcSl7PGKydvYGmb7QZzRNUT3lW/yCkgwuqCfLlaWjqjNRZFB\nYc4RR+8Sn/zcQjHKyLpDPfuiV343xiDOHIllBvwTnR+CearvE0LtsXwqS09v\n9RbVZU47ERhhfjqE3gV8xOMguPxdjaJHrKqi/z06X6iFpmETjSamhUoDb9Ql\nznpf7NPFRoRq8d4TByeQT5oBRQP89lv/D3/qQSugEgSYIuEsH4fwpm8TpJ4R\nO2O9EXkY0K+/cSQoXtcTSG1O6Wg2i7nJLUO4qtYL2J9b3LD2BAhClqLKhSnx\npC/FjEvCdsDq4+7UDLylAfhVGuKLm0uPKASkks1uyKghH0Ge6NtEdLepAr68\nSEZeIyAQc4XMQeuePy20pOAIPrxAXzWv7czPBGWvIqKdGsb18sBdLex/QDfB\n6ICkYmgeHpELwhzkAFDgrVMnvmBq7dofeUNlDOvsPLvr/KrqWdDaMxfWDf3U\n7O4WI9GvtsfXxTw4Yn6zL2qy5ZjkbjxbKBlFlaHvTmMG4QQWGre7jqkOKGb5\n4GpF\r\n=S6MU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGCS50klTHJNUAGRQ06ZdmOMzdNndntqZl601dvx8s7KAiEAhlRULuYiu49FHgjTVbQoyruuA/76FWUOEl6fN5IFcpc="}]},"maintainers":[{"name":"cm-gregory","email":"gregory@curiousmedia.com"},{"name":"curiousjason","email":"support@curiousmedia.com"},{"name":"eaglstun","email":"postpostmodern@gmail.com"},{"name":"ishoa","email":"shane@curiousmedia.com"},{"name":"kyfoote","email":"kyfoote@gmail.com"}],"_npmUser":{"name":"ishoa","email":"shane@curiousmedia.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/canvas-animator_1.1.0_1558111874494_0.9775441490512677"},"_hasShrinkwrap":false},"1.1.1":{"name":"@curiousmedia/canvas-animator","version":"1.1.1","description":"Generate AnimateCC spritesheets and display them in a canvas element","main":"dist/canvas-animator.js","module":"dist/canvas-animator-module.js","directories":{"example":"examples"},"scripts":{"setup":"npm install; npm run build;","build":"rollup -c"},"keywords":[],"author":{"name":"Shane Coates"},"license":"MIT","devDependencies":{"babel-core":"^6.26.3","babel-loader":"^7.1.5","babel-preset-env":"^1.7.0","rollup":"^0.64.1","rollup-plugin-babel":"^3.0.7"},"gitHead":"205d04b84edcf38a37a9b0518bcabd833699eab5","_id":"@curiousmedia/canvas-animator@1.1.1","_nodeVersion":"11.14.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-MfyxmtfpdKjhk7f9qmsMT8CHlb1wAISZc+N96A1wJt6yQY0H9JfFi5x6RexRZ5co2wRPAkU9Ee9iRWaKRmjqEA==","shasum":"1e543b363cc0a85b35e3d1aac81c64cd73869a62","tarball":"https://registry.npmjs.org/@curiousmedia/canvas-animator/-/canvas-animator-1.1.1.tgz","fileCount":26,"unpackedSize":22037361,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc3un0CRA9TVsSAnZWagAA194P/RoXl5mfK6SCw6JHoEOt\nyY4mRkKTYr9uBiIw8EpkNgjCPspcZaLQedfzfWeHKTOJWThjAYztAArmAgTX\nExCy0aP8niHWBQlIc92UJPgK51ZGngbKhLwQOfunlctbqQE+IGaTDnAO7tlN\n/C7Bm4x+23URO/bYfRpO4USCliyCT146ihXnPneNSLYYLnCWGNkRlZjVcLCt\nls4LjlnYkiqiTuZy/ewSnxo5U7L1qQYWiJWGiwuom/ZJY3KnYD9DKpcbakEO\nJN0UCGMlOaGeSvj1zXYENLULh0EY0iRv0PX006ezCpMi5qJf2dPSvs0cagsa\nG/8ti9gag12297aVaLniMp6Ek6qcRY3+GpwuR2GJXvTIaEF+vfcsmO1V62+t\nQDA3ue3fcP11cE6pddlVda8bZLjD4mYtvbi0JJKZRL5Q9UDGxGQKvxRwSunA\nFIaPkGfNHZ2Tnf1gcN9OZEf+ePUamCiobpu8bikpYoMSzB/2JpZW4gIE8hEU\nIRDAhW7Kvw63geC/cONpxPFaEcq4nbKwVld3n9azVf1FNRftGzYBhXg5f/Qd\nY5WqxzFOTpvPfF5z5nQt2a08l8F9kjABTmdf5ZzZz6+9qJcJoUQRbbqgr8P7\ngJe1UbZHGq5ZzhS9zLP51fWT1bcwvrwmxIrfGjb63/KkrejuQ+GHUbPZVV2W\nbwYi\r\n=3u4Z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDPVb0ocVfB+WlWii1yIrzBP/9vvln1xqZ61vXPc2O95QIhALgKudNyFN26Pwml38V1SXnBKUijmK5TEFOPLAinmcJQ"}]},"maintainers":[{"name":"cm-gregory","email":"gregory@curiousmedia.com"},{"name":"curiousjason","email":"support@curiousmedia.com"},{"name":"eaglstun","email":"postpostmodern@gmail.com"},{"name":"ishoa","email":"shane@curiousmedia.com"},{"name":"kyfoote","email":"kyfoote@gmail.com"}],"_npmUser":{"name":"ishoa","email":"shane@curiousmedia.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/canvas-animator_1.1.1_1558112754613_0.31711876023115404"},"_hasShrinkwrap":false},"1.1.2":{"name":"@curiousmedia/canvas-animator","version":"1.1.2","description":"Generate AnimateCC spritesheets and display them in a canvas element","main":"dist/canvas-animator.js","module":"dist/canvas-animator-module.js","directories":{"example":"examples"},"scripts":{"setup":"npm install; npm run build;","build":"rollup -c"},"keywords":[],"author":{"name":"Shane Coates"},"license":"MIT","devDependencies":{"babel-core":"^6.26.3","babel-loader":"^7.1.5","babel-preset-env":"^1.7.0","rollup":"^0.64.1","rollup-plugin-babel":"^3.0.7"},"gitHead":"814e4bb6ae70c62ab19ae1c5702079f764ee2fe6","_id":"@curiousmedia/canvas-animator@1.1.2","_nodeVersion":"11.14.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-CkbbAiJnDlSoIuxq+ql7zffTdcmfLyRjOOa9r4fMO+DcSMq6z2CqhexB+30mC6yzoWbycXPb5xuzIobRDr2cXQ==","shasum":"ccd3fa1c99dc90755f6d3bcabe8f7702de438fcb","tarball":"https://registry.npmjs.org/@curiousmedia/canvas-animator/-/canvas-animator-1.1.2.tgz","fileCount":24,"unpackedSize":1000269,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc3uq0CRA9TVsSAnZWagAAW08P/ixkcqtWcS1phf08XYYZ\n7KkrBkwjA138QS6kGIlXUHEsq36s4OUmuuro5odz4e/gRsxxxAH7rTJXrrun\n2tXKT883vkG2AQP5uYqnXM2Yu0BQntGv+PMPTw/oKuQWc3gRdjHN8OioyQRw\nsdSQ569d6XjQKRAPryA87s2Nx19WVXu5Rz8qFvO+I58TD7tqFE4nhEWxKSP/\nd6m5qr3ctTYnUINekcLPLfRQHkRtAyvjN/0gOands7ODLDtFS09/ENfUDqMl\n1DpZtE1kEU+bWQWgjlmCGZrp0BlqGh+7788x5e3CWb3OGMawyCfpZXDGsY6R\nY6T+U0TB7vmUoxUlJAfvPeiVQeRqgh6lfbgeS351LfUWyIx8KfHewUJgNKVR\nQhkJVghRf+f4brGsxG1xK1kb3CYfWemYI5JffWPN6baEyhlHI5HJZt9psbAq\nDKURLN2HxImX6gHyBZmhMD1wkSC+PA4Rl4rfV5ZtAlq2aBsSRkYwU3mOj54B\nKjbH2GxSIuRBgFgPK5bwoWqQFWYZc0qYluEQrb3LjZjURQzYOBZF06o2l+ea\nMFnbrlYsygzwEPoCNnUj4iK9uUHda1RATmSwk7MQL11P37yg+KfkwaEGbLp/\nZMSRhjr9lxPLB8p2RhlVWHtMtKrYFyk1HFiMFYfCF6qg2bPkpnF/TCICuqmi\ngfFO\r\n=6Rt+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBeuB98DYurtB0i9LiGh8n0ZjczTfBROddDWgDjO8p8nAiAdymXwg4dQvp9HqB+WUxS1I24C/baZqkKHy1oNOtO6IA=="}]},"maintainers":[{"name":"cm-gregory","email":"gregory@curiousmedia.com"},{"name":"curiousjason","email":"support@curiousmedia.com"},{"name":"eaglstun","email":"postpostmodern@gmail.com"},{"name":"ishoa","email":"shane@curiousmedia.com"},{"name":"kyfoote","email":"kyfoote@gmail.com"}],"_npmUser":{"name":"ishoa","email":"shane@curiousmedia.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/canvas-animator_1.1.2_1558112947413_0.07923110349531792"},"_hasShrinkwrap":false}},"time":{"created":"2019-05-16T22:41:14.600Z","1.0.0":"2019-05-16T22:41:15.400Z","modified":"2022-04-05T02:19:09.712Z","1.0.1":"2019-05-16T22:44:57.693Z","1.1.0":"2019-05-17T16:51:15.357Z","1.1.1":"2019-05-17T17:05:55.550Z","1.1.2":"2019-05-17T17:09:07.587Z"},"maintainers":[{"name":"cm-gregory","email":"gregory@curiousmedia.com"},{"name":"curiousjason","email":"support@curiousmedia.com"},{"name":"eaglstun","email":"postpostmodern@gmail.com"},{"name":"ishoa","email":"shane@curiousmedia.com"},{"name":"kyfoote","email":"kyfoote@gmail.com"}],"description":"Generate AnimateCC spritesheets and display them in a canvas element","keywords":[],"author":{"name":"Shane Coates"},"license":"MIT","readme":"<a name=\"CanvasAnimator\"></a>\n\n## CanvasAnimator\nGenerate AnimateCC spritesheets and display them in a canvas element\n\n* [CanvasAnimator](#CanvasAnimator)\n    * [Generate Sprite Sheet](#generate)\n    * [Usage](#usage)\n    * [Event Listener](#event-listener)\n    * [Constructor](#constructor)\n    * [.framerate Getter](#framerate-getter)\n    * [.framerate Setter](#framerate-setter)\n    * [.loop Getter](#loop-getter)\n    * [.loop Setter](#loop-setter)\n    * [.handleImageLoaded()](#handle-image-loaded)\n    * [.drawFrame(dataFrame)](#draw-frame)\n    * [.play()](#play)\n    * [.pause()](#pause)\n    * [.gotoAndPlay(frame)](#gotoAndPlay)\n    * [.render()](#render)\n    * [.on(type, listener, useCapture)](#on-listener)\n    * [.off(type, listener, useCapture)](#off-listener)\n    * [Events](#events)\n\n<a name=\"generate\"></a>\n\n## How to generate a Sprite Sheet from Animate CC for use with Canvas Animator:\nRight click on the symbol you want to export and choose **Generate Sprite Sheet...**\n\nChoose from available export options.\n\nVerify **Data Format** is set to **JSON-Array** and click **Export**\n\n<a name=\"usage\"></a>\n\n## Usage:\n\nLoad and Parse the JSON-Array data that was exported from AnimateCC\n\nMake a new instance of CanvasAnimator:\n\n```\nlet animation = new CanvasAnimator(\n    document.querySelector('canvas'),\n    jsonData,\n    60,\n    false\n);\n```\n\n<a name=\"event-listener\"></a>\n\n## Event Listeners\n```\n    animation.on('complete', function(event){\n        console.log(event.frame);\n    });\n```\n\n<a name=\"constructor\"></a>\n\n### new CanvasAnimator(element, data, framerate, loop)\n\nConstructor\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| element | <code>Canvas</code> |  | Required: The canvas element to display the animation on |\n| data | <code>Object</code> |  | Required: The JSON Array data from Animate CC |\n| framerate | <code>Number</code> | <code>24</code> | Optional: Framerate to run the animation at Default: 24 |\n| loop | <code>Bool</code> | <code>true</code> | Optional: Does the animation loop or play once and stop Default: true |\n\n<a name=\"framerate-getter\"></a>\n\n### canvasAnimator.framerate - GETTER\n\nGet the framerate our animation is playing at\n\n<a name=\"framerate-setter\"></a>\n\n### canvasAnimator.framerate - SETTER\n\nSet the framerate to play the animation at\n\n| Param | Type | Description |\n| --- | --- | --- |\n| rate | <code>Number</code> | FPS for the animation to run at |\n\n<a name=\"loop-getter\"></a>\n\n### canvasAnimator.loop - GETTER\n\nGet the loop property\n\n<a name=\"loop-setter\"></a>\n\n### canvasAnimator.loop - SETTER\n\nSet the loop property to be true or false\n\n| Param | Type |\n| --- | --- |\n| bool | <code>Bool</code> | \n\n<a name=\"handle-image-loaded\"></a>\n\n### canvasAnimator.handleImageLoaded()\n\nImage onload handler called when the image is done loading\n\n<a name=\"draw-frame\"></a>\n\n### canvasAnimator.drawFrame(dataFrame)\n\nDraw the image based on data from the JSON data array\n\n| Param | Type |\n| --- | --- |\n| dataFrame | <code>Object</code> | \n\n<a name=\"play\"></a>\n\n### canvasAnimator.play()\n\nPlay the animation\n\n<a name=\"pause\"></a>\n\n### canvasAnimator.pause()\n\nPause the animation\n\n<a name=\"gotoAndPlay\"></a>\n\n### canvasAnimator.gotoAndPlay(frame)\n\nGo to the specific frame number\n\n| Param | Type | Description |\n| --- | --- | --- |\n| frame | <code>Number</code> | frame number to go to |\n\n<a name=\"render\"></a>\n\n### canvasAnimator.render()\n\nRequest Animation Frame\n\n<a name=\"on-listener\"></a>\n\n### canvasAnimator.on(type, listener, useCapture)\n\nShortcut to add event listeners for the canvas element\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| type | <code>String</code> |  | Required. A String that specifies the name of the event. |\n| listener | <code>function</code> |  | Required. Specifies the function to run when the event occurs. |\n| useCapture | <code>Bool</code> | <code>false</code> | Optional. A Boolean value that specifies whether the event should be executed in the capturing or in the bubbling phase. |\n\n<a name=\"off-listener\"></a>\n\n### canvasAnimator.off(type, listener, useCapture)\n\nShortcut to remove event listeners for the canvas element\n\n| Param | Type | Default | Description |\n| --- | --- | --- | --- |\n| type | <code>String</code> |  | Required. A String that specifies the name of the event. |\n| listener | <code>function</code> |  | Required. Specifies the function to run when the event occurs. |\n| useCapture | <code>Bool</code> | <code>false</code> | Optional. A Boolean value that specifies whether the event should be executed in the capturing or in the bubbling phase. |\n\n<a name=\"events\"></a>\n\n### Events\n\n**Start**\n\nCalled when the image is loaded and the RequestAnimationFrame begins\n\n**Change**\n\nCalled when a **new** frame in the animation is rendered\n\n**Complete**\n\nCalled when the **last** frame of the animation has played and the animation is returning to Frame 0 unless `loop = false`","readmeFilename":"readme.md"}