mirror of
https://github.com/Ryujinx/SDL.git
synced 2024-12-23 01:05:28 +00:00
Use the application requested size to determine automatic orientation on iOS
Fixes https://github.com/libsdl-org/SDL/issues/8201 (cherry picked from commit e3b5999bb4fe9bc8413630215d928f90347073d1)
This commit is contained in:
parent
f892ae10d6
commit
be29ca0189
|
@ -114,14 +114,6 @@ static int SetupWindowData(_THIS, SDL_Window *window, UIWindow *uiwindow, SDL_bo
|
||||||
|
|
||||||
#if !TARGET_OS_TV
|
#if !TARGET_OS_TV
|
||||||
if (displaydata.uiscreen == [UIScreen mainScreen]) {
|
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);
|
NSUInteger orients = UIKit_GetSupportedOrientations(window);
|
||||||
BOOL supportsLandscape = (orients & UIInterfaceOrientationMaskLandscape) != 0;
|
BOOL supportsLandscape = (orients & UIInterfaceOrientationMaskLandscape) != 0;
|
||||||
BOOL supportsPortrait = (orients & (UIInterfaceOrientationMaskPortrait|UIInterfaceOrientationMaskPortraitUpsideDown)) != 0;
|
BOOL supportsPortrait = (orients & (UIInterfaceOrientationMaskPortrait|UIInterfaceOrientationMaskPortraitUpsideDown)) != 0;
|
||||||
|
@ -459,10 +451,10 @@ NSUInteger UIKit_GetSupportedOrientations(SDL_Window * window)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (orientationMask == 0) {
|
if (orientationMask == 0) {
|
||||||
if (window->w >= window->h) {
|
if (window->windowed.w >= window->windowed.h) {
|
||||||
orientationMask |= UIInterfaceOrientationMaskLandscape;
|
orientationMask |= UIInterfaceOrientationMaskLandscape;
|
||||||
}
|
}
|
||||||
if (window->h >= window->w) {
|
if (window->windowed.h >= window->windowed.w) {
|
||||||
orientationMask |= (UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskPortraitUpsideDown);
|
orientationMask |= (UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskPortraitUpsideDown);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue