 		invalidate();		
 	}
 	
+    //----------------------------------
+    //  layoutWidth
+    //----------------------------------
+
+    private var _layoutWidth:Number;
+    
+    /**
+     *  @default 0
+     */
+    public function get layoutWidth():Number
+    {
+        return _layoutWidth;
+    }
+
+    /**
+     *  @private
+     */
+    public function set layoutWidth(value:Number):void
+    {
+        if (value == _layoutWidth)
+            return;
+        _layoutWidth = value;
+        invalidate();
+    }
+    
+    //----------------------------------
+    //  mirror
+    //----------------------------------
+
+    private var _mirror:Boolean;
+    
+    /**
+     *  If true the X axis is scaled by -1 and the x coordinate of the origin
+     *  is translated by the component's width.  
+     * 
+     *  The net effect of this "mirror" transform is to flip the direction 
+     *  that the X axis increases in without changing the layout element's 
+     *  location relative to the parent's origin.
+     * 
+     *  @default false
+     */
+    public function get mirror():Boolean
+    {
+        return _mirror;
+    }
+    
+    /**
+     *  @private
+     */
+    public function set mirror(value:Boolean):void
+    {
+        if (value == _mirror)
+            return;         
+        _mirror = value;
+        invalidate();
+    }
+	
 	//------------------------------------------------------------------------------
 	
 	/**

			m = _computedMatrix3D = new Matrix3D();
		else
			m.identity();
	
	
		build3DMatrix(m,layout.transformX,layout.transformY,layout.transformZ,					  
				  layout.scaleX*offsets.scaleX,layout.scaleY*offsets.scaleY,layout.scaleZ*offsets.scaleZ,
				  layout.rotationX+offsets.rotationX,layout.rotationY+offsets.rotationY,layout.rotationZ+offsets.rotationZ,
				  layout.x+offsets.x,layout.y+offsets.y,layout.z+offsets.z);
	
		_flags |= COMPUTED_MATRIX3D_VALID;
		return m;			
	}

		if(_flags & COMPUTED_MATRIX_VALID)
			return _computedMatrix;
	
		if(!offsets && !mirror)
		{
			return layout.matrix;
		}			
