optimisation: redraw only things in the clip area