      *  @private
      */
     private var untruncatedText:String;
+    
+    /**
+     *  @private
+     *  True if we've inherited layoutDirection="rtl".  
+     */
+    private var mirror:Boolean = false;
 
     //--------------------------------------------------------------------------
     //
     //  Overridden properties
     //
     //--------------------------------------------------------------------------
+    
+    //----------------------------------
+    //  x
+    //----------------------------------
+    
+    private var _x:Number = 0;
+    
+    /**
+     *  @private
+     */
+    override public function set x(value:Number):void
+    {
+        _x = value;
+        super.x = value;
+        if (mirror)
+            validateTransformMatrix();
+    }
+    
+    /**
+     *  @private
+     */
+    override public function get x():Number
+    {
+        // FIXME(hmuller): by default get x returns transform.matrix.tx rounded to the nearest 20th.
+        // should do the same here, if we're returning _x.
+        return (mirror) ? _x : super.x;
+    }
+    
+    //----------------------------------
+    //  width
+    //----------------------------------
+    
+    /**
+     *  @private
+     */
+    override public function set width(value:Number):void  
+    {
+        super.width = value;
+        if (mirror)
+            validateTransformMatrix();
+    }
     
     //----------------------------------
     //  htmlText

        styleChangedFlag = false;
        invalidateDisplayListFlag = false;
    }

    /**
     *  Returns the TextFormat object that represents 
     *  character formatting information for this UITextField object.


        if (!isNaN(explicitHeight) && super.height != explicitHeight)
            super.height = explicitHeight;
        
        // Update transform.matrix to compensate for layout mirroring
        if (styleChangedFlag)
        {
            const oldMirror:Boolean = mirror;
            mirror = getStyle("layoutDirection") == "rtl";
            if (mirror || oldMirror)
                validateTransformMatrix();
        }

        // Set the text format.
        if (styleChangedFlag)
        {
            var textFormat:TextFormat = getTextStyles();
