'Return a copy of the :class:`Bbox`, shrunk so that it is as
large as it can be while having the desired aspect ratio,
*box_aspect*.  If the box coordinates are relative---that
is, fractions of a larger box such as a figure---then the
physical aspect ratio of that figure is specified with
*fig_aspect*, so that *box_aspect* can also be given as a
ratio of the absolute dimensions, not the relative dimensions.'

def shrunk_to_aspect(self, box_aspect, container=None, fig_aspect=1.0):

    if ((box_aspect <= 0) or (fig_aspect <= 0)):
        raise ValueError(u"'box_aspect'    and    'fig_aspect'    must    be    positive")
    if (container is None):
        container = self
    (w, h) = container.size
    H = ((w * box_aspect) / fig_aspect)
    if (H <= h):
        W = w
    else:
        W = ((h * fig_aspect) / box_aspect)
        H = h
    return Bbox([self._points[0], (self._points[0] + (W, H))])
