This repository has been archived by the owner on Mar 29, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathKeanu.min.js
1 lines (1 loc) · 4.17 KB
/
Keanu.min.js
1
(function(){var a;a=10;window.Keanu=(function(){function b(c){if(!c){return}this.canvas=document.getElementById(c);this.ctx=this.canvas.getContext("2d");this.isAnimating=false;this.interval=null;this.lastLoop=0;this.checkTimer=null;this.triggering=false;this.subscribers={};this.checkedDimensions=false;this.clearX=0;this.clearY=0;this.clearW=this.canvas.width;this.clearH=this.canvas.height;window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame;this}b.prototype.subscribe=function(c,d,e){if(e==null){e=0}if(!this.subscribers[c]){this.subscribers[c]=[]}if(!this.subscribers[c][e]){this.subscribers[c][e]=[]}this.subscribers[c][e].push(d);if(!this.interval&&!this.isAnimating&&c==="enterFrame"){this.start()}};b.prototype.unsubscribe=function(o,f,p){var n,l,h,r,d,q,e,c,k,g,m=this;n=function(){if((m.subscribers.enterFrame&&m.subscribers.enterFrame.length===0)||(m.subscribers.enterFrame&&m.subscribers.enterFrame.length===1&&m.subscribers.enterFrame[0].length===0)){m.stop()}};if(p){if(this.subscribers[o] instanceof Array){if(this.subscribers[o][p] instanceof Array){k=this.subscribers[o][p];for(l=0,q=k.length;l<q;l++){d=k[l];if(d===f){this.subscribers[o][p].splice(l,1);break}}}}}else{if(this.subscribers[o] instanceof Array){g=this.subscribers[o];for(l=0,e=g.length;l<e;l++){d=g[l];if(d instanceof Array){for(h=0,c=d.length;h<c;h++){r=d[h];if(r===f){d.splice(h,1);break}}}else{if(subscribers===f){this.subscribers[o].splice(l,1);break}}}}}clearTimeout(this.checkTimer);this.checkTimer=setTimeout(n,100)};b.prototype.trigger=function(h){var f,e,j,g,d,c,i;this.triggering=true;if(typeof h==="string"){h={type:h}}if(!h.target){h.target=this}if(!h.type){return}if(this.subscribers[h.type] instanceof Array){i=this.subscribers[h.type];for(j=0,d=i.length;j<d;j++){e=i[j];if(e instanceof Array){for(g=0,c=e.length;g<c;g++){f=e[g];if(f){f.call(this,h)}}}}}this.triggering=false};b.prototype.start=function(){var c,d=this;c=function(){if(d.isAnimating||d.interval){if(d.lastLoop===0){d.lastLoop=+(new Date)}d.clear();if((+(new Date))-d.lastLoop>30000){d.reset()}else{d.lastLoop=+(new Date);d.trigger("enterFrame")}if(window.requestAnimationFrame){window.requestAnimationFrame(c,d.canvas)}}};if(window.requestAnimationFrame&&!this.isAnimating){this.isAnimating=true;window.requestAnimationFrame(c,this.canvas);this.trigger("start")}else{if(!window.requestAnimationFrame&&!this.interval){this.interval=setInterval(c,a);this.trigger("start")}}};b.prototype.stop=function(){this.isAnimating=false;clearInterval(this.interval);this.interval=null;this.clear();this.trigger("stop")};b.prototype.reset=function(){var c,d=this;c=function(){d.subscribers=[];clearInterval(d.checkTimer);d.checkTimer=null;d.stop();d.lastLoop=0;return d.trigger("reset")};if(this.triggering){setTimeout(this.reset,5)}else{c()}};b.prototype.clear=function(){var e,d,c,f;c=0;f=0;d=this.canvas.width;e=this.canvas.height;this.ctx.clearRect(c,f,d,e);this.checkedDimensions=false;this.clearX=0;this.clearY=0;this.clearW=0;this.clearH=0};b.prototype.setDimension=function(d,e,c){if(!isNaN(d)){return c&&c(d,e)}else{return e}};b.prototype.setDimensions=function(c){if(this.checkedDimensions){this.clearX=this.setDimension(this.clearX,c.x,Math.min);this.clearY=this.setDimension(this.clearY,c.y,Math.min);this.clearW=this.setDimension(this.clearW,c.w,Math.max);this.clearH=this.setDimension(this.clearH,c.h,Math.max)}else{this.clearX=c.x;this.clearY=c.y;this.clearW=c.w;this.clearH=c.h;this.checkedDimensions=true}};b.prototype.isEmpty=function(k){var e,j,h,f,d,c,g;for(h=0,d=k.length;h<d;h++){j=k[h];if(k[j] instanceof Array&&k[j].length>0){g=k[j];for(f=0,c=g.length;f<c;f++){e=g[f];if(k[j][e] instanceof Array&&k[j][e].length>0){return false}}}}return true};b.prototype.getIntervalTime=function(){return a};b.prototype.tweens={linear:function(f,e,h,g){return h*f/g+e},easeIn:function(f,e,h,g){return h*(f/=g)*f+e},easeOut:function(f,e,h,g){return -h*(f/=g)*(f-2)+e},easeInOut:function(f,e,h,g){if(f/=g/2<1){return h/2*f*f*e}else{return -h/2*((--f)*(f-2)-1)+e}},quadraticBezierCurve:function(c,f,e,d){return ~~(Math.pow(1-c,2)*f+2*(1-c)*c*e+Math.pow(c,2)*d)}};return b})();window.Keanu.modules={}}).call(this);