factored zoomHandling out of canvas