Recompute zoom when bounds are set, and repaint on zoom operation