         }
     }
 
-	//----------------------------------
-	//  rotation
-	//----------------------------------
-	
-	private var _rotation:Number = 0;
-
-	[Bindable("propertyChange")]
-	[Inspectable(category="General")]	
-	
-	/**
-	 *  The number of degrees to rotate the bitmap.
-	 *  Valid values range from 0.0 to 360.0.
-	 *  
-	 *  @default 0
-	 *  
-	 *  @langversion 3.0
-	 *  @playerversion Flash 9
-	 *  @playerversion AIR 1.1
-	 *  @productversion Flex 3
-	 */
-	public function get rotation():Number
-	{
+    //----------------------------------
+    //  rotation
+    //----------------------------------
+    
+    private var _rotation:Number = 0;
+
+    [Bindable("propertyChange")]
+    [Inspectable(category="General")]   
+    
+    /**
+     *  The number of degrees to rotate the bitmap.
+     *  Valid values range from 0.0 to 360.0.
+     *  
+     *  @default 0
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get rotation():Number
+    {
         return compoundTransform ? compoundTransform.rotationZ : _rotation;
-	}
-	
-	public function set rotation(value:Number):void
-	{      
+    }
+    
+    public function set rotation(value:Number):void
+    {      
         if (value != rotation)
         {
             var oldValue:Number = rotation;

        return compoundTransform ? compoundTransform.x : _x;
    }
    
	/**
	 *  @private
	 */
    public function set x(value:Number):void
    {
        var oldValue:Number = x;

            }
            dispatchFillChangedEvent("scaleY", oldValue, value);
        }
    }

    //----------------------------------
    //  source
    //----------------------------------

    private var _source:Object;

    [Inspectable(category="General")]

    /**
     *  The source used for the bitmap fill.
     *  The fill can render from various graphical sources,
     *  including the following: 
     *  <ul>
     *   <li>A Bitmap or BitmapData instance.</li>
     *   <li>A class representing a subclass of DisplayObject.
     *   The BitmapFill instantiates the class
     *   and creates a bitmap rendering of it.</li>
     *   <li>An instance of a DisplayObject.
     *   The BitmapFill copies it into a Bitmap for filling.</li>
     *  </ul>
     *
     *  @default null
     *  
     *  @langversion 3.0
     *  @playerversion Flash 9
     *  @playerversion AIR 1.1
     *  @productversion Flex 3
     */
    public function get source():Object 
    {
        return _source;
    }
    
    /**
     *  @private
     */
    public function set source(value:Object):void
    {
        if (value != _source)
        {
            var tmpSprite:DisplayObject;
            var oldValue:Object = _source;
            _source = value;
            
            var bitmapData:BitmapData;    
            var bitmapCreated:Boolean = false; 
            
            if (value is Class)
            {
                var cls:Class = Class(value);
                value = new cls();
                bitmapCreated = true;
            } 
            
            if (value is BitmapData)
            {
                bitmapData = BitmapData(value);
            }
            else if (value is Bitmap)
            {
                bitmapData = value.bitmapData;
            }
            else if (value is DisplayObject)
            {
                tmpSprite = value as DisplayObject;
            }
            else if (value == null)
            {
                // This will set source to null
            }
            else
            {
                return;
            }
                
            if (!bitmapData && tmpSprite)
            {
                bitmapData = new BitmapData(tmpSprite.width, tmpSprite.height, true, 0);
                bitmapData.draw(tmpSprite, new Matrix());
                bitmapCreated = true;
            }
            
            // If the bitmapData isn't transparent (ex. JPEG) and alpha != 1, 
            // then copy it into a transparent bitmapData
