     //--------------------------------------------------------------------------
 
     //----------------------------------
+    //  alpha
+    //----------------------------------
+    
+    /**
+     *  @private
+     *  Storage for the alpha property.
+     */
+    private var _alpha:Number = 1.0;
+    
+    /**
+     *  @private
+     */
+    override public function get alpha():Number
+    {
+        // Here we roundtrip alpha in the same manner as the 
+        // player (purposely introducing a rounding error).
+        return int(_alpha * 256.0) / 256.0;
+    }
+    
+    /**
+     *  @private
+     */
+    override public function set alpha(value:Number):void
+    { 
+        if (_alpha != value)
+        {
+            _alpha = value;
+            
+            if (layer)
+                value = value * layer.computedAlpha; 
+            
+            super.alpha = value;
+        }
+    }
+    
+    //----------------------------------
     //  baseline
     //----------------------------------
 

    }

    //----------------------------------
    //  width
    //----------------------------------


import flash.geom.PerspectiveProjection;
import flash.geom.Point;
import flash.geom.Vector3D;
import mx.core.AdvancedLayoutFeatures;
import mx.core.DesignLayer;
import mx.core.FlexSprite;
import mx.core.IInvalidating;
import mx.core.IVisualElement;
import mx.core.mx_internal;
import mx.events.PropertyChangeEvent;
import mx.utils.MatrixUtil;
import mx.events.FlexEvent;
import mx.geom.Transform;
import mx.utils.MatrixUtil;
