     override public function getBoundsXAtSize(width:Number, height:Number, postLayoutTransform:Boolean = true):Number
     {
         var strokeExtents:Point = getStrokeExtents(postLayoutTransform);
-        var m:Matrix = postLayoutTransform ? computeMatrix() : null;
+        var m:Matrix = getComplexMatrix(postLayoutTransform);
         if (!m)
             return strokeExtents.x * -0.5 + this.x;
 

                                                         height:Number,
                                                         postLayoutTransform:Boolean = true):Number
    {
        if (postLayoutTransform)
        {
            var m:Matrix = computeMatrix();
            if (m)
                height = MatrixUtil.getEllipseBoundingBox(width / 2, height / 2, width / 2, height / 2, m).height;
        }

        // Take stroke into account
        return height + getStrokeExtents().y;

                                                        height:Number,
                                                        postLayoutTransform:Boolean = true):Number
    {
        if (postLayoutTransform && hasComplexLayoutMatrix)
        	width = MatrixUtil.getEllipseBoundingBox(width / 2, height / 2, width / 2, height / 2, 
        											 layoutFeatures.layoutMatrix).width;	

        // Take stroke into account
        return width + getStrokeExtents().x;
