Преглед изворни кода

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)
Sam Lantinga пре 1 година
родитељ
комит
be29ca0189
1 измењених фајлова са 2 додато и 10 уклоњено
  1. 2 10
      src/video/uikit/SDL_uikitwindow.m

+ 2 - 10
src/video/uikit/SDL_uikitwindow.m

@@ -114,14 +114,6 @@ 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;
@@ -459,10 +451,10 @@ NSUInteger UIKit_GetSupportedOrientations(SDL_Window * window)
         }
 
         if (orientationMask == 0) {
-            if (window->w >= window->h) {
+            if (window->windowed.w >= window->windowed.h) {
                 orientationMask |= UIInterfaceOrientationMaskLandscape;
             }
-            if (window->h >= window->w) {
+            if (window->windowed.h >= window->windowed.w) {
                 orientationMask |= (UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskPortraitUpsideDown);
             }
         }