"Drain, Theodore R"
Remember, this is not a multi-threaded system. You can't receive a
second repaint event while the drawing code is happening because the
event loop is not in a separate thread.
This is not my choice. If the user resizes the window, the events are created
in that manner.
And I cannot prevent the user from resizing the window.