Toggling fullscreen now takes fullscreen flags
Fixed whitespace style
Turn off resizable flag by default, you can always pass the --resize command line option if you need it.
Added support for new style fullscreen transitions on Mac OS X
Don't minimize by default when in fullscreen desktop mode.
This fixes behavior with the new Mac OS X fullscreen space code, as well as improve behavior on Linux desktops.
The default for normal fullscreen mode is still to minimize because we're likely doing a mode switch and don't want to stick around as a borderless window in the background.
Fixed compiling with ISO C90
Fixed compiling with older Mac OS X SDK
[Android] Fixes bug 2217, better joystick axes handling on Android.
[Android] Improve handling of keyboard, dpad and gamepad events

Thanks Dimitris Zenios for the report!
[Android] Fixes Bug 2031 - Backspace Not Sending Events From On-Screen Keyboard

Thanks Joe LeVeque!
[Android] Try to improve handling of some dpad+gamepad+keyboard corner cases
[X11] Fix up compilation when EGL headers are not present.
Properly handle toggling fullscreen state when another fullscreen state change is in progress.
Fixed bug 2212 - SDL_SetTextInputRect has no effect on iOS

philhassey

Overview: While SDL_SetTextInputRect works perfectly to move my window out of the way of the virtual keyboard using SDL2/Android, on iOS this function has no effect.

Steps to Reproduce: Call SDL_SetTextInputRect with a rect near the bottom of the screen before calling SDL_StartTextInput.

Actual Results: The iOS virtual keyboard is displayed after calling SDL_StartTextInput, but the screen is not shifted to reveal the TextInputRect region.

Expected Results: The screen should be shifted to reveal the TextInputRect region (like with SDL2/Android.)

This patch implements SDL_SetTextInputRect for uikit/iOS.

It sets up notification handlers to respond to changes in the display of the keyboard.  These handlers then change the frame of the view so it is moved out of the way of the keyboard as per SetTextInputRect.
Fixed assertion failure when minimizing a fullscreen window.
Fixed window resizing when entering and leaving fullscreen mode
Fixed assertion when quickly toggling from fullscreen back to fullscreen:
"Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'backgroundWindows not nil in enterFullScreenTransitionWithOptions:animated:activatingIt:'"

To reproduce this, run testsprite2, press Alt-Enter once, again while it's animating to fullscreen, and then again while it's animating out of fullscreen.
Made sure the window had the correct border when manually being brought back from fullscreen mode.
Fullscreen space naming cleanup to avoid confusion with normal fullscreen mode
Added a hint SDL_HINT_VIDEO_FULLSCREEN_SPACES to specify that windows go fullscreen into their own spaces on Mac OS X.