package starling.text {
import openfl.Vector;
/**
 *  A helper class referencing a BitmapChar and properties about its location and size.
 *  *
 *  *  <p>This class is used and returned by <code>BitmapFont.arrangeChars()</code>.
 *  *  It's typically only needed for advanced changes to Starling's default text composition
 *  *  mechanisms.</p>
 *  *
 *  *  <p>This class supports object pooling. All instances returned by the methods
 *  *  <code>instanceFromPool</code> and <code>vectorFromPool</code> are returned to the
 *  *  respective pool when calling <code>rechargePool</code>.</p>
 *  
 * @externs
 */
public class BitmapCharLocation {
	/**
	 *  Create a new instance that references the given char. 
	 */
	public function BitmapCharLocation(char:starling.text.BitmapChar) {}
	/**
	 *  Returns a "BitmapCharLocation" instance from the pool, initialized with the given char.
	 *      *  All instances will be returned to the pool when calling <code>rechargePool</code>. 
	 */
	public static function instanceFromPool(char:starling.text.BitmapChar):starling.text.BitmapCharLocation { return null; }
	/**
	 *  Returns an empty Vector for "BitmapCharLocation" instances from the pool.
	 *      *  All vectors will be returned to the pool when calling <code>rechargePool</code>. 
	 */
	public static function vectorFromPool():openfl.Vector { return null; }
	/**
	 *  Puts all objects that were previously returned by either of the "...fromPool" methods
	 *      *  back into the pool. 
	 */
	public static function rechargePool():void {}
	/**
	 *  The actual bitmap char to be drawn. 
	 */
	public var char:starling.text.BitmapChar;
	/**
	 *  The scale with which the char must be placed. 
	 */
	public var scale:Number;
	/**
	 *  The x-coordinate of the char's location. 
	 */
	public var x:Number;
	/**
	 *  The y-coordinate of the char's location. 
	 */
	public var y:Number;
	/**
	 *  The index of this char in the processed String. 
	 */
	public var index:int;
}
}
