diff -r c2897ac5c96b -r 7a8e3c748342 web/static/res/js/Ease.js --- a/web/static/res/js/Ease.js Fri Jan 18 05:29:17 2013 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,394 +0,0 @@ -/* -* Ease -* Visit http://createjs.com/ for documentation, updates and examples. -* -* Copyright (c) 2010 gskinner.com, inc. -* -* Permission is hereby granted, free of charge, to any person -* obtaining a copy of this software and associated documentation -* files (the "Software"), to deal in the Software without -* restriction, including without limitation the rights to use, -* copy, modify, merge, publish, distribute, sublicense, and/or sell -* copies of the Software, and to permit persons to whom the -* Software is furnished to do so, subject to the following -* conditions: -* -* The above copyright notice and this permission notice shall be -* included in all copies or substantial portions of the Software. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -* OTHER DEALINGS IN THE SOFTWARE. -*/ - -// namespace: -this.createjs = this.createjs||{}; - -(function() { - -// constructor: -/** - * The Ease class provides a collection of easing functions for use with TweenJS. - * It does not use the standard 4 param easing signature. Instead it uses a single param - * which indicates the current linear ratio (0 to 1) of the tween.
- *
- * Most methods on Ease can be passed directly as easing functions:
- * Tween.get(target).to({x:100}, 500, Ease.linear);
- *
- * However, methods beginning with "get" will return an easing function based on parameter values:
- * Tween.get(target).to({y:200}, 500, Ease.getPowIn(2.2));
- *
- * Equations derived from work by Robert Penner. - * @class Ease - * @static - **/ -var Ease = function() { - throw "Ease cannot be instantiated."; -} - -// public static methods: - /** - * @method linear - * @static - **/ - Ease.linear = function(t) { return t; } - - /** - * Identical to linear. - * @method none - * @static - **/ - Ease.none = Ease.linear; - - /** - * Mimics the simple -100 to 100 easing in Flash Pro. - * @method get - * @param amount A value from -1 (ease in) to 1 (ease out) indicating the strength and direction of the ease. - * @static - **/ - Ease.get = function(amount) { - if (amount < -1) { amount = -1; } - if (amount > 1) { amount = 1; } - return function(t) { - if (amount==0) { return t; } - if (amount<0) { return t*(t*-amount+1+amount); } - return t*((2-t)*amount+(1-amount)); - } - } - - /** - * Configurable exponential ease. - * @method getPowIn - * @param pow The exponent to use (ex. 3 would return a cubic ease). - * @static - **/ - Ease.getPowIn = function(pow) { - return function(t) { - return Math.pow(t,pow); - } - } - - - /** - * Configurable exponential ease. - * @method getPowOut - * @param pow The exponent to use (ex. 3 would return a cubic ease). - * @static - **/ - Ease.getPowOut = function(pow) { - return function(t) { - return 1-Math.pow(1-t,pow); - } - } - - - /** - * Configurable exponential ease. - * @method getPowInOut - * @param pow The exponent to use (ex. 3 would return a cubic ease). - * @static - **/ - Ease.getPowInOut = function(pow) { - return function(t) { - if ((t*=2)<1) return 0.5*Math.pow(t,pow); - return 1-0.5*Math.abs(Math.pow(2-t,pow)); - } - } - - - /** - * @method quadIn - * @static - **/ - Ease.quadIn = Ease.getPowIn(2); - /** - * @method quadOut - * @static - **/ - Ease.quadOut = Ease.getPowOut(2); - /** - * @method quadInOut - * @static - **/ - Ease.quadInOut = Ease.getPowInOut(2); - - - /** - * @method cubicIn - * @static - **/ - Ease.cubicIn = Ease.getPowIn(3); - /** - * @method cubicOut - * @static - **/ - Ease.cubicOut = Ease.getPowOut(3); - /** - * @method cubicInOut - * @static - **/ - Ease.cubicInOut = Ease.getPowInOut(3); - - - /** - * @method quartIn - * @static - **/ - Ease.quartIn = Ease.getPowIn(4); - /** - * @method quartOut - * @static - **/ - Ease.quartOut = Ease.getPowOut(4); - /** - * @method quartInOut - * @static - **/ - Ease.quartInOut = Ease.getPowInOut(4); - - - /** - * @method quintIn - * @static - **/ - Ease.quintIn = Ease.getPowIn(5); - /** - * @method quintOut - * @static - **/ - Ease.quintOut = Ease.getPowOut(5); - /** - * @method quintInOut - * @static - **/ - Ease.quintInOut = Ease.getPowInOut(5); - - - /** - * @method sineIn - * @static - **/ - Ease.sineIn = function(t) { - return 1-Math.cos(t*Math.PI/2); - } - - /** - * @method sineOut - * @static - **/ - Ease.sineOut = function(t) { - return Math.sin(t*Math.PI/2); - } - - /** - * @method sineInOut - * @static - **/ - Ease.sineInOut = function(t) { - return -0.5*(Math.cos(Math.PI*t) - 1) - } - - - /** - * Configurable "back in" ease. - * @method getBackIn - * @param amount The strength of the ease. - * @static - **/ - Ease.getBackIn = function(amount) { - return function(t) { - return t*t*((amount+1)*t-amount); - } - } - /** - * @method backIn - * @static - **/ - Ease.backIn = Ease.getBackIn(1.7); - - /** - * Configurable "back out" ease. - * @method getBackOut - * @param amount The strength of the ease. - * @static - **/ - Ease.getBackOut = function(amount) { - return function(t) { - return (--t*t*((amount+1)*t + amount) + 1); - } - } - /** - * @method backOut - * @static - **/ - Ease.backOut = Ease.getBackOut(1.7); - - /** - * Configurable "back in out" ease. - * @method getBackInOut - * @param amount The strength of the ease. - * @static - **/ - Ease.getBackInOut = function(amount) { - amount*=1.525; - return function(t) { - if ((t*=2)<1) return 0.5*(t*t*((amount+1)*t-amount)); - return 0.5*((t-=2)*t*((amount+1)*t+amount)+2); - } - } - /** - * @method backInOut - * @static - **/ - Ease.backInOut = Ease.getBackInOut(1.7); - - - /** - * @method circIn - * @static - **/ - Ease.circIn = function(t) { - return -(Math.sqrt(1-t*t)- 1); - } - - /** - * @method circOut - * @static - **/ - Ease.circOut = function(t) { - return Math.sqrt(1-(--t)*t); - } - - /** - * @method circInOut - * @static - **/ - Ease.circInOut = function(t) { - if ((t*=2) < 1) return -0.5*(Math.sqrt(1-t*t)-1); - return 0.5*(Math.sqrt(1-(t-=2)*t)+1); - } - - /** - * @method bounceIn - * @static - **/ - Ease.bounceIn = function(t) { - return 1-Ease.bounceOut(1-t); - } - - /** - * @method bounceOut - * @static - **/ - Ease.bounceOut = function(t) { - if (t < 1/2.75) { - return (7.5625*t*t); - } else if (t < 2/2.75) { - return (7.5625*(t-=1.5/2.75)*t+0.75); - } else if (t < 2.5/2.75) { - return (7.5625*(t-=2.25/2.75)*t+0.9375); - } else { - return (7.5625*(t-=2.625/2.75)*t +0.984375); - } - } - - /** - * @method bounceInOut - * @static - **/ - Ease.bounceInOut = function(t) { - if (t<0.5) return Ease.bounceIn (t*2) * .5; - return Ease.bounceOut(t*2-1)*0.5+0.5; - } - - - /** - * Configurable elastic ease. - * @method getElasticIn - * @param amplitude - * @param period - * @static - **/ - Ease.getElasticIn = function(amplitude,period) { - var pi2 = Math.PI*2; - return function(t) { - if (t==0 || t==1) return t; - var s = period/pi2*Math.asin(1/amplitude); - return -(amplitude*Math.pow(2,10*(t-=1))*Math.sin((t-s)*pi2/period)); - } - } - /** - * @method elasticIn - * @static - **/ - Ease.elasticIn = Ease.getElasticIn(1,0.3); - - /** - * Configurable elastic ease. - * @method getElasticOut - * @param amplitude - * @param period - * @static - **/ - Ease.getElasticOut = function(amplitude,period) { - var pi2 = Math.PI*2; - return function(t) { - if (t==0 || t==1) return t; - var s = period/pi2 * Math.asin(1/amplitude); - return (amplitude*Math.pow(2,-10*t)*Math.sin((t-s)*pi2/period )+1); - } - } - /** - * @method elasticOut - * @static - **/ - Ease.elasticOut = Ease.getElasticOut(1,0.3); - - /** - * Configurable elastic ease. - * @method getElasticInOut - * @param amplitude - * @param period - * @static - **/ - Ease.getElasticInOut = function(amplitude,period) { - var pi2 = Math.PI*2; - return function(t) { - var s = period/pi2 * Math.asin(1/amplitude); - if ((t*=2)<1) return -0.5*(amplitude*Math.pow(2,10*(t-=1))*Math.sin( (t-s)*pi2/period )); - return amplitude*Math.pow(2,-10*(t-=1))*Math.sin((t-s)*pi2/period)*0.5+1; - } - } - /** - * @method elasticInOut - * @static - **/ - Ease.elasticInOut = Ease.getElasticInOut(1,0.3*1.5); - -createjs.Ease = Ease; -}());