blitting and user event handling