def draw_image(self, image, xmin=0, ymin=0, xmax=None, ymax=None):
        if xmax is None:
            xmax = xmin + image.size[0]
        if ymax is None:
            ymax = ymin + image.size[1]
        self.bitmap_list.append({'image': image,
                                 'xmin': xmin,
                                 'xmax': xmax,
                                 'ymin': ymin,
                                 'ymax': ymax})
        xmin = min(x for x in (xmin, self.limits['xmin'])
                   if x is not None)
        ymin = min(y for y in (ymin, self.limits['ymin'])
                   if y is not None)
        xmax = max(x for x in (xmax, self.limits['xmax'])
                   if x is not None)
        ymax = max(y for y in (ymax, self.limits['ymax'])
                   if y is not None)
        self.set_xlimits(xmin, xmax)
        self.set_ylimits(ymin, ymax)