only listens for events on the canvas itself