 
         if (!isNaN(explicitHeight) && super.height != explicitHeight)
             super.height = explicitHeight;
-
-          // Set the text format.
+        
+        // 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();

        
        styleChangedFlag = false;
        invalidateDisplayListFlag = false;
    }

    /**

     *  @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
