Renamed getRoot() to getRootWindow().
Renamed modalWindow() to getModalWindow().
Renamed modalModality() to getModality().
Renamed runWhileEvents() to runModalWhileEvents(), to better reflect the fact that all user events except those for the specified window (and its children) are blocked. The new runWhileEvents() member function takes no arguments and is a non-modal version of this function.
Added the getArgc() and getArgv() member functions, for inspecting the command-line arguments passed to FOX.
Added the getPopupWindow() member function, which returns a pointer to the current popup window (if any).
Added the getDragWindow() member function, which returns a pointer to the current drag window (if a drag operation is in process) or NULL if there is no drag window.
Added the isInitialized() member function, which returns TRUE if the application has been initialized.
Added the overloaded remainingTimeout() member functions. These functions return the time remaining (in milliseconds) until the specified timer fires. If the timer has already fired, remainingTimeout() returns zero. If no such timer exists, remainingTimeout() returns UINT_MAX.
Added a new built-in cursor in the shape of a hand, accessible by passing in the DEF_CURSOR_HAND value to FXApp's getDefaultCursor() member function.
A new default cursor type, DEF_HELP_CURSOR, has been added to the collection of built-in cursor shapes.
The runOneEvent() member function now accepts an optional argument (blocking) to indicate whether the event dispatcher should block to wait for new events if there is no event waiting in the event queue. By default, blocking is TRUE.
FXApp now remembers the original display variable passed in. This can be used for later opening of the display.
The peekEvent() member function now returns TRUE whenever getNextEvent() can be called productively. Previously, peekEvent() would return FALSE even if there were overdue timers or chores waiting to run.