Must be called periodically (ideally 60 times per second but this is not mandatory). time must refer to the window creation time. dt and time are expressed in seconds (not milliseconds).
An image you have to draw to, or return that nothing has changed. The location of this image is given before-hand by onResized. recomputeDirtyAreas() MUST have been called before. The pixel format cannot change over the lifetime of the window.
Called on keyboard press. Returns: true if the event was handled.
Called on keyboard release. Returns: true if the event was handled.
Called whenever mouse capture was canceled (ALT + TAB, SetForegroundWindow...)
Called on mouse click. Returns: true if the event was handled.
Called on mouse movement (might not be within the window)
Called on mouse button release Returns: true if the event was handled.
Called on mouse wheel movement Returns: true if the event was handled.
The drawing area size has changed. Always called at least once before onDraw.
Recompute internally what needs be done for the next onDraw. This function MUST have been called before calling onDraw and getDirtyRectangle. This method exists to allow the Window to recompute these draw lists less. And because cache invalidation was easier on user code than internally in the UI. Important: once you've called recomputeDirtyAreas() you COMMIT to redraw the corresponding area given by getDirtyRectangle(). Two calls to recomputeDirtyAreas() will not yield the same area.
Receiving commands from a window.