.hgtags
author Alex Szpakowski <slime73@gmail.com>
Thu, 15 Jan 2015 01:06:14 -0400
branchiOS-improvements
changeset 9532 318042c16b76
parent 8628 b558f99d48f0
child 10002 c9cce8633f13
permissions -rw-r--r--
Several improvements to the iOS backend:

- Added new custom launch screen code. It uses the launch screen nib when available on iOS 8+, the launch images dictionary if the launch screen nib isn't available, and the old standard image names if the launch image dictionary isn't in the plist.
The launch screen is now hidden during the first call to SDL_PumpEvents rather than SDL_CreateWindow so apps can have the launch screen still visible if they do time-consuming loading after creating their window. It also fades out in roughly the same way as the system launch screen behavior.
It can be disabled by setting the SDL_IPHONE_LAUNCHSCREEN define in SDL_config_iphoneos.h to 0.

- A blank UIView is now created and displayed when the window is first created. The old behavior was to defer creating any view until SDL_GL_CreateContext, which prevented rotation, touch events, and other windowing-related things from working until then. This also makes it easier to use SDL_GetWindowWMInfo after creating a window.

- Moved the keyboard and animation callback code from SDL's UIView subclasses to its UIViewController subclass, which lets them work properly in all cases when a SDL window is valid, even before SDL_GL_CreateContext is called and after SDL_GL_DeleteContext is called.

- SDL_GL_CreateContext, SDL_GL_SwapWindow, SDL_GL_MakeCurrent, and SDL_GL_DeleteContext are more robust.

- Fixed some edge cases where SDL windows weren't rotating properly or their reported sizes were out of sync with their actual sizes.

- Removed all calls to [UIApplication setStatusBarOrientation:]. It doesn't seem to work as expected in all cases in recent iOS versions.

- Some code style cleanup.
     1 0afe0e38e02cf2048e93582f01c52fbb91d3c7bb release-1.2.7
     2 230b156829ed13b31134d96f689c917981f57b84 release-1.2.5
     3 27cab50ec9c746e886ce0f3fdaa0b0cdc55a594f release-1.2.11
     4 2fe3fbd2bff50165b3cad33bf40d70b3bb3c9fd0 release-1.2.3
     5 3c052d3bcc76c899dfd4846be76243a78e8c7180 release-1.2.4
     6 3c5eed71a3320962551af3b3dfbee0c99fcf0086 release-1.2.10
     7 4867f7f7dd3426d1dbbeef48b3f3b3aa19590cc4 release-1.2.12
     8 6e28dae59e3baf4447c83e833a8d2ac912536f5b release-1.2.1
     9 7c2589fb8d4df54c6faabd3faebd0c0e73f67879 release-1.2.13
    10 86de11faf082881ad9b73a1a1d78733ca07f8db8 release-1.2.6
    11 bb051fa871aa0b53ea57df56a446cec3bb85924c release-1.2.2
    12 cfcb2e1c36ebe9809577adf768b0ec53e8768af9 release-1.2.8
    13 e044e7c70a50a2f54d14ee20d0933e904e5853b6 release-1.2.9
    14 f14cf9d71233934811774f941d0de121d5f96ccf release-1.2.14
    15 39c22a953456f6c9e2c8993c8ff973824104102a pre-touch-removal
    16 ccf5fbfa2afabab429ad911308f362201a94d810 macosx_10_4_supported
    17 d6a8fa507a45d9de7258e51585eab3e45c415149 release-2.0.0
    18 a8bd63b33636715f2cf6e7d36ab7201acbd478fe release-2.0.1
    19 a8bd63b33636715f2cf6e7d36ab7201acbd478fe release-2.0.1
    20 715a01415ac9305b9f8ec72b99fcf8cc9dd64dde release-2.0.1
    21 715a01415ac9305b9f8ec72b99fcf8cc9dd64dde release-2.0.1
    22 9ec71e56071cc80eda6691a3f8719ed5395dfcfb release-2.0.1
    23 9ec71e56071cc80eda6691a3f8719ed5395dfcfb release-2.0.1
    24 0000000000000000000000000000000000000000 release-2.0.1
    25 0000000000000000000000000000000000000000 release-2.0.1
    26 b9663c77f5c95ebf05f3c18e80619caae8ae1460 release-2.0.1
    27 be2102f000d0d2d9bab75e9703a1d503d0f6bb33 release-2.0.2
    28 f285b9487756ff681f76c85644222c03a7bfa1c7 release-2.0.3
    29 f285b9487756ff681f76c85644222c03a7bfa1c7 release-2.0.3
    30 704a0bfecf754e4e1383f83c7d5118b00cae26ea release-2.0.3