http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/4cb6a8a1/externs/createjs/src/main/patch/tweenjs.patch ---------------------------------------------------------------------- diff --git a/externs/createjs/src/main/patch/tweenjs.patch b/externs/createjs/src/main/patch/tweenjs.patch deleted file mode 100644 index bf19f2c..0000000 --- a/externs/createjs/src/main/patch/tweenjs.patch +++ /dev/null @@ -1,2888 +0,0 @@ - - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -Generated from Ant script -diff --git a/externs/createjs/target/downloads/TweenJS-0.6.2/src/tweenjs/CSSPlugin.js b/externs/createjs/target/downloads/TweenJS-0.6.2/src/tweenjs/CSSPlugin.js -index 52e0206..0fe6341 100644 ---- a/externs/createjs/target/downloads/TweenJS-0.6.2/src/tweenjs/CSSPlugin.js -+++ b/externs/createjs/target/downloads/TweenJS-0.6.2/src/tweenjs/CSSPlugin.js -@@ -31,16 +31,16 @@ - */ - - // namespace: --this.createjs = this.createjs||{}; - --(function() { -- "use strict"; -+ -+ -+ - - /** - * A TweenJS plugin for working with numeric CSS string properties (ex. top, left). To use simply install after - * TweenJS has loaded: - * -- * createjs.CSSPlugin.install(); -+ * createjs.createjs.CSSPlugin.install(); - * - * You can adjust the CSS properties it will work with by modifying the <code>cssSuffixMap</code> property. Currently, - * the top, left, bottom, right, width, height have a "px" suffix appended. -@@ -49,7 +49,7 @@ this.createjs = this.createjs||{}; - * @class CSSPlugin - * @constructor - **/ -- function CSSPlugin() { -+ createjs.CSSPlugin = function() { - throw("CSSPlugin cannot be instantiated.") - } - -@@ -65,14 +65,14 @@ this.createjs = this.createjs||{}; - * @type Object - * @static - **/ -- CSSPlugin.cssSuffixMap = {top:"px",left:"px",bottom:"px",right:"px",width:"px",height:"px",opacity:""}; -+ createjs.CSSPlugin.cssSuffixMap = {top:"px",left:"px",bottom:"px",right:"px",width:"px",height:"px",opacity:""}; - - /** - * @property priority - * @protected - * @static - **/ -- CSSPlugin.priority = -100; // very low priority, should run last -+ createjs.CSSPlugin.priority = -100; // very low priority, should run last - - - // static methods -@@ -81,8 +81,8 @@ this.createjs = this.createjs||{}; - * @method install - * @static - **/ -- CSSPlugin.install = function() { -- var arr = [], map = CSSPlugin.cssSuffixMap; -+ createjs.CSSPlugin.install = function() { -+ var arr = [], map = createjs.CSSPlugin.cssSuffixMap; - for (var n in map) { arr.push(n); } - createjs.Tween.installPlugin(CSSPlugin, arr); - } -@@ -92,8 +92,8 @@ this.createjs = this.createjs||{}; - * @protected - * @static - **/ -- CSSPlugin.init = function(tween, prop, value) { -- var sfx0,sfx1,style,map = CSSPlugin.cssSuffixMap; -+ createjs.CSSPlugin.init = function(tween, prop, value) { -+ var sfx0,sfx1,style,map = createjs.CSSPlugin.cssSuffixMap; - if ((sfx0 = map[prop]) == null || !(style = tween.target.style)) { return value; } - var str = style[prop]; - if (!str) { return 0; } // no style set. -@@ -110,7 +110,7 @@ this.createjs = this.createjs||{}; - * @protected - * @static - **/ -- CSSPlugin.step = function(tween, prop, startValue, endValue, injectProps) { -+ createjs.CSSPlugin.step = function(tween, prop, startValue, endValue, injectProps) { - // unused - } - -@@ -119,13 +119,13 @@ this.createjs = this.createjs||{}; - * @protected - * @static - **/ -- CSSPlugin.tween = function(tween, prop, value, startValues, endValues, ratio, wait, end) { -- var style,map = CSSPlugin.cssSuffixMap; -+ createjs.CSSPlugin.tween = function(tween, prop, value, startValues, endValues, ratio, wait, end) { -+ var style,map = createjs.CSSPlugin.cssSuffixMap; - if (map[prop] == null || !(style = tween.target.style)) { return value; } - style[prop] = value+map[prop]; - return createjs.Tween.IGNORE; - } - -- createjs.CSSPlugin = CSSPlugin; - --}()); -+ -+ -diff --git a/externs/createjs/target/downloads/TweenJS-0.6.2/src/tweenjs/Ease.js b/externs/createjs/target/downloads/TweenJS-0.6.2/src/tweenjs/Ease.js -index e3a0809..c69b895 100644 ---- a/externs/createjs/target/downloads/TweenJS-0.6.2/src/tweenjs/Ease.js -+++ b/externs/createjs/target/downloads/TweenJS-0.6.2/src/tweenjs/Ease.js -@@ -1,462 +1,188 @@ --/* --* 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. --*/ -- -+/** @fileoverview Auto-generated Externs files -+ * @externs -+ */ - /** -- * @module TweenJS -+ * 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, createjs.Ease.linear); -+ * -+ * However, methods beginning with "get" will return an easing function based on parameter values: -+ * -+ * Tween.get(target).to({y:200}, 500, createjs.Ease.getPowIn(2.2)); -+ * -+ * Please see the <a href="http://www.createjs.com/Demos/TweenJS/Tween_SparkTable">spark table demo</a> for an -+ * overview of the different ease types on <a href="http://tweenjs.com">TweenJS.com</a>. -+ * -+ * <em>Equations derived from work by Robert Penner.</em> -+ * -+ * @see [Ease] -+ * @constructor - */ -+createjs.Ease = function () {} -+ -+ /** -+ * Configurable elastic ease. -+ * -+ * @param {(number|null)} amplitude -+ * @param {(number|null)} period -+ * @see [Ease] -+ * @returns {(Function|null)} -+ */ -+createjs.Ease.getElasticIn = function (amplitude, period) { return null; } -+ -+ /** -+ * @param {(number|null)} t -+ * @see [Ease] -+ * @returns {(number|null)} -+ */ -+createjs.Ease.circOut = function (t) { return 0; } -+ -+ /** -+ * @param {(number|null)} t -+ * @see [Ease] -+ * @returns {(number|null)} -+ */ -+createjs.Ease.linear = function (t) { return 0; } -+ -+ /** -+ * @param {(number|null)} t -+ * @see [Ease] -+ * @returns {(number|null)} -+ */ -+createjs.Ease.sineIn = function (t) { return 0; } -+ -+ /** -+ * @param {(number|null)} t -+ * @see [Ease] -+ * @returns {(number|null)} -+ */ -+createjs.Ease.sineOut = function (t) { return 0; } -+ -+ /** -+ * Mimics the simple -100 to 100 easing in Flash Pro. -+ * -+ * @param {(number|null)} amount A value from -1 (ease in) to 1 (ease out) indicating the strength and direction of the ease. -+ * @see [Ease] -+ * @returns {(Function|null)} -+ */ -+createjs.Ease.get = function (amount) { return null; } -+ -+ /** -+ * Configurable "back in" ease. -+ * -+ * @param {(number|null)} amount The strength of the ease. -+ * @see [Ease] -+ * @returns {(Function|null)} -+ */ -+createjs.Ease.getBackIn = function (amount) { return null; } -+ -+ /** -+ * @param {(number|null)} t -+ * @see [Ease] -+ * @returns {(number|null)} -+ */ -+createjs.Ease.circIn = function (t) { return 0; } -+ -+ /** -+ * Configurable "back out" ease. -+ * -+ * @param {(number|null)} amount The strength of the ease. -+ * @see [Ease] -+ * @returns {(Function|null)} -+ */ -+createjs.Ease.getBackOut = function (amount) { return null; } -+ -+ /** -+ * Configurable elastic ease. -+ * -+ * @param {(number|null)} amplitude -+ * @param {(number|null)} period -+ * @see [Ease] -+ * @returns {(Function|null)} -+ */ -+createjs.Ease.getElasticInOut = function (amplitude, period) { return null; } -+ -+ /** -+ * @param {(number|null)} t -+ * @see [Ease] -+ * @returns {(number|null)} -+ */ -+createjs.Ease.bounceInOut = function (t) { return 0; } -+ -+ /** -+ * @param {(number|null)} t -+ * @see [Ease] -+ * @returns {(number|null)} -+ */ -+createjs.Ease.bounceIn = function (t) { return 0; } -+ -+ /** -+ * @param {(number|null)} t -+ * @see [Ease] -+ * @returns {(number|null)} -+ */ -+createjs.Ease.sineInOut = function (t) { return 0; } -+ -+ /** -+ * @param {(number|null)} t -+ * @see [Ease] -+ * @returns {(number|null)} -+ */ -+createjs.Ease.circInOut = function (t) { return 0; } -+ -+ /** -+ * Configurable exponential ease. -+ * -+ * @param {(number|null)} pow The exponent to use (ex. 3 would return a cubic ease). -+ * @see [Ease] -+ * @returns {(Function|null)} -+ */ -+createjs.Ease.getPowOut = function (pow) { return null; } -+ -+ /** -+ * Configurable "back in out" ease. -+ * -+ * @param {(number|null)} amount The strength of the ease. -+ * @see [Ease] -+ * @returns {(Function|null)} -+ */ -+createjs.Ease.getBackInOut = function (amount) { return null; } -+ -+ /** -+ * Configurable exponential ease. -+ * -+ * @param {(number|null)} pow The exponent to use (ex. 3 would return a cubic ease). -+ * @see [Ease] -+ * @returns {(Function|null)} -+ */ -+createjs.Ease.getPowIn = function (pow) { return null; } -+ -+ /** -+ * Configurable exponential ease. -+ * -+ * @param {(number|null)} pow The exponent to use (ex. 3 would return a cubic ease). -+ * @see [Ease] -+ * @returns {(Function|null)} -+ */ -+createjs.Ease.getPowInOut = function (pow) { return null; } -+ -+ /** -+ * Configurable elastic ease. -+ * -+ * @param {(number|null)} amplitude -+ * @param {(number|null)} period -+ * @see [Ease] -+ * @returns {(Function|null)} -+ */ -+createjs.Ease.getElasticOut = function (amplitude, period) { return null; } -+ -+ /** -+ * @param {(number|null)} t -+ * @see [Ease] -+ * @returns {(number|null)} -+ */ -+createjs.Ease.bounceOut = function (t) { return 0; } - --// namespace: --this.createjs = this.createjs||{}; -- --(function() { -- "use strict"; -- -- /** -- * 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)); -- * -- * Please see the <a href="http://www.createjs.com/Demos/TweenJS/Tween_SparkTable">spark table demo</a> for an -- * overview of the different ease types on <a href="http://tweenjs.com">TweenJS.com</a>. -- * -- * <em>Equations derived from work by Robert Penner.</em> -- * @class Ease -- * @static -- **/ -- function Ease() { -- throw "Ease cannot be instantiated."; -- } -- -- --// static methods and properties -- /** -- * @method linear -- * @param {Number} t -- * @static -- * @return {Number} -- **/ -- Ease.linear = function(t) { return t; }; -- -- /** -- * Identical to linear. -- * @method none -- * @param {Number} t -- * @static -- * @return {Number} -- **/ -- Ease.none = Ease.linear; -- -- /** -- * Mimics the simple -100 to 100 easing in Flash Pro. -- * @method get -- * @param {Number} amount A value from -1 (ease in) to 1 (ease out) indicating the strength and direction of the ease. -- * @static -- * @return {Function} -- **/ -- 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 {Number} pow The exponent to use (ex. 3 would return a cubic ease). -- * @static -- * @return {Function} -- **/ -- Ease.getPowIn = function(pow) { -- return function(t) { -- return Math.pow(t,pow); -- }; -- }; -- -- /** -- * Configurable exponential ease. -- * @method getPowOut -- * @param {Number} pow The exponent to use (ex. 3 would return a cubic ease). -- * @static -- * @return {Function} -- **/ -- Ease.getPowOut = function(pow) { -- return function(t) { -- return 1-Math.pow(1-t,pow); -- }; -- }; -- -- /** -- * Configurable exponential ease. -- * @method getPowInOut -- * @param {Number} pow The exponent to use (ex. 3 would return a cubic ease). -- * @static -- * @return {Function} -- **/ -- 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 -- * @param {Number} t -- * @static -- * @return {Number} -- **/ -- Ease.quadIn = Ease.getPowIn(2); -- /** -- * @method quadOut -- * @param {Number} t -- * @static -- * @return {Number} -- **/ -- Ease.quadOut = Ease.getPowOut(2); -- /** -- * @method quadInOut -- * @param {Number} t -- * @static -- * @return {Number} -- **/ -- Ease.quadInOut = Ease.getPowInOut(2); -- -- /** -- * @method cubicIn -- * @param {Number} t -- * @static -- * @return {Number} -- **/ -- Ease.cubicIn = Ease.getPowIn(3); -- /** -- * @method cubicOut -- * @param {Number} t -- * @static -- * @return {Number} -- **/ -- Ease.cubicOut = Ease.getPowOut(3); -- /** -- * @method cubicInOut -- * @param {Number} t -- * @static -- * @return {Number} -- **/ -- Ease.cubicInOut = Ease.getPowInOut(3); -- -- /** -- * @method quartIn -- * @param {Number} t -- * @static -- * @return {Number} -- **/ -- Ease.quartIn = Ease.getPowIn(4); -- /** -- * @method quartOut -- * @param {Number} t -- * @static -- * @return {Number} -- **/ -- Ease.quartOut = Ease.getPowOut(4); -- /** -- * @method quartInOut -- * @param {Number} t -- * @static -- * @return {Number} -- **/ -- Ease.quartInOut = Ease.getPowInOut(4); -- -- /** -- * @method quintIn -- * @param {Number} t -- * @static -- * @return {Number} -- **/ -- Ease.quintIn = Ease.getPowIn(5); -- /** -- * @method quintOut -- * @param {Number} t -- * @static -- * @return {Number} -- **/ -- Ease.quintOut = Ease.getPowOut(5); -- /** -- * @method quintInOut -- * @param {Number} t -- * @static -- * @return {Number} -- **/ -- Ease.quintInOut = Ease.getPowInOut(5); -- -- /** -- * @method sineIn -- * @param {Number} t -- * @static -- * @return {Number} -- **/ -- Ease.sineIn = function(t) { -- return 1-Math.cos(t*Math.PI/2); -- }; -- -- /** -- * @method sineOut -- * @param {Number} t -- * @static -- * @return {Number} -- **/ -- Ease.sineOut = function(t) { -- return Math.sin(t*Math.PI/2); -- }; -- -- /** -- * @method sineInOut -- * @param {Number} t -- * @static -- * @return {Number} -- **/ -- Ease.sineInOut = function(t) { -- return -0.5*(Math.cos(Math.PI*t) - 1); -- }; -- -- /** -- * Configurable "back in" ease. -- * @method getBackIn -- * @param {Number} amount The strength of the ease. -- * @static -- * @return {Function} -- **/ -- Ease.getBackIn = function(amount) { -- return function(t) { -- return t*t*((amount+1)*t-amount); -- }; -- }; -- /** -- * @method backIn -- * @param {Number} t -- * @static -- * @return {Number} -- **/ -- Ease.backIn = Ease.getBackIn(1.7); -- -- /** -- * Configurable "back out" ease. -- * @method getBackOut -- * @param {Number} amount The strength of the ease. -- * @static -- * @return {Function} -- **/ -- Ease.getBackOut = function(amount) { -- return function(t) { -- return (--t*t*((amount+1)*t + amount) + 1); -- }; -- }; -- /** -- * @method backOut -- * @param {Number} t -- * @static -- * @return {Number} -- **/ -- Ease.backOut = Ease.getBackOut(1.7); -- -- /** -- * Configurable "back in out" ease. -- * @method getBackInOut -- * @param {Number} amount The strength of the ease. -- * @static -- * @return {Function} -- **/ -- 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 -- * @param {Number} t -- * @static -- * @return {Number} -- **/ -- Ease.backInOut = Ease.getBackInOut(1.7); -- -- /** -- * @method circIn -- * @param {Number} t -- * @static -- * @return {Number} -- **/ -- Ease.circIn = function(t) { -- return -(Math.sqrt(1-t*t)- 1); -- }; -- -- /** -- * @method circOut -- * @param {Number} t -- * @static -- * @return {Number} -- **/ -- Ease.circOut = function(t) { -- return Math.sqrt(1-(--t)*t); -- }; -- -- /** -- * @method circInOut -- * @param {Number} t -- * @static -- * @return {Number} -- **/ -- 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 -- * @param {Number} t -- * @static -- * @return {Number} -- **/ -- Ease.bounceIn = function(t) { -- return 1-Ease.bounceOut(1-t); -- }; -- -- /** -- * @method bounceOut -- * @param {Number} t -- * @static -- * @return {Number} -- **/ -- 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 -- * @param {Number} t -- * @static -- * @return {Number} -- **/ -- 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 {Number} amplitude -- * @param {Number} period -- * @static -- * @return {Function} -- **/ -- 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 -- * @param {Number} t -- * @static -- * @return {Number} -- **/ -- Ease.elasticIn = Ease.getElasticIn(1,0.3); -- -- /** -- * Configurable elastic ease. -- * @method getElasticOut -- * @param {Number} amplitude -- * @param {Number} period -- * @static -- * @return {Function} -- **/ -- 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 -- * @param {Number} t -- * @static -- * @return {Number} -- **/ -- Ease.elasticOut = Ease.getElasticOut(1,0.3); -- -- /** -- * Configurable elastic ease. -- * @method getElasticInOut -- * @param {Number} amplitude -- * @param {Number} period -- * @static -- * @return {Function} -- **/ -- 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 -- * @param {Number} t -- * @static -- * @return {Number} -- **/ -- Ease.elasticInOut = Ease.getElasticInOut(1,0.3*1.5); -- -- createjs.Ease = Ease; -- --}()); -diff --git a/externs/createjs/target/downloads/TweenJS-0.6.2/src/tweenjs/MotionGuidePlugin.js b/externs/createjs/target/downloads/TweenJS-0.6.2/src/tweenjs/MotionGuidePlugin.js -index 48fe018..7d12309 100644 ---- a/externs/createjs/target/downloads/TweenJS-0.6.2/src/tweenjs/MotionGuidePlugin.js -+++ b/externs/createjs/target/downloads/TweenJS-0.6.2/src/tweenjs/MotionGuidePlugin.js -@@ -31,17 +31,17 @@ - */ - - // namespace: --this.createjs = this.createjs||{}; - --(function() { -- "use strict"; -+ -+ -+ - - /** - * A TweenJS plugin for working with motion guides. - * - * To use, install the plugin after TweenJS has loaded. Next tween the 'guide' property with an object as detailed below. - * -- * createjs.MotionGuidePlugin.install(); -+ * createjs.createjs.MotionGuidePlugin.install(); - * - * <h4>Example</h4> - * -@@ -68,7 +68,7 @@ this.createjs = this.createjs||{}; - * @class MotionGuidePlugin - * @constructor - **/ -- function MotionGuidePlugin() { -+ createjs.MotionGuidePlugin = function() { - throw("MotionGuidePlugin cannot be instantiated.") - }; - -@@ -79,32 +79,32 @@ this.createjs = this.createjs||{}; - * @protected - * @static - **/ -- MotionGuidePlugin.priority = 0; // high priority, should run sooner -+ createjs.MotionGuidePlugin.priority = 0; // high priority, should run sooner - - /** - * @property temporary variable storage - * @private - * @static - */ -- MotionGuidePlugin._rotOffS; -+ createjs.MotionGuidePlugin._rotOffS; - /** - * @property temporary variable storage - * @private - * @static - */ -- MotionGuidePlugin._rotOffE; -+ createjs.MotionGuidePlugin._rotOffE; - /** - * @property temporary variable storage - * @private - * @static - */ -- MotionGuidePlugin._rotNormS; -+ createjs.MotionGuidePlugin._rotNormS; - /** - * @property temporary variable storage - * @private - * @static - */ -- MotionGuidePlugin._rotNormE; -+ createjs.MotionGuidePlugin._rotNormE; - - - // static methods -@@ -113,7 +113,7 @@ this.createjs = this.createjs||{}; - * @method install - * @static - **/ -- MotionGuidePlugin.install = function() { -+ createjs.MotionGuidePlugin.install = function() { - createjs.Tween.installPlugin(MotionGuidePlugin, ["guide", "x", "y", "rotation"]); - return createjs.Tween.IGNORE; - }; -@@ -123,7 +123,7 @@ this.createjs = this.createjs||{}; - * @protected - * @static - **/ -- MotionGuidePlugin.init = function(tween, prop, value) { -+ createjs.MotionGuidePlugin.init = function(tween, prop, value) { - var target = tween.target; - if(!target.hasOwnProperty("x")){ target.x = 0; } - if(!target.hasOwnProperty("y")){ target.y = 0; } -@@ -138,12 +138,12 @@ this.createjs = this.createjs||{}; - * @protected - * @static - **/ -- MotionGuidePlugin.step = function(tween, prop, startValue, endValue, injectProps) { -+ createjs.MotionGuidePlugin.step = function(tween, prop, startValue, endValue, injectProps) { - // other props - if(prop == "rotation"){ - tween.__rotGlobalS = startValue; - tween.__rotGlobalE = endValue; -- MotionGuidePlugin.testRotData(tween, injectProps); -+ createjs.MotionGuidePlugin.testRotData(tween, injectProps); - } - if(prop != "guide"){ return endValue; } - -@@ -191,18 +191,18 @@ this.createjs = this.createjs||{}; - temp = data.orient; - data.orient = true; - var o = {}; -- MotionGuidePlugin.calc(data, data.start, o); -+ createjs.MotionGuidePlugin.calc(data, data.start, o); - tween.__rotPathS = Number(o.rotation.toFixed(5)); -- MotionGuidePlugin.calc(data, data.end, o); -+ createjs.MotionGuidePlugin.calc(data, data.end, o); - tween.__rotPathE = Number(o.rotation.toFixed(5)); - data.orient = false; //here and now we don't know if we need to -- MotionGuidePlugin.calc(data, data.end, injectProps); -+ createjs.MotionGuidePlugin.calc(data, data.end, injectProps); - data.orient = temp; - - // Setup rotation properties - if(!data.orient){ return endValue; } - tween.__guideData = data; -- MotionGuidePlugin.testRotData(tween, injectProps); -+ createjs.MotionGuidePlugin.testRotData(tween, injectProps); - return endValue; - }; - -@@ -211,7 +211,7 @@ this.createjs = this.createjs||{}; - * @protected - * @static - **/ -- MotionGuidePlugin.testRotData = function(tween, injectProps){ -+ createjs.MotionGuidePlugin.testRotData = function(tween, injectProps){ - - // no rotation informat? if we need it come back, if we don't use 0 & ensure we have guide data - if(tween.__rotGlobalS === undefined || tween.__rotGlobalE === undefined){ -@@ -256,13 +256,13 @@ this.createjs = this.createjs||{}; - * @protected - * @static - **/ -- MotionGuidePlugin.tween = function(tween, prop, value, startValues, endValues, ratio, wait, end) { -+ createjs.MotionGuidePlugin.tween = function(tween, prop, value, startValues, endValues, ratio, wait, end) { - var data = endValues.guide; - if(data == undefined || data === startValues.guide){ return value; } - if(data.lastRatio != ratio){ - // first time through so calculate what I need to - var t = ((data.end-data.start)*(wait?data.end:ratio)+data.start); -- MotionGuidePlugin.calc(data, t, tween.target); -+ createjs.MotionGuidePlugin.calc(data, t, tween.target); - switch(data.orient){ - case "cw": // mix in the original rotation - case "ccw": -@@ -279,13 +279,13 @@ this.createjs = this.createjs||{}; - /** - * Determine the appropriate x/y/rotation information about a path for a given ratio along the path. - * Assumes a path object with all optional parameters specified. -- * @param data Data object you would pass to the "guide:" property in a Tween -- * @param ratio 0-1 Distance along path, values outside 0-1 are "best guess" -- * @param target Object to copy the results onto, will use a new object if not supplied. -+ * @param {Object} data Data object you would pass to the "guide:" property in a Tween -+ * @param {Number} ratio 0-1 Distance along path, values outside 0-1 are "best guess" -+ * @param {Object} target Object to copy the results onto, will use a new object if not supplied. - * @return {Object} The target object or a new object w/ the tweened properties - * @static - */ -- MotionGuidePlugin.calc = function(data, ratio, target) { -+ createjs.MotionGuidePlugin.calc = function(data, ratio, target) { - if(data._segments == undefined){ throw("Missing critical pre-calculated information, please file a bug"); } - if(target == undefined){ target = {x:0, y:0, rotation:0}; } - var seg = data._segments; -@@ -326,6 +326,6 @@ this.createjs = this.createjs||{}; - return target; - }; - -- createjs.MotionGuidePlugin = MotionGuidePlugin; - --}()); -+ -+ -diff --git a/externs/createjs/target/downloads/TweenJS-0.6.2/src/tweenjs/SamplePlugin.js b/externs/createjs/target/downloads/TweenJS-0.6.2/src/tweenjs/SamplePlugin.js -index 371baa7..4bfca8c 100644 ---- a/externs/createjs/target/downloads/TweenJS-0.6.2/src/tweenjs/SamplePlugin.js -+++ b/externs/createjs/target/downloads/TweenJS-0.6.2/src/tweenjs/SamplePlugin.js -@@ -31,10 +31,10 @@ - */ - - // namespace: --this.createjs = this.createjs||{}; - --(function() { -- "use strict"; -+ -+ -+ - - /** - * A sample TweenJS plugin. This plugin does not actually affect tweens in any way, it's merely intended to document -@@ -45,7 +45,7 @@ this.createjs = this.createjs||{}; - * @class SamplePlugin - * @constructor - **/ -- function SamplePlugin() { -+ createjs.SamplePlugin = function() { - throw("SamplePlugin cannot be instantiated.") - }; - -@@ -56,7 +56,7 @@ this.createjs = this.createjs||{}; - * @property priority - * @static - **/ -- SamplePlugin.priority = 0; -+ createjs.SamplePlugin.priority = 0; - - /** - * Installs this plugin for use with TweenJS, and registers for a list of properties that this plugin will operate -@@ -64,7 +64,7 @@ this.createjs = this.createjs||{}; - * @method install - * @static - **/ -- SamplePlugin.install = function() { -+ createjs.SamplePlugin.install = function() { - // this registers this plugin to work with the "test" property. - createjs.Tween.installPlugin(SamplePlugin, ["test"]); - }; -@@ -75,12 +75,12 @@ this.createjs = this.createjs||{}; - * @method init - * @param {Tween} tween The related tween instance. - * @param {String} prop The name of the property that is being initialized. -- * @param {any} value The current value of the property on the tween's target. -- * @return {any} The starting tween value for the property. In most cases, you would simply -+ * @param {Object} value The current value of the property on the tween's target. -+ * @return {Object} The starting tween value for the property. In most cases, you would simply - * return the value parameter, but some plugins may need to modify the starting value. - * @static - **/ -- SamplePlugin.init = function(tween, prop, value) { -+ createjs.SamplePlugin.init = function(tween, prop, value) { - console.log("init", prop, value); - - // return the unmodified property value: -@@ -93,14 +93,14 @@ this.createjs = this.createjs||{}; - * @method init - * @param {Tween} tween The related tween instance. - * @param {String} prop The name of the property being tweened. -- * @param {any} startValue The value of the property at the beginning of the step. This will -+ * @param {Object} startValue The value of the property at the beginning of the step. This will - * be the same as the init value if this is the first step, or the same as the - * endValue of the previous step if not. - * @param {Object} injectProps A generic object to which the plugin can append other properties which should be updated on this step. -- * @param {any} endValue The value of the property at the end of the step. -+ * @param {Object} endValue The value of the property at the end of the step. - * @static - **/ -- SamplePlugin.step = function(tween, prop, startValue, endValue, injectProps) { -+ createjs.SamplePlugin.step = function(tween, prop, startValue, endValue, injectProps) { - console.log("to: ", prop, startValue, endValue); - }; - -@@ -109,7 +109,7 @@ this.createjs = this.createjs||{}; - * @method tween - * @param {Tween} tween The related tween instance. - * @param {String} prop The name of the property being tweened. -- * @param {any} value The current tweened value of the property, as calculated by TweenJS. -+ * @param {Object} value The current tweened value of the property, as calculated by TweenJS. - * @param {Object} startValues A hash of all of the property values at the start of the current - * step. You could access the start value of the current property using - * startValues[prop]. -@@ -120,13 +120,13 @@ this.createjs = this.createjs||{}; - * this range. - * @param {Boolean} wait Indicates whether the current step is a "wait" step. - * @param {Boolean} end Indicates that the tween has reached the end. -- * @return {any} Return the value that should be assigned to the target property. For example -+ * @return {Object} Return the value that should be assigned to the target property. For example - * returning <code>Math.round(value)</code> would assign the default calculated value - * as an integer. Returning Tween.IGNORE will prevent Tween from assigning a value to - * the target property. - * @static - **/ -- SamplePlugin.tween = function(tween, prop, value, startValues, endValues, ratio, wait, end) { -+ createjs.SamplePlugin.tween = function(tween, prop, value, startValues, endValues, ratio, wait, end) { - // ratio is the eased ratio - console.log("tween", prop, value, ratio, wait, end); - -@@ -135,6 +135,6 @@ this.createjs = this.createjs||{}; - }; - - -- createjs.SamplePlugin = SamplePlugin; - --}()); -+ -+ -diff --git a/externs/createjs/target/downloads/TweenJS-0.6.2/src/tweenjs/Timeline.js b/externs/createjs/target/downloads/TweenJS-0.6.2/src/tweenjs/Timeline.js -index 5546bc2..e65320d 100644 ---- a/externs/createjs/target/downloads/TweenJS-0.6.2/src/tweenjs/Timeline.js -+++ b/externs/createjs/target/downloads/TweenJS-0.6.2/src/tweenjs/Timeline.js -@@ -1,444 +1,154 @@ --/* --* Timeline --* 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. --*/ -- -+/** @fileoverview Auto-generated Externs files -+ * @externs -+ */ - /** -- * @module TweenJS -+ * The Timeline class synchronizes multiple tweens and allows them to be controlled as a group. Please note that if a -+ * timeline is looping, the tweens on it may appear to loop even if the "loop" property of the tween is false. -+ * -+ * @see [Timeline] -+ * @param {(Array|null)} tweens An array of Tweens to add to this timeline. See {{#crossLink "Timeline/addTween"}}{{/crossLink}} for more info. -+ * @param {(Object|null)} labels An object defining labels for using {{#crossLink "Timeline/gotoAndPlay"}}{{/crossLink}}/{{#crossLink "Timeline/gotoAndStop"}}{{/crossLink}}. See {{#crossLink "Timeline/setLabels"}}{{/crossLink}} for details. -+ * @param {(Object|null)} props The configuration properties to apply to this tween instance (ex. `{loop:true}`). All properties default to false. Supported props are:<UL> <LI> loop: sets the loop property on this tween.</LI> <LI> useTicks: uses ticks for all durations instead of milliseconds.</LI> <LI> ignoreGlobalPause: sets the ignoreGlobalPause property on this tween.</LI> <LI> paused: indicates whether to start the tween paused.</LI> <LI> position: indicates the initial position for this timeline.</LI> <LI> onChange: specifies a listener to add for the {{#crossLink "Timeline/change:event"}}{{/crossLink}} event.</LI> </UL> -+ * @constructor -+ * @extends createjs.EventDispatcher - */ -+createjs.Timeline = function (tweens, labels, props) {} -+ -+ /** -+ * @see [Timeline] -+ */ -+createjs.Timeline.prototype.clone = function () { } -+ -+ /** -+ * If a numeric position is passed, it is returned unchanged. If a string is passed, the position of the -+ * corresponding frame label will be returned, or `null` if a matching label is not defined. -+ * -+ * @param {(number|string|null)} positionOrLabel A numeric position value or label string. -+ * @see [Timeline] -+ */ -+createjs.Timeline.prototype.resolve = function (positionOrLabel) { } -+ -+ /** -+ * Adds a label that can be used with {{#crossLink "Timeline/gotoAndPlay"}}{{/crossLink}}/{{#crossLink "Timeline/gotoAndStop"}}{{/crossLink}}. -+ * -+ * @param {(string|null)} label The label name. -+ * @param {(number|null)} position The position this label represents. -+ * @see [Timeline] -+ */ -+createjs.Timeline.prototype.addLabel = function (label, position) { } -+ -+ /** -+ * @param {(number|null)} value -+ * @see [Timeline] -+ * @returns {(number|null)} -+ */ -+createjs.Timeline.prototype._calcPosition = function (value) { return 0; } -+ -+ /** -+ * Pauses this timeline and jumps to the specified position or label. -+ * -+ * @param {(number|string|null)} positionOrLabel The position in milliseconds (or ticks if `useTicks` is `true`) or label to jump to. -+ * @see [Timeline] -+ */ -+createjs.Timeline.prototype.gotoAndStop = function (positionOrLabel) { } -+ -+ /** -+ * Removes one or more tweens from this timeline. -+ * -+ * @see [Timeline] -+ * @returns {?} Boolean Returns `true` if all of the tweens were successfully removed. -+ */ -+createjs.Timeline.prototype.removeTween = function (tween) { return null; } -+ -+ /** -+ * Returns the name of the label on or immediately before the current position. For example, given a timeline with -+ * two labels, "first" on frame index 4, and "second" on frame 8, getCurrentLabel would return: -+ * <UL> -+ * <LI>null if the current position is 2.</LI> -+ * <LI>"first" if the current position is 4.</LI> -+ * <LI>"first" if the current position is 7.</LI> -+ * <LI>"second" if the current position is 15.</LI> -+ * </UL> -+ * -+ * @see [Timeline] -+ * @returns {(string|null)} The name of the current label or null if there is no label -+ */ -+createjs.Timeline.prototype.getCurrentLabel = function () { return ''; } -+ -+ /** -+ * Advances the timeline to the specified position. -+ * -+ * @param {(number|null)} value The position to seek to in milliseconds (or ticks if `useTicks` is `true`). -+ * @param {number=} opt_actionsMode parameter specifying how actions are handled. See the Tween {{#crossLink "Tween/setPosition"}}{{/crossLink}} method for more details. -+ * @see [Timeline] -+ * @returns {(boolean|null)} Returns `true` if the timeline is complete (ie. the full timeline has run & {{#crossLink "Timeline/loop:property"}}{{/crossLink}} is `false`). -+ */ -+createjs.Timeline.prototype.setPosition = function (value, opt_actionsMode) { return null; } -+ -+ /** -+ * Pauses or plays this timeline. -+ * -+ * @param {(boolean|null)} value Indicates whether the tween should be paused (`true`) or played (`false`). -+ * @see [Timeline] -+ */ -+createjs.Timeline.prototype.setPaused = function (value) { } -+ -+ /** -+ * Advances this timeline by the specified amount of time in milliseconds (or ticks if `useTicks` is `true`). -+ * This is normally called automatically by the Tween engine (via the {{#crossLink "Tween/tick:event"}}{{/crossLink}} -+ * event), but is exposed for advanced uses. -+ * -+ * @param {(number|null)} delta The time to advance in milliseconds (or ticks if useTicks is true). -+ * @see [Timeline] -+ */ -+createjs.Timeline.prototype.tick = function (delta) { } -+ -+ /** -+ * @param {(number|string|null)} positionOrLabel -+ * @see [Timeline] -+ */ -+createjs.Timeline.prototype._goto = function (positionOrLabel) { } -+ -+ /** -+ * Returns a sorted list of the labels defined on this timeline. -+ * -+ * @see [Timeline] -+ * @returns {(Array|null)} Object]} A sorted array of objects with label and position properties. -+ */ -+createjs.Timeline.prototype.getLabels = function () { return null; } -+ -+ /** -+ * Recalculates the duration of the timeline. The duration is automatically updated when tweens are added or removed, -+ * but this method is useful if you modify a tween after it was added to the timeline. -+ * -+ * @see [Timeline] -+ */ -+createjs.Timeline.prototype.updateDuration = function () { } -+ -+ /** -+ * Adds one or more tweens (or timelines) to this timeline. The tweens will be paused (to remove them from the -+ * normal ticking system) and managed by this timeline. Adding a tween to multiple timelines will result in -+ * unexpected behaviour. -+ * -+ * @see [Timeline] -+ * @returns {(Tween|null)} The first tween that was passed in. -+ */ -+createjs.Timeline.prototype.addTween = function (tween) { return null; } -+ -+ -+ /** -+ * Defines labels for use with gotoAndPlay/Stop. Overwrites any previously set labels. -+ * -+ * @param {(Object|null)} o An object defining labels for using {{#crossLink "Timeline/gotoAndPlay"}}{{/crossLink}}/{{#crossLink "Timeline/gotoAndStop"}}{{/crossLink}} in the form `{labelName:time}` where time is in milliseconds (or ticks if `useTicks` is `true`). -+ * @see [Timeline] -+ */ -+createjs.Timeline.prototype.setLabels = function (o) { } -+ -+ /** -+ * Unpauses this timeline and jumps to the specified position or label. -+ * -+ * @param {(number|string|null)} positionOrLabel The position in milliseconds (or ticks if `useTicks` is `true`) or label to jump to. -+ * @see [Timeline] -+ */ -+createjs.Timeline.prototype.gotoAndPlay = function (positionOrLabel) { } - --// namespace: --this.createjs = this.createjs||{}; -- -- --(function() { -- "use strict"; -- -- --// constructor -- /** -- * The Timeline class synchronizes multiple tweens and allows them to be controlled as a group. Please note that if a -- * timeline is looping, the tweens on it may appear to loop even if the "loop" property of the tween is false. -- * @class Timeline -- * @param {Array} tweens An array of Tweens to add to this timeline. See {{#crossLink "Timeline/addTween"}}{{/crossLink}} -- * for more info. -- * @param {Object} labels An object defining labels for using {{#crossLink "Timeline/gotoAndPlay"}}{{/crossLink}}/{{#crossLink "Timeline/gotoAndStop"}}{{/crossLink}}. -- * See {{#crossLink "Timeline/setLabels"}}{{/crossLink}} -- * for details. -- * @param {Object} props The configuration properties to apply to this tween instance (ex. `{loop:true}`). All properties -- * default to false. Supported props are:<UL> -- * <LI> loop: sets the loop property on this tween.</LI> -- * <LI> useTicks: uses ticks for all durations instead of milliseconds.</LI> -- * <LI> ignoreGlobalPause: sets the ignoreGlobalPause property on this tween.</LI> -- * <LI> paused: indicates whether to start the tween paused.</LI> -- * <LI> position: indicates the initial position for this timeline.</LI> -- * <LI> onChange: specifies a listener to add for the {{#crossLink "Timeline/change:event"}}{{/crossLink}} event.</LI> -- * </UL> -- * @extends EventDispatcher -- * @constructor -- **/ -- function Timeline(tweens, labels, props) { -- this.EventDispatcher_constructor(); -- -- // public properties: -- /** -- * Causes this timeline to continue playing when a global pause is active. -- * @property ignoreGlobalPause -- * @type Boolean -- **/ -- this.ignoreGlobalPause = false; -- -- /** -- * The total duration of this timeline in milliseconds (or ticks if `useTicks `is `true`). This value is usually -- * automatically updated as you modify the timeline. See {{#crossLink "Timeline/updateDuration"}}{{/crossLink}} -- * for more information. -- * @property duration -- * @type Number -- * @default 0 -- * @readonly -- **/ -- this.duration = 0; -- -- /** -- * If true, the timeline will loop when it reaches the end. Can be set via the props param. -- * @property loop -- * @type Boolean -- **/ -- this.loop = false; -- -- /** -- * The current normalized position of the timeline. This will always be a value between 0 and -- * {{#crossLink "Timeline/duration:property"}}{{/crossLink}}. -- * Changing this property directly will have no effect. -- * @property position -- * @type Object -- * @readonly -- **/ -- this.position = null; -- -- // private properties: -- /** -- * @property _paused -- * @type Boolean -- * @protected -- **/ -- this._paused = false; -- -- /** -- * @property _tweens -- * @type Array[Tween] -- * @protected -- **/ -- this._tweens = []; -- -- /** -- * @property _labels -- * @type Object -- * @protected -- **/ -- this._labels = null; -- -- /** -- * @property _labelList -- * @type Array[Object] -- * @protected -- **/ -- this._labelList = null; -- -- /** -- * @property _prevPosition -- * @type Number -- * @default 0 -- * @protected -- **/ -- this._prevPosition = 0; -- -- /** -- * @property _prevPos -- * @type Number -- * @default -1 -- * @protected -- **/ -- this._prevPos = -1; -- -- /** -- * @property _useTicks -- * @type Boolean -- * @default false -- * @protected -- **/ -- this._useTicks = false; -- -- /** -- * Indicates whether the timeline is currently registered with Tween. -- * @property _registered -- * @type {boolean} -- * @default false -- * @protected -- */ -- this._registered = false; -- -- -- if (props) { -- this._useTicks = props.useTicks; -- this.loop = props.loop; -- this.ignoreGlobalPause = props.ignoreGlobalPause; -- props.onChange&&this.addEventListener("change", props.onChange); -- } -- if (tweens) { this.addTween.apply(this, tweens); } -- this.setLabels(labels); -- if (props&&props.paused) { this._paused=true; } -- else { createjs.Tween._register(this,true); } -- if (props&&props.position!=null) { this.setPosition(props.position, createjs.Tween.NONE); } -- -- }; -- -- var p = createjs.extend(Timeline, createjs.EventDispatcher); -- -- // TODO: deprecated -- // p.initialize = function() {}; // searchable for devs wondering where it is. REMOVED. See docs for details. -- -- --// events: -- /** -- * Called whenever the timeline's position changes. -- * @event change -- * @since 0.5.0 -- **/ -- -- --// public methods: -- /** -- * Adds one or more tweens (or timelines) to this timeline. The tweens will be paused (to remove them from the -- * normal ticking system) and managed by this timeline. Adding a tween to multiple timelines will result in -- * unexpected behaviour. -- * @method addTween -- * @param {Tween} ...tween The tween(s) to add. Accepts multiple arguments. -- * @return {Tween} The first tween that was passed in. -- **/ -- p.addTween = function(tween) { -- var l = arguments.length; -- if (l > 1) { -- for (var i=0; i<l; i++) { this.addTween(arguments[i]); } -- return arguments[0]; -- } else if (l == 0) { return null; } -- this.removeTween(tween); -- this._tweens.push(tween); -- tween.setPaused(true); -- tween._paused = false; -- tween._useTicks = this._useTicks; -- if (tween.duration > this.duration) { this.duration = tween.duration; } -- if (this._prevPos >= 0) { tween.setPosition(this._prevPos, createjs.Tween.NONE); } -- return tween; -- }; -- -- /** -- * Removes one or more tweens from this timeline. -- * @method removeTween -- * @param {Tween} ...tween The tween(s) to remove. Accepts multiple arguments. -- * @return Boolean Returns `true` if all of the tweens were successfully removed. -- **/ -- p.removeTween = function(tween) { -- var l = arguments.length; -- if (l > 1) { -- var good = true; -- for (var i=0; i<l; i++) { good = good && this.removeTween(arguments[i]); } -- return good; -- } else if (l == 0) { return false; } -- -- var tweens = this._tweens; -- var i = tweens.length; -- while (i--) { -- if (tweens[i] == tween) { -- tweens.splice(i, 1); -- if (tween.duration >= this.duration) { this.updateDuration(); } -- return true; -- } -- } -- return false; -- }; -- -- /** -- * Adds a label that can be used with {{#crossLink "Timeline/gotoAndPlay"}}{{/crossLink}}/{{#crossLink "Timeline/gotoAndStop"}}{{/crossLink}}. -- * @method addLabel -- * @param {String} label The label name. -- * @param {Number} position The position this label represents. -- **/ -- p.addLabel = function(label, position) { -- this._labels[label] = position; -- var list = this._labelList; -- if (list) { -- for (var i= 0,l=list.length; i<l; i++) { if (position < list[i].position) { break; } } -- list.splice(i, 0, {label:label, position:position}); -- } -- }; -- -- /** -- * Defines labels for use with gotoAndPlay/Stop. Overwrites any previously set labels. -- * @method setLabels -- * @param {Object} o An object defining labels for using {{#crossLink "Timeline/gotoAndPlay"}}{{/crossLink}}/{{#crossLink "Timeline/gotoAndStop"}}{{/crossLink}} -- * in the form `{labelName:time}` where time is in milliseconds (or ticks if `useTicks` is `true`). -- **/ -- p.setLabels = function(o) { -- this._labels = o ? o : {}; -- }; -- -- /** -- * Returns a sorted list of the labels defined on this timeline. -- * @method getLabels -- * @return {Array[Object]} A sorted array of objects with label and position properties. -- **/ -- p.getLabels = function() { -- var list = this._labelList; -- if (!list) { -- list = this._labelList = []; -- var labels = this._labels; -- for (var n in labels) { -- list.push({label:n, position:labels[n]}); -- } -- list.sort(function (a,b) { return a.position- b.position; }); -- } -- return list; -- }; -- -- /** -- * Returns the name of the label on or immediately before the current position. For example, given a timeline with -- * two labels, "first" on frame index 4, and "second" on frame 8, getCurrentLabel would return: -- * <UL> -- * <LI>null if the current position is 2.</LI> -- * <LI>"first" if the current position is 4.</LI> -- * <LI>"first" if the current position is 7.</LI> -- * <LI>"second" if the current position is 15.</LI> -- * </UL> -- * @method getCurrentLabel -- * @return {String} The name of the current label or null if there is no label -- **/ -- p.getCurrentLabel = function() { -- var labels = this.getLabels(); -- var pos = this.position; -- var l = labels.length; -- if (l) { -- for (var i = 0; i<l; i++) { if (pos < labels[i].position) { break; } } -- return (i==0) ? null : labels[i-1].label; -- } -- return null; -- }; -- -- /** -- * Unpauses this timeline and jumps to the specified position or label. -- * @method gotoAndPlay -- * @param {String|Number} positionOrLabel The position in milliseconds (or ticks if `useTicks` is `true`) -- * or label to jump to. -- **/ -- p.gotoAndPlay = function(positionOrLabel) { -- this.setPaused(false); -- this._goto(positionOrLabel); -- }; -- -- /** -- * Pauses this timeline and jumps to the specified position or label. -- * @method gotoAndStop -- * @param {String|Number} positionOrLabel The position in milliseconds (or ticks if `useTicks` is `true`) or label -- * to jump to. -- **/ -- p.gotoAndStop = function(positionOrLabel) { -- this.setPaused(true); -- this._goto(positionOrLabel); -- }; -- -- /** -- * Advances the timeline to the specified position. -- * @method setPosition -- * @param {Number} value The position to seek to in milliseconds (or ticks if `useTicks` is `true`). -- * @param {Number} [actionsMode] parameter specifying how actions are handled. See the Tween {{#crossLink "Tween/setPosition"}}{{/crossLink}} -- * method for more details. -- * @return {Boolean} Returns `true` if the timeline is complete (ie. the full timeline has run & {{#crossLink "Timeline/loop:property"}}{{/crossLink}} -- * is `false`). -- **/ -- p.setPosition = function(value, actionsMode) { -- var t = this._calcPosition(value); -- var end = !this.loop && value >= this.duration; -- if (t == this._prevPos) { return end; } -- this._prevPosition = value; -- this.position = this._prevPos = t; // in case an action changes the current frame. -- for (var i=0, l=this._tweens.length; i<l; i++) { -- this._tweens[i].setPosition(t, actionsMode); -- if (t != this._prevPos) { return false; } // an action changed this timeline's position. -- } -- if (end) { this.setPaused(true); } -- this.dispatchEvent("change"); -- return end; -- }; -- -- /** -- * Pauses or plays this timeline. -- * @method setPaused -- * @param {Boolean} value Indicates whether the tween should be paused (`true`) or played (`false`). -- **/ -- p.setPaused = function(value) { -- this._paused = !!value; -- createjs.Tween._register(this, !value); -- }; -- -- /** -- * Recalculates the duration of the timeline. The duration is automatically updated when tweens are added or removed, -- * but this method is useful if you modify a tween after it was added to the timeline. -- * @method updateDuration -- **/ -- p.updateDuration = function() { -- this.duration = 0; -- for (var i=0,l=this._tweens.length; i<l; i++) { -- var tween = this._tweens[i]; -- if (tween.duration > this.duration) { this.duration = tween.duration; } -- } -- }; -- -- /** -- * Advances this timeline by the specified amount of time in milliseconds (or ticks if `useTicks` is `true`). -- * This is normally called automatically by the Tween engine (via the {{#crossLink "Tween/tick:event"}}{{/crossLink}} -- * event), but is exposed for advanced uses. -- * @method tick -- * @param {Number} delta The time to advance in milliseconds (or ticks if useTicks is true). -- **/ -- p.tick = function(delta) { -- this.setPosition(this._prevPosition+delta); -- }; -- -- /** -- * If a numeric position is passed, it is returned unchanged. If a string is passed, the position of the -- * corresponding frame label will be returned, or `null` if a matching label is not defined. -- * @method resolve -- * @param {String|Number} positionOrLabel A numeric position value or label string. -- **/ -- p.resolve = function(positionOrLabel) { -- var pos = Number(positionOrLabel); -- if (isNaN(pos)) { pos = this._labels[positionOrLabel]; } -- return pos; -- }; -- -- /** -- * Returns a string representation of this object. -- * @method toString -- * @return {String} a string representation of the instance. -- **/ -- p.toString = function() { -- return "[Timeline]"; -- }; -- -- /** -- * @method clone -- * @protected -- **/ -- p.clone = function() { -- throw("Timeline can not be cloned.") -- }; -- --// private methods: -- /** -- * @method _goto -- * @param {String | Number} positionOrLabel -- * @protected -- **/ -- p._goto = function(positionOrLabel) { -- var pos = this.resolve(positionOrLabel); -- if (pos != null) { this.setPosition(pos); } -- }; -- -- /** -- * @method _calcPosition -- * @param {Number} value -- * @return {Number} -- * @protected -- **/ -- p._calcPosition = function(value) { -- if (value < 0) { return 0; } -- if (value < this.duration) { return value; } -- return this.loop ? value%this.duration : this.duration; -- }; -- -- createjs.Timeline = createjs.promote(Timeline, "EventDispatcher"); -- --}()); -diff --git a/externs/createjs/target/downloads/TweenJS-0.6.2/src/tweenjs/Tween.js b/externs/createjs/target/downloads/TweenJS-0.6.2/src/tweenjs/Tween.js -index 8945830..0cfda90 100644 ---- a/externs/createjs/target/downloads/TweenJS-0.6.2/src/tweenjs/Tween.js -+++ b/externs/createjs/target/downloads/TweenJS-0.6.2/src/tweenjs/Tween.js -@@ -1,941 +1,283 @@ --/* --* Tween --* 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. --*/ -- -+/** @fileoverview Auto-generated Externs files -+ * @externs -+ */ - /** -- * The TweenJS Javascript library provides a simple but powerful tweening interface. It supports tweening of both -- * numeric object properties & CSS style properties, and allows you to chain tweens and actions together to create -- * complex sequences. -- * -- * <h4>Simple Tween</h4> -- * This tween will tween the target's alpha property from 0 to 1 for 1s then call the <code>handleComplete</code> function. -- * -- * target.alpha = 0; -- * createjs.Tween.get(target).to({alpha:1}, 1000).call(handleComplete); -- * function handleComplete() { -- * //Tween complete -- * } -- * -- * <strong>Arguments and Scope</strong> -- * Tween also supports a `call()` with arguments and/or a scope. If no scope is passed, then the function is called -- * anonymously (normal JavaScript behaviour). The scope is useful for maintaining scope when doing object-oriented -- * style development. -- * -- * createjs.Tween.get(target).to({alpha:0}) -- * .call(handleComplete, [argument1, argument2], this); -- * -- * <h4>Chainable Tween</h4> -- * This tween will wait 0.5s, tween the target's alpha property to 0 over 1s, set it's visible to false, then call the -- * <code>handleComplete</code> function. -- * -- * target.alpha = 1; -- * createjs.Tween.get(target).wait(500).to({alpha:0, visible:false}, 1000).call(handleComplete); -- * function handleComplete() { -- * //Tween complete -- * } -- * -- * <h4>Browser Support</h4> -- * TweenJS will work in modern browsers. To use TweenJS with IE8 and earlier, use an older version of PreloadJS -- * (version 0.4.1 and earlier). -+ * A Tween instance tweens properties for a single target. Instance methods can be chained for easy construction and sequencing: -+ * -+ * <h4>Example</h4> -+ * -+ * target.alpha = 1; -+ * createjs.createjs.Tween.get(target) -+ * .wait(500) -+ * .to({alpha:0, visible:false}, 1000) -+ * .call(handleComplete); -+ * function handleComplete() { -+ * //Tween complete -+ * } -+ * -+ * Multiple tweens can point to the same instance, however if they affect the same properties there could be unexpected -+ * behaviour. To stop all tweens on an object, use {{#crossLink "Tween/removeTweens"}}{{/crossLink}} or pass `override:true` -+ * in the props argument. -+ * -+ * createjs.createjs.Tween.get(target, {override:true}).to({x:100}); -+ * -+ * Subscribe to the {{#crossLink "Tween/change:event"}}{{/crossLink}} event to get notified when a property of the -+ * target is changed. -+ * -+ * createjs.createjs.Tween.get(target, {override:true}).to({x:100}).addEventListener("change", handleChange); -+ * function handleChange(event) { -+ * // The tween changed. -+ * } -+ * -+ * See the Tween {{#crossLink "Tween/get"}}{{/crossLink}} method for additional param documentation. - * -- * @module TweenJS -- * @main TweenJS -+ * @see [Tween] -+ * @param {(Object|null)} target The target object that will have its properties tweened. -+ * @param {Object=} opt_props The configuration properties to apply to this tween instance (ex. `{loop:true, paused:true}`. All properties default to false. Supported props are:<UL> <LI> loop: sets the loop property on this tween.</LI> <LI> useTicks: uses ticks for all durations instead of milliseconds.</LI> <LI> ignoreGlobalPause: sets the {{#crossLink "Tween/ignoreGlobalPause:property"}}{{/crossLink}} property on this tween.</LI> <LI> override: if true, `createjs.Tween.removeTweens(target)` will be called to remove any other tweens with the same target. <LI> paused: indicates whether to start the tween paused.</LI> <LI> position: indicates the initial position for this tween.</LI> <LI> onChange: specifies a listener for the "change" event.</LI> </UL> -+ * @param {Object=} opt_pluginData An object containing data for use by installed plugins. See individual plugins' documentation for details. -+ * @constructor -+ * @extends createjs.EventDispatcher - */ -+createjs.Tween = function (target, opt_props, opt_pluginData) {} -+ -+ /** -+ * Advances all tweens. This typically uses the {{#crossLink "Ticker"}}{{/crossLink}} class, but you can call it -+ * manually if you prefer to use your own "heartbeat" implementation. -+ * -+ * @param {(number|null)} delta The change in time in milliseconds since the last tick. Required unless all tweens have `useTicks` set to true. -+ * @param {(boolean|null)} paused Indicates whether a global pause is in effect. Tweens with {{#crossLink "Tween/ignoreGlobalPause:property"}}{{/crossLink}} will ignore this, but all others will pause if this is `true`. -+ * @see [Tween] -+ */ -+createjs.Tween.tick = function (delta, paused) { } -+ -+ /** -+ * Stop and remove all existing tweens. -+ * -+ * @see [Tween] -+ */ -+createjs.Tween.removeAllTweens = function () { } -+ -+ /** -+ * Returns a new tween instance. This is functionally identical to using "new Tween(...)", but looks cleaner -+ * with the chained syntax of TweenJS. -+ * <h4>Example</h4> -+ * -+ * var tween = createjs.createjs.Tween.get(target); -+ * -+ * @param {(Object|null)} target The target object that will have its properties tweened. -+ * @param {Object=} opt_props The configuration properties to apply to this tween instance (ex. `{loop:true, paused:true}`). All properties default to `false`. Supported props are: <UL> <LI> loop: sets the loop property on this tween.</LI> <LI> useTicks: uses ticks for all durations instead of milliseconds.</LI> <LI> ignoreGlobalPause: sets the {{#crossLink "Tween/ignoreGlobalPause:property"}}{{/crossLink}} property on this tween.</LI> <LI> override: if true, `createjs.createjs.Tween.removeTweens(target)` will be called to remove any other tweens with the same target. <LI> paused: indicates whether to start the tween paused.</LI> <LI> position: indicates the initial position for this tween.</LI> <LI> onChange: specifies a listener for the {{#crossLink "Tween/change:event"}}{{/crossLink}} event.</LI> </UL> -+ * @param {Object=} opt_pluginData An object containing data for use by installed plugins. See individual plugins' documentation for details. -+ * @param {boolean=} opt_override If true, any previous tweens on the same target will be removed. This is the same as calling `createjs.Tween.removeTweens(target)`. -+ * @see [Tween] -+ * @returns {(Tween|null)} A reference to the created tween. Additional chained tweens, method calls, or callbacks can be applied to the returned tween instance. -+ */ -+createjs.Tween.get = function (target, opt_props, opt_pluginData, opt_override) { return null; } -+ -+ /** -+ * Handle events that result from Tween being used as an event handler. This is included to allow Tween to handle -+ * {{#crossLink "Ticker/tick:event"}}{{/crossLink}} events from the createjs {{#crossLink "Ticker"}}{{/crossLink}}. -+ * No other events are handled in createjs.Tween. -+ * -+ * @param {(Object|null)} event An event object passed in by the {{#crossLink "EventDispatcher"}}{{/crossLink}}. Will usually be of type "tick". -+ * @see [Tween] -+ */ -+createjs.Tween.handleEvent = function (event) { } -+ -+ /** -+ * Indicates whether there are any active tweens (and how many) on the target object (if specified) or in general. -+ * -+ * @param {Object=} opt_target The target to check for active tweens. If not specified, the return value will indicate if there are any active tweens on any target. -+ * @see [Tween] -+ * @returns {(boolean|null)} If there are active tweens. -+ */ -+createjs.Tween.hasActiveTweens = function (opt_target) { return null; } -+ -+ /** -+ * Installs a plugin, which can modify how certain properties are handled when tweened. See the {{#crossLink "CSSPlugin"}}{{/crossLink}} -+ * for an example of how to write TweenJS plugins. -+ * -+ * @param {(Object|null)} plugin The plugin class to install -+ * @param {(Array|null)} properties An array of properties that the plugin will handle. -+ * @see [Tween] -+ */ -+createjs.Tween.installPlugin = function (plugin, properties) { } -+ -+ /** -+ * Removes all existing tweens for a target. This is called automatically by new tweens if the `override` -+ * property is `true`. -+ * -+ * @param {(Object|null)} target The target object to remove existing tweens from. -+ * @see [Tween] -+ */ -+createjs.Tween.removeTweens = function (target) { } -+ -+ /** -+ * Registers or unregisters a tween with the ticking system. -+ * -+ * @param {(Tween|null)} tween The tween instance to register or unregister. -+ * @param {(boolean|null)} value If `true`, the tween is registered. If `false` the tween is unregistered. -+ * @see [Tween] -+ */ -+createjs.Tween._register = function (tween, value) { } -+ -+ /** -+ * @param {(Object|null)} o -+ * @see [Tween] -+ */ -+createjs.Tween.prototype._addAction = function (o) { } -+ -+ /** -+ * Queues a tween from the current values to the target properties. Set duration to 0 to jump to these value. -+ * Numeric properties will be tweened from their current value in the tween to the target value. Non-numeric -+ * properties will be set at the end of the specified duration. -+ * <h4>Example</h4> -+ * -+ * createjs.createjs.Tween.get(target).to({alpha:0}, 1000); -+ * -+ * @param {(Object|null)} props An object specifying property target values for this tween (Ex. `{x:300}` would tween the x property of the target to 300). -+ * @param {number=} opt_duration The duration of the wait in milliseconds (or in ticks if `useTicks` is true). -+ * @param {Function=} opt_ease The easing function to use for this tween. See the {{#crossLink "Ease"}}{{/crossLink}} class for a list of built-in ease functions. -+ * @see [Tween] -+ * @returns {(Tween|null)} This tween instance (for chaining calls). -+ */ -+createjs.Tween.prototype.to = function (props, opt_duration, opt_ease) { return null; } -+ -+ /** -+ * Queues an action to call the specified function. -+ * <h4>Example</h4> -+ * -+ * //would call myFunction() after 1 second. -+ * mycreatejs.Tween.wait(1000).call(myFunction); -+ * -+ * @param {(Function|null)} callback The function to call. -+ * @param {Array=} opt_params . The parameters to call the function with. If this is omitted, then the function will be called with a single param pointing to this tween. -+ * @param {Object=} opt_scope . The scope to call the function in. If omitted, it will be called in the target's scope. -+ * @see [Tween] -+ * @returns {(Tween|null)} This tween instance (for chaining calls). -+ */ -+createjs.Tween.prototype.call = function (callback, opt_params, opt_scope) { return null; } -+ -+ /** -+ * @see [Tween] -+ */ -+createjs.Tween.prototype.clone = function () { } -+ -+ /** -+ * @param {(Object|null)} o -+ * @see [Tween] -+ */ -+createjs.Tween.prototype._appendQueueProps = function (o) { } -+ -+ /** -+ * @param {(number|null)} startPos -+ * @param {(number|null)} endPos -+ * @param {(boolean|null)} includeStart -+ * @see [Tween] -+ */ -+createjs.Tween.prototype._runActions = function (startPos, endPos, includeStart) { } -+ -+ /** -+ * Queues an action to set the specified props on the specified target. If target is null, it will use this tween's -+ * target. -+ * <h4>Example</h4> -+ * -+ * mycreatejs.Tween.wait(1000).set({visible:false},foo); -+ * -+ * @param {(Object|null)} props The properties to set (ex. `{visible:false}`). -+ * @param {Object=} opt_target The target to set the properties on. If omitted, they will be set on the tween's target. -+ * @see [Tween] -+ * @returns {(Tween|null)} This tween instance (for chaining calls). -+ */ -+createjs.Tween.prototype.set = function (props, opt_target) { return null; } -+ -+ /** -+ * Queues an action to play (unpause) the specified tween. This enables you to sequence multiple tweens. -+ * <h4>Example</h4> -+ * -+ * mycreatejs.Tween.to({x:100},500).play(otherTween); -+ * -+ * @param {(Tween|null)} tween The tween to play. -+ * @see [Tween] -+ * @returns {(Tween|null)} This tween instance (for chaining calls). -+ */ -+createjs.Tween.prototype.play = function (tween) { return null; } -+ -+ /** -+ * Advances the tween to a specified position. -+ * -+ * @param {(number|null)} value The position to seek to in milliseconds (or ticks if useTicks is true). -+ * @param {number=} opt_actionsMode Specifies how actions are handled (ie. call, set, play, pause): <ul> <li>{{#crossLink "Tween/NONE:property"}}{{/crossLink}} (0) - run no actions.</li> <li>{{#crossLink "Tween/LOOP:property"}}{{/crossLink}} (1) - if new position is less than old, then run all actions between old and duration, then all actions between 0 and new.</li> <li>{{#crossLink "Tween/REVERSE:property"}}{{/crossLink}} (2) - if new position is less than old, run all actions between them in reverse.</li> </ul> -+ * @see [Tween] -+ * @returns {(boolean|null)} Returns `true` if the tween is complete (ie. the full tween has run & {{#crossLink "Tween/loop:property"}}{{/crossLink}} is `false`). -+ */ -+createjs.Tween.prototype.setPosition = function (value, opt_actionsMode) { return null; } -+ -+ /** -+ * @param {(Object|null)} props -+ * @param {(Object|null)} o -+ * @see [Tween] -+ */ -+createjs.Tween.prototype._set = function (props, o) { } -+ -+ /** -+ * Queues a wait (essentially an empty tween). -+ * <h4>Example</h4> -+ * -+ * //This tween will wait 1s before alpha is faded to 0. -+ * createjs.createjs.Tween.get(target).wait(1000).to({alpha:0}, 1000); -+ * -+ * @param {(number|null)} duration The duration of the wait in milliseconds (or in ticks if `useTicks` is true). -+ * @param {boolean=} opt_passive Tween properties will not be updated during a passive wait. This is mostly useful for use with {{#crossLink "Timeline"}}{{/crossLink}} instances that contain multiple tweens affecting the same target at different times. -+ * @see [Tween] -+ * @returns {(Tween|null)} This tween instance (for chaining calls). -+ */ -+createjs.Tween.prototype.wait = function (duration, opt_passive) { return null; } -+ -+ /** -+ * Pauses or plays this tween. -+ * -+ * @param {boolean=} opt_value Indicates whether the tween should be paused (`true`) or played (`false`). -+ * @see [Tween] -+ * @returns {(Tween|null)} This tween instance (for chaining calls) -+ */ -+createjs.Tween.prototype.setPaused = function (opt_value) { return null; } -+ -+ /** -+ * Queues an action to pause the specified tween. -+ * -+ * @param {(Tween|null)} tween The tween to pause. If null, it pauses this tween. -+ * @see [Tween] -+ * @returns {(Tween|null)} This tween instance (for chaining calls) -+ */ -+createjs.Tween.prototype.pause = function (tween) { return null; } -+ -+ /** -+ * @param {(Object|null)} step -+ * @param {(number|null)} ratio -+ * @see [Tween] -+ */ -+createjs.Tween.prototype._updateTargetProps = function (step, ratio) { } -+ -+ /** -+ * Advances this tween by the specified amount of time in milliseconds (or ticks if`useTicks` is `true`). -+ * This is normally called automatically by the Tween engine (via {{#crossLink "Tween/tick"}}{{/crossLink}}), but is -+ * exposed for advanced uses. -+ * -+ * @param {(number|null)} delta The time to advance in milliseconds (or ticks if `useTicks` is `true`). -+ * @see [Tween] -+ */ -+createjs.Tween.prototype.tick = function (delta) { } -+ -+ /** -+ * @param {(Object|null)} props -+ * @see [Tween] -+ */ -+createjs.Tween.prototype._cloneProps = function (props) { } -+ -+ -+ /** -+ * @param {(Object|null)} o -+ * @see [Tween] -+ */ -+createjs.Tween.prototype._addStep = function (o) { } - --// TODO: possibly add a END actionsMode (only runs actions that == position)? --// TODO: evaluate a way to decouple paused from tick registration. -- --// namespace: --this.createjs = this.createjs||{}; -- --(function() { -- "use strict"; -- -- --// constructor -- /** -- * A Tween instance tweens properties for a single target. Instance methods can be chained for easy construction and sequencing: -- * -- * <h4>Example</h4> -- * -- * target.alpha = 1; -- * createjs.Tween.get(target) -- * .wait(500) -- * .to({alpha:0, visible:false}, 1000) -- * .call(handleComplete); -- * function handleComplete() { -- * //Tween complete -- * } -- * -- * Multiple tweens can point to the same instance, however if they affect the same properties there could be unexpected -- * behaviour. To stop all tweens on an object, use {{#crossLink "Tween/removeTweens"}}{{/crossLink}} or pass `override:true` -- * in the props argument. -- * -- * createjs.Tween.get(target, {override:true}).to({x:100}); -- * -- * Subscribe to the {{#crossLink "Tween/change:event"}}{{/crossLink}} event to get notified when a property of the -- * target is changed. -- * -- * createjs.Tween.get(target, {override:true}).to({x:100}).addEventListener("change", handleChange); -- * function handleChange(event) { -- * // The tween changed. -- * } -- * -- * See the Tween {{#crossLink "Tween/get"}}{{/crossLink}} method for additional param documentation. -- * @class Tween -- * @param {Object} target The target object that will have its properties tweened. -- * @param {Object} [props] The configuration properties to apply to this tween instance (ex. `{loop:true, paused:true}`. -- * All properties default to false. Supported props are:<UL> -- * <LI> loop: sets the loop property on this tween.</LI> -- * <LI> useTicks: uses ticks for all durations instead of milliseconds.</LI> -- * <LI> ignoreGlobalPause: sets the {{#crossLink "Tween/ignoreGlobalPause:property"}}{{/crossLink}} property on this tween.</LI> -- * <LI> override: if true, `Tween.removeTweens(target)` will be called to remove any other tweens with the same target. -- * <LI> paused: indicates whether to start the tween paused.</LI> -- * <LI> position: indicates the initial position for this tween.</LI> -- * <LI> onChange: specifies a listener for the "change" event.</LI> -- * </UL> -- * @param {Object} [pluginData] An object containing data for use by installed plugins. See individual -- * plugins' documentation for details. -- * @extends EventDispatcher -- * @constructor -- */ -- function Tween(target, props, pluginData) { -- -- // public properties: -- /** -- * Causes this tween to continue playing when a global pause is active. For example, if TweenJS is using {{#crossLink "Ticker"}}{{/crossLink}}, -- * then setting this to true (the default) will cause this tween to be paused when <code>Ticker.setPaused(true)</code> -- * is called. See the Tween {{#crossLink "Tween/tick"}}{{/crossLink}} method for more info. Can be set via the props -- * parameter. -- * @property ignoreGlobalPause -- * @type Boolean -- * @default false -- */ -- this.ignoreGlobalPause = false; -- -- /** -- * If true, the tween will loop when it reaches the end. Can be set via the props param. -- * @property loop -- * @type {Boolean} -- * @default false -- */ -- this.loop = false; -- -- /** -- * Specifies the total duration of this tween in milliseconds (or ticks if useTicks is true). -- * This value is automatically updated as you modify the tween. Changing it directly could result in unexpected -- * behaviour. -- * @property duration -- * @type {Number} -- * @default 0 -- * @readonly -- */ -- this.duration = 0; -- -- /** -- * Allows you to specify data that will be used by installed plugins. Each plugin uses this differently, but in general -- * you specify data by setting it to a property of pluginData with the same name as the plugin class. -- * @example -- * myTween.pluginData.PluginClassName = data; -- * <br/> -- * Also, most plugins support a property to enable or disable them. This is typically the plugin class name followed by "_enabled".<br/> -- * @example -- * myTween.pluginData.PluginClassName_enabled = false;<br/> -- * <br/> -- * Some plugins also store instance data in this object, usually in a property named _PluginClassName. -- * See the documentation for individual plugins for more details. -- * @property pluginData -- * @type {Object} -- */ -- this.pluginData = pluginData || {}; -- -- /** -- * The target of this tween. This is the object on which the tweened properties will be changed. Changing -- * this property after the tween is created will not have any effect. -- * @property target -- * @type {Object} -- * @readonly -- */ -- this.target = target; -- -- /** -- * The current normalized position of the tween. This will always be a value between 0 and duration. -- * Changing this property directly will have no effect. -- * @property position -- * @type {Object} -- * @readonly -- */ -- this.position = null; -- -- /** -- * Indicates the tween's current position is within a passive wait. -- * @property passive -- * @type {Boolean} -- * @default false -- * @readonly -- **/ -- this.passive = false; -- -- // private properties: -- /** -- * @property _paused -- * @type {Boolean} -- * @default false -- * @protected -- */ -- this._paused = false; -- -- /** -- * @property _curQueueProps -- * @type {Object} -- * @protected -- */ -- this._curQueueProps = {}; -- -- /** -- * @property _initQueueProps -- * @type {Object} -- * @protected -- */ -- this._initQueueProps = {}; -- -- /** -- * @property _steps -- * @type {Array} -- * @protected -- */ -- this._steps = []; -- -- /** -- * @property _actions -- * @type {Array} -- * @protected -- */ -- this._actions = []; -- -- /** -- * Raw position. -- * @property _prevPosition -- * @type {Number} -- * @default 0 -- * @protected -- */ -- this._prevPosition = 0; -- -- /** -- * The position within the current step. -- * @property _stepPosition -- * @type {Number} -- * @default 0 -- * @protected -- */ -- this._stepPosition = 0; // this is needed by MovieClip. -- -- /** -- * Normalized position. -- * @property _prevPos -- * @type {Number} -- * @default -1 -- * @protected -- */ -- this._prevPos = -1; -- -- /** -- * @property _target -- * @type {Object} -- * @protected -- */ -- this._target = target; -- -- /** -- * @property _useTicks -- * @type {Boolean} -- * @default false -- * @protected -- */ -- this._useTicks = false; -- -- /** -- * @property _inited -- * @type {boolean} -- * @default false -- * @protected -- */ -- this._inited = false; -- -- /** -- * Indicates whether the tween is currently registered with Tween. -- * @property _registered -- * @type {boolean} -- * @default false -- * @protected -- */ -- this._registered = false; -- -- -- if (props) { -- this._useTicks = props.useTicks; -- this.ignoreGlobalPause = props.ignoreGlobalPause; -- this.loop = props.loop; -- props.onChange && this.addEventListener("change", props.onChange); -- if (props.override) { Tween.removeTweens(target); } -- } -- if (props&&props.paused) { this._paused=true; } -- else { createjs.Tween._register(this,true); } -- if (props&&props.position!=null) { this.setPosition(props.position, Tween.NONE); } -- -- }; -- -- var p = createjs.extend(Tween, createjs.EventDispatcher); -- -- // TODO: deprecated -- // p.initialize = function() {}; // searchable for devs wondering where it is. REMOVED. See docs for details. -- -- --// static properties -- /** -- * Constant defining the none actionsMode for use with setPosition. -- * @property NONE -- * @type Number -- * @default 0 -- * @static -- */ -- Tween.NONE = 0; -- -- /** -- * Constant defining the loop actionsMode for use with setPosition. -- * @property LOOP -- * @type Number -- * @default 1 -- * @static -- */ -- Tween.LOOP = 1; -- -- /** -- * Constant defining the reverse actionsMode for use with setPosition. -- * @property REVERSE -- * @type Number -- * @default 2 -- * @static -- */ -- Tween.REVERSE = 2; -- -- /** -- * Constant returned by plugins to tell the tween not to use default assignment. -- * @property IGNORE -- * @type Object -- * @static -- */ -- Tween.IGNORE = {}; -- -- /** -- * @property _listeners -- * @type Array[Tween] -- * @static -- * @protected -- */ -- Tween._tweens = []; -- -- /** -- * @property _plugins -- * @type Object -- * @static -- * @protected -- */ -- Tween._plugins = {}; -- -- --// static methods -- /** -- * Returns a new tween instance. This is functionally identical to using "new Tween(...)", but looks cleaner -- * with the chained syntax of TweenJS. -- * <h4>Example</h4> -- * -- * var tween = createjs.Tween.get(target); -- * -- * @method get -- * @param {Object} target The target object that will have its properties tweened. -- * @param {Object} [props] The configuration properties to apply to this tween instance (ex. `{loop:true, paused:true}`). -- * All properties default to `false`. Supported props are: -- * <UL> -- * <LI> loop: sets the loop property on this tween.</LI> -- * <LI> useTicks: uses ticks for all durations instead of milliseconds.</LI> -- * <LI> ignoreGlobalPause: sets the {{#crossLink "Tween/ignoreGlobalPause:property"}}{{/crossLink}} property on -- * this tween.</LI> -- * <LI> override: if true, `createjs.Tween.removeTweens(target)` will be called to remove any other tweens with -- * the same target. -- * <LI> paused: indicates whether to start the tween paused.</LI> -- * <LI> position: indicates the initial position for this tween.</LI> -- * <LI> onChange: specifies a listener for the {{#crossLink "Tween/change:event"}}{{/crossLink}} event.</LI> -- * </UL> -- * @param {Object} [pluginData] An object containing data for use by installed plugins. See individual plugins' -- * documentation for details. -- * @param {Boolean} [override=false] If true, any previous tweens on the same target will be removed. This is the -- * same as calling `Tween.removeTweens(target)`. -- * @return {Tween} A reference to the created tween. Additional chained tweens, method calls, or callbacks can be -- * applied to the returned tween instance. -- * @static -- */ -- Tween.get = function(target, props, pluginData, override) { -- if (override) { Tween.removeTweens(target); } -- return new Tween(target, props, pluginData); -- }; -- -- /** -- * Advances all tweens. This typically uses the {{#crossLink "Ticker"}}{{/crossLink}} class, but you can call it -- * manually if you prefer to use your own "heartbeat" implementation. -- * @method tick -- * @param {Number} delta The change in time in milliseconds since the last tick. Required unless all tweens have -- * `useTicks` set to true. -- * @param {Boolean} paused Indicates whether a global pause is in effect. Tweens with {{#crossLink "Tween/ignoreGlobalPause:property"}}{{/crossLink}} -- * will ignore this, but all others will pause if this is `true`. -- * @static -- */ -- Tween.tick = function(delta, paused) { -- var tweens = Tween._tweens.slice(); // to avoid race conditions. -- for (var i=tweens.length-1; i>=0; i--) { -- var tween = tweens[i]; -- if ((paused && !tween.ignoreGlobalPause) || tween._paused) { continue; } -- tween.tick(tween._useTicks?1:delta); -- } -- }; -- -- /** -- * Handle events that result from Tween being used as an event handler. This is included to allow Tween to handle -- * {{#crossLink "Ticker/tick:event"}}{{/crossLink}} events from the createjs {{#crossLink "Ticker"}}{{/crossLink}}. -- * No other events are handled in Tween. -- * @method handleEvent -- * @param {Object} event An event object passed in by the {{#crossLink "EventDispatcher"}}{{/crossLink}}. Will -- * usually be of type "tick". -- * @private -- * @static -- * @since 0.4.2 -- */ -- Tween.handleEvent = function(event) { -- if (event.type == "tick") { -- this.tick(event.delta, event.paused); -- } -- }; -- -- /** -- * Removes all existing tweens for a target. This is called automatically by new tweens if the `override` -- * property is `true`. -- * @method removeTweens -- * @param {Object} target The target object to remove existing tweens from. -- * @static -- */ -- Tween.removeTweens = function(target) { -- if (!target.tweenjs_count) { return; } -- var tweens = Tween._tweens; -- for (var i=tweens.length-1; i>=0; i--) { -- var tween = tweens[i]; -- if (tween._target == target) { -- tween._paused = true; -- tweens.splice(i, 1); -- } -- } -- target.tweenjs_count = 0; -- }; -- -- /** -- * Stop and remove all existing tweens. -- * @method removeAllTweens -- * @static -- * @since 0.4.1 -- */ -- Tween.removeAllTweens = function() { -- var tweens = Tween._tweens; -- for (var i= 0, l=tweens.length; i<l; i++) { -- var tween = tweens[i]; -- tween._paused = true; -- tween.target&&(tween.target.tweenjs_count = 0); -- } -- tweens.length = 0; -- }; -- -- /** -- * Indicates whether there are any active tweens (and how many) on the target object (if specified) or in general. -- * @method hasActiveTweens -- * @param {Object} [target] The target to check for active tweens. If not specified, the return value will indicate -- * if there are any active tweens on any target. -- * @return {Boolean} If there are active tweens. -- * @static -- */ -- Tween.hasActiveTweens = function(target) { -- if (target) { return target.tweenjs_count != null && !!target.tweenjs_count; } -- return Tween._tweens && !!Tween._tweens.length; -- }; -- -- /** -- * Installs a plugin, which can modify how certain properties are handled when tweened. See the {{#crossLink "CSSPlugin"}}{{/crossLink}} -- * for an example of how to write TweenJS plugins. -- * @method installPlugin -- * @static -- * @param {Object} plugin The plugin class to install -- * @param {Array} properties An array of properties that the plugin will handle. -- */ -- Tween.installPlugin = function(plugin, properties) { -- var priority = plugin.priority; -- if (priority == null) { plugin.priority = priority = 0; } -- for (var i=0,l=properties.length,p=Tween._plugins;i<l;i++) { -- var n = properties[i]; -- if (!p[n]) { p[n] = [plugin]; } -- else { -- var arr = p[n]; -- for (var j=0,jl=arr.length;j<jl;j++) { -- if (priority < arr[j].priority) { break; } -- } -- p[n].splice(j,0,plugin); -- } -- } -- }; -- -- /** -- * Registers or unregisters a tween with the ticking system. -- * @method _register -- * @param {Tween} tween The tween instance to register or unregister. -- * @param {Boolean} value If `true`, the tween is registered. If `false` the tween is unregistered. -- * @static -- * @protected -- */ -- Tween._register = function(tween, value) { -- var target = tween._target; -- var tweens = Tween._tweens; -- if (value && !tween._registered) { -- // TODO: this approach might fail if a dev is using sealed objects in ES5 -- if (target) { target.tw
<TRUNCATED>