2.2.0 (2023-08-25) * Added functions: * Shell_copyTextToClipboard() * Shell_getClipboardText() * Shell_getDisplayDPI() * Shell_getDisplayRefreshRate() * Shell_getDisplayScaleFactor() * Shell_needsDisplay() * Shell_openFileDialogMultiple() * Shell_chooseFolderDialog() * Shell_executeOnMainThread() * Shell_getMouseDeltaMode() * Shell_getMousePosition() * Shell_getModifierKeys() * Shell_getButtonMask() * Shell_registerCustomCursor() * Shell_setDrawThrottleRate() * Shell_msleep() * Shell_preciseSleep() * Shell_mouseLeaveFunc() * Shell_moveWindow() * Shell_resizeWindow() * Shell_moveResizeWindow() * isModifierKey() * Added x and y arguments to scrollWheel callback * Added deltaX and deltaY arguments to mouseMoved and mouseDragged callbacks * Added buttonMask argument to mouseDown and mouseUp callbacks * Added referenceTime argument to all shell callback functions * Added modifiers argument to all mouse-related shell callback functions * Added lastModifiers argument to keyModifiersChanged callback function * Added captureDisplay argument to Shell_enterFullScreen() * Added SHELL_TIMER_INVALID constant * Added MODIFIER_PLATFORM_MENU_COMMAND_BIT to ShellKeyCodes.h * Added MOUSE_BUTTON_NUMBER_LEFT, MOUSE_BUTTON_NUMBER_RIGHT, and MOUSE_BUTTON_NUMBER_MIDDLE constants to ShellKeyCodes.h * Added ShellBatteryState_notCharging to ShellBatteryInfo.h * Renamed most constants in ShellKeyCodes.h, and removed several unused ones * File dialog functions now return string pointers owned by the shell, rather than writing into a caller-provided buffer * File dialog functions now accept a list of allowed file extensions to use as a filter * File dialog functions now take an initial window title argument * Shell_openFileDialog() now accepts an optional file name to be selected by default in the default directory 2.1.0 (2014-12-13) * Added vsync API. Call Shell_setVSync to specify whether to wait for vertical blank when swapping buffers. * Added Shell_getSafeWindowRect, an alternative to Shell_getDisplayBounds when used for window positioning. * Added Shell_systemBeep * Added file dialog API. Call Shell_openFileDialog to browse for files, and Shell_saveFileDialog to specify the path and name of a file to save. * Added Shell_confirmQuitFunc to allow quitting to be temporarily delayed if the user has unsaved work. * Added isRepeat boolean to Shell_keyDownFunc callback signature 2.0.0 (2014-10-17) * Target_* callbacks other than Target_init() are no longer directly linked. Instead, each one can be individually opted into by calling Shell_*Func() to register a callback for the event. * Target.h has been renamed to ShellCallbacks.h * Added multiple display support. See Shell_getDisplayCount(), Shell_getDisplayIndexFromWindow(), and Shell_getDisplayBounds(), which replaces Shell_getMainScreenSize(). * Shell_setFullScreen() has been replaced by Shell_enterFullScreen() and Shell_exitFullScreen(), the former of which takes a display index. * Added scroll wheel event callbacks 1.2.0 (2014-01-20) * Added Shell_openURL() * Added C++ header guards 1.1.0 (2013-12-25) * Added Shell_getSupportPath() * Added typedef for ShellTimer 1.0.0 (2013-07-13) * Added thread API * Changed project structure to standard stem library rather than naked header files Stable_2012-06-09 * Added Shell_setMouseDeltaMode() * Made Shell_setCursorVisible(), Shell_hideCursorUntilMouseMoves(), and Shell_setCursor() part of the core shell API (previously were implemented by individual shells as extensions) Stable_2012-02-04 * Added Shell_setTimer and Shell_cancelTimer * Target_draw now returns a bool, and can opt not to swap buffers by returning false Stable_2011-10-23 * Target_keyUp() no longer receives charCode parameter * Added Shell_getMainScreenSize() Stable_2011-07-04 * Added key modifiers * Added background and foreground notifications Stable_2010-05-18 * Removed Target_getName() * Removed argc and argv from Target_init() Stable_2010-03-31 * Added documentation * Added battery info API * Added full screen mode Stable_2009-11-24 * Initial version