     
     /**
      *  @private
+     *  TextField only has a width.  Need to remember if explicitWidth should
+     *  be used or width should be used.
+     */
+    private var useExplicitWidth:Boolean = false;
+    
+    /**
+     *  @private
+     *  TextField only has a height.  Need to remember if explicitHeight should
+     *  be used or height should be used.
+     */
+    private var useExplicitHeight:Boolean = false;
+    
+    /**
+     *  @private
      *  True if we've inherited layoutDirection="rtl".  
      */
     private var mirror:Boolean = false;

    public function set explicitWidth(value:Number):void
    {
        _explicitWidth = value;
    }

    //----------------------------------

        if (!parent)
            return;

        // If the explicitWidth was set, and the width wasn't set after that,
        // for example by setLayoutBoundsSize(), push the explicit width
        // down to the TextField to use as its width.
        if (useExplicitWidth && !isNaN(explicitWidth) && width != explicitWidth)
        {
            super.width = (explicitWidth > 4) ? explicitWidth : 4;
            // Update the transform matrix with the new width.
            if (mirror)
                validateTransformMatrix();
        }

        // Same as for width above.
        if (useExplicitHeight && !isNaN(explicitHeight) && height != explicitHeight)
            super.height = explicitHeight;
        
        // If ancestor is mirroring, need to flip this so it is not
