 	//
 	//--------------------------------------------------------------------------
 
+    //----------------------------------
+    //  alpha
+    //----------------------------------
+    
+    private var _alpha:Number = 1;
+        
+    public function get alpha():Number
+    {
+        return _alpha;
+    }
+    
+    public function set alpha(value:Number):void
+    {
+        if (_alpha == value)
+            return;
+        
+        var oldValue:Number = _alpha;
+        
+        _alpha = value;
+        
+        applyAlphaMultiplier = true;
+        dispatchFillChangedEvent("alpha", oldValue, value);
+    }
+    
     //----------------------------------
     //  compoundTransform
     //----------------------------------

		if (!source)
			return;        
        
        var sourceAsBitmapData:BitmapData = source as BitmapData;
        
        var repeatFill:Boolean = (resizeMode == BitmapResizeMode.REPEAT);  
        
        
        if (compoundTransform)
        {

import flash.display.DisplayObject;
import flash.display.Graphics;
import flash.events.EventDispatcher;
import flash.geom.ColorTransform;
import flash.geom.Matrix;
import flash.geom.Point;
import flash.geom.Rectangle;
