             (_blendMode != BlendMode.NORMAL && _blendMode != "auto") || _mask ||
             (layoutFeatures != null && (layoutFeatures.layoutScaleX != 1 || layoutFeatures.layoutScaleY != 1 || layoutFeatures.layoutScaleZ != 1 ||
             layoutFeatures.layoutRotationX != 0 || layoutFeatures.layoutRotationY != 0 || layoutFeatures.layoutRotationZ != 0 ||
-            layoutFeatures.layoutZ  != 0)) ||  
+            layoutFeatures.layoutZ  != 0 || layoutFeatures.mirror)) ||  
             _colorTransform != null ||
             _effectiveAlpha != 1);
     

 *  @productversion Flex 4
 */
public class GraphicElement extends EventDispatcher
    implements IGraphicElement, IInvalidating, ILayoutElement, IVisualElement, IMXMLObject
{
    include "../../core/Version.as";


    public function get displayObjectSharingMode():String
    {
        return _displayObjectSharingMode;    
    }
	
	//----------------------------------
	//  layoutDirection
	//----------------------------------
	
	private var _layoutDirection:String = "inherit";
	
	public function get layoutDirection():String
	{
		return _layoutDirection;
	}
	
	/**
	 *  @copy mx.core.IVisualElement#layoutDirection
	 */
	public function set layoutDirection(value:String):void
	{
		if (_layoutDirection == value)
			return;
		
		_layoutDirection = value;
        invalidateLayoutDirection();
    }
    
    /**
     * @copy mx.core.ILayoutDirection#invalidateLayoutDirection()
     */
    public function invalidateLayoutDirection():void
    {
        const parentElt:ILayoutDirection = parent as ILayoutDirection;
        if (!parentElt)
            return;
        
        // If this element's layoutDirection doesn't match its parent's, then
        // set the layoutFeatures.mirror flag.  Similarly, if mirroring isn't 
        // required, then clear the layoutFeatures.mirror flag.
        
        const mirror:Boolean = (_layoutDirection != "inherit") && (_layoutDirection != parentElt.layoutDirection);
        if ((layoutFeatures) ? (mirror != layoutFeatures.mirror) : mirror)
        {
            if (layoutFeatures == null)
                allocateLayoutFeatures();
            var previous:Boolean = needsDisplayObject;
            layoutFeatures.mirror = mirror;
            invalidateTransform(previous != needsDisplayObject);         
        }
    }
    
    //--------------------------------------------------------------------------
