package starling.animation {
/**
 *  The Transitions class contains static methods that define easing functions. 
 *  *  Those functions are used by the Tween class to execute animations.
 *  * 
 *  *  <p>Here is a visual representation of the available transitions:</p> 
 *  *  <img src="http://gamua.com/img/blog/2010/sparrow-transitions.png"/>
 *  *  
 *  *  <p>You can define your own transitions through the "registerTransition" function. A 
 *  *  transition function must have the following signature, where <code>ratio</code> is 
 *  *  in the range 0-1:</p>
 *  *  
 *  *  <pre>function myTransition(ratio:Float):Float</pre>
 *  *  
 *  *  <p>Also have a look at the "BezierEasing" class, which provides a very easy way of
 *  *  adding custom transitions.</p>
 *  * 
 *  *  @see starling.animation.BezierEasing
 *  *  @see starling.animation.Juggler
 *  *  @see starling.animation.Tween
 *  
 * @externs
 */
public class Transitions {
	public static const LINEAR:String = "linear";
	public static const EASE_IN:String = "easeIn";
	public static const EASE_OUT:String = "easeOut";
	public static const EASE_IN_OUT:String = "easeInOut";
	public static const EASE_OUT_IN:String = "easeOutIn";
	public static const EASE_IN_BACK:String = "easeInBack";
	public static const EASE_OUT_BACK:String = "easeOutBack";
	public static const EASE_IN_OUT_BACK:String = "easeInOutBack";
	public static const EASE_OUT_IN_BACK:String = "easeOutInBack";
	public static const EASE_IN_ELASTIC:String = "easeInElastic";
	public static const EASE_OUT_ELASTIC:String = "easeOutElastic";
	public static const EASE_IN_OUT_ELASTIC:String = "easeInOutElastic";
	public static const EASE_OUT_IN_ELASTIC:String = "easeOutInElastic";
	public static const EASE_IN_BOUNCE:String = "easeInBounce";
	public static const EASE_OUT_BOUNCE:String = "easeOutBounce";
	public static const EASE_IN_OUT_BOUNCE:String = "easeInOutBounce";
	public static const EASE_OUT_IN_BOUNCE:String = "easeOutInBounce";
	/**
	 *  Returns the transition function that was registered under a certain name. 
	 */
	public static function getTransition(name:String):Function { return null; }
	/**
	 *  Registers a new transition function under a certain name. 
	 */
	public static function register(name:String, func:Function):void {}
}
}
