      */
     override public function getLayoutBoundsY(postLayoutTransform:Boolean = true):Number
     {
-        var stroke:Number = - getStrokeExtents(postLayoutTransform).y * 0.5;
+        var stroke:Number = getStrokeExtents(postLayoutTransform).top;
         var m:Matrix = getComplexMatrix(postLayoutTransform);
         if (!m)
         {

     */
    override public function getBoundsYAtSize(width:Number, height:Number, postLayoutTransform:Boolean = true):Number
    {
        var strokeExtents:Point = getStrokeExtents(postLayoutTransform);
        var m:Matrix = getComplexMatrix(postLayoutTransform);

        if (!m)
        {
            // Check for a common case, BasicLayout measure() always hits this:
            if (isNaN(height))
                return strokeExtents.y * -0.5 + this.y + measuredY;
            else
                height = preferredHeightPreTransform();    

            var naturalBounds:Rectangle = getBounds();
            var sy:Number = (naturalBounds.height == 0 || height == 0) ? 1 : height / naturalBounds.height;
            return strokeExtents.y * -0.5 + this.y + measuredY * sy;
        }
    
        if (!isNaN(width))
            width -= strokeExtents.x;

        if (!isNaN(height))
            height -= strokeExtents.y;

        // Calculate the width and height pre-transform:
        var newSize:Point = MatrixUtil.fitBounds(width, height, m,

     */
    override public function getBoundsXAtSize(width:Number, height:Number, postLayoutTransform:Boolean = true):Number
    {
        var strokeExtents:Rectangle = getStrokeExtents(postLayoutTransform);
        var m:Matrix = getComplexMatrix(postLayoutTransform);

        if (!m)
        {
            // Check for a common case, BasicLayout measure() always hits this:
            if (isNaN(width))
                return strokeExtents.left + this.x + measuredX;
            else
                width = preferredWidthPreTransform();

            var naturalBounds:Rectangle = getBounds();
            var sx:Number = (naturalBounds.width == 0 || width == 0) ? 1 : width / naturalBounds.width;
            return strokeExtents.left + this.x + measuredX * sx;
        }
    
        if (!isNaN(width))
            width -= strokeExtents.width;

        if (!isNaN(height))
            height -= strokeExtents.height;

        // Calculate the width and height pre-transform:
        var newSize:Point = MatrixUtil.fitBounds(width, height, m,
