iOS: Fix app orientation when creating a landscape fullscreen window with the device currently in portrait orientation.

This commit is contained in:
Alex Szpakowski 2017-08-12 22:16:04 -03:00
parent 059d9e4627
commit 9be597a0d6
1 changed files with 8 additions and 0 deletions

View File

@ -107,6 +107,14 @@ static int SetupWindowData(_THIS, SDL_Window *window, UIWindow *uiwindow, SDL_bo
#if !TARGET_OS_TV
if (displaydata.uiscreen == [UIScreen mainScreen]) {
/* SDL_CreateWindow sets the window w&h to the display's bounds if the
* fullscreen flag is set. But the display bounds orientation might not
* match what we want, and GetSupportedOrientations call below uses the
* window w&h. They're overridden below anyway, so we'll just set them
* to the requested size for the purposes of determining orientation. */
window->w = window->windowed.w;
window->h = window->windowed.h;
NSUInteger orients = UIKit_GetSupportedOrientations(window);
BOOL supportsLandscape = (orients & UIInterfaceOrientationMaskLandscape) != 0;
BOOL supportsPortrait = (orients & (UIInterfaceOrientationMaskPortrait|UIInterfaceOrientationMaskPortraitUpsideDown)) != 0;