浏览代码

SDL_cocoawindow.m: update fullscreen toggle when SDL_SetWindowResizable called

uyjulian 3 年之前
父节点
当前提交
a164c9d245
共有 1 个文件被更改,包括 10 次插入0 次删除
  1. 10 0
      src/video/cocoa/SDL_cocoawindow.m

+ 10 - 0
src/video/cocoa/SDL_cocoawindow.m

@@ -2020,9 +2020,19 @@ Cocoa_SetWindowResizable(_THIS, SDL_Window * window, SDL_bool resizable)
      */
     SDL_WindowData *data = (SDL_WindowData *) window->driverdata;
     Cocoa_WindowListener *listener = data->listener;
+    NSWindow *nswindow = data->nswindow;
+    SDL_VideoData *videodata = ((SDL_WindowData *) window->driverdata)->videodata;
     if (![listener isInFullscreenSpace]) {
         SetWindowStyle(window, GetWindowStyle(window));
     }
+    if (videodata->allow_spaces) {
+        if (resizable) {
+            /* resizable windows are Spaces-friendly: they get the "go fullscreen" toggle button on their titlebar. */
+            [nswindow setCollectionBehavior:NSWindowCollectionBehaviorFullScreenPrimary];
+        } else {
+            [nswindow setCollectionBehavior:NSWindowCollectionBehaviorManaged];
+        }
+    }
 }}
 
 void