Fullscreen space naming cleanup to avoid confusion with normal fullscreen mode
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
diff --git a/src/video/cocoa/SDL_cocoawindow.h b/src/video/cocoa/SDL_cocoawindow.h
index bbb5b6c..39992a4 100644
--- a/src/video/cocoa/SDL_cocoawindow.h
+++ b/src/video/cocoa/SDL_cocoawindow.h
@@ -40,7 +40,7 @@ typedef enum
BOOL observingVisible;
BOOL wasCtrlLeft;
BOOL wasVisible;
- BOOL isFullscreen;
+ BOOL isFullscreenSpace;
BOOL inFullscreenTransition;
PendingWindowOperation pendingWindowOperation;
}
@@ -48,7 +48,7 @@ typedef enum
-(void) listen:(SDL_WindowData *) data;
-(void) pauseVisibleObservation;
-(void) resumeVisibleObservation;
--(BOOL) setFullscreenState:(BOOL) state;
+-(BOOL) setFullscreenSpace:(BOOL) state;
-(BOOL) isInFullscreenTransition;
-(void) addPendingWindowOperation:(PendingWindowOperation) operation;
-(void) close;
diff --git a/src/video/cocoa/SDL_cocoawindow.m b/src/video/cocoa/SDL_cocoawindow.m
index 010373a..54bb94e 100644
--- a/src/video/cocoa/SDL_cocoawindow.m
+++ b/src/video/cocoa/SDL_cocoawindow.m
@@ -101,7 +101,7 @@ GetWindowStyle(SDL_Window * window)
observingVisible = YES;
wasCtrlLeft = NO;
wasVisible = [window isVisible];
- isFullscreen = NO;
+ isFullscreenSpace = NO;
inFullscreenTransition = NO;
pendingWindowOperation = PENDING_OPERATION_NONE;
@@ -184,34 +184,38 @@ GetWindowStyle(SDL_Window * window)
}
}
--(BOOL) setFullscreenState:(BOOL) state;
+-(BOOL) setFullscreenSpace:(BOOL) state;
{
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1070
SDL_Window *window = _data->window;
NSWindow *nswindow = _data->nswindow;
- BOOL canSetState = NO;
+ BOOL canSetSpace = NO;
- /* Make sure we can support this fullscreen style */
- if (![nswindow respondsToSelector: @selector(toggleFullScreen:)]) {
+ /* Make sure the window supports switching to fullscreen spaces */
+ if (![nswindow respondsToSelector: @selector(collectionBehavior)]) {
+ return NO;
+ }
+ if ([nswindow collectionBehavior] != NSWindowCollectionBehaviorFullScreenPrimary) {
return NO;
}
pendingWindowOperation = PENDING_OPERATION_NONE;
- /* We can enter new style fullscreen mode for "fullscreen desktop" */
+ /* We can enter fullscreen spaces for "fullscreen desktop" */
if ((window->flags & SDL_WINDOW_FULLSCREEN_DESKTOP) == SDL_WINDOW_FULLSCREEN_DESKTOP) {
- canSetState = YES;
+ canSetSpace = YES;
}
- /* We can always leave new style fullscreen mode */
- if (!state && isFullscreen) {
- canSetState = YES;
+ /* We can always leave fullscreen spaces */
+ if (!state && isFullscreenSpace) {
+ canSetSpace = YES;
}
- if (!canSetState) {
+ if (!canSetSpace) {
return NO;
}
- if (state == isFullscreen) {
+ if (state == isFullscreenSpace) {
return YES;
}
@@ -226,6 +230,9 @@ GetWindowStyle(SDL_Window * window)
[nswindow performSelectorOnMainThread: @selector(toggleFullScreen:) withObject:nswindow waitUntilDone:NO];
return YES;
+#else
+ return NO
+#endif /* SDK >= 10.7 */
}
-(BOOL) isInFullscreenTransition
@@ -430,19 +437,20 @@ GetWindowStyle(SDL_Window * window)
}
}
- isFullscreen = YES;
+ isFullscreenSpace = YES;
inFullscreenTransition = YES;
}
- (void)windowDidEnterFullScreen:(NSNotification *)aNotification
{
SDL_Window *window = _data->window;
+ NSWindow *nswindow = _data->nswindow;
inFullscreenTransition = NO;
if (pendingWindowOperation == PENDING_OPERATION_LEAVE_FULLSCREEN) {
pendingWindowOperation = PENDING_OPERATION_NONE;
- [self setFullscreenState:NO];
+ [self setFullscreenSpace:NO];
} else {
pendingWindowOperation = PENDING_OPERATION_NONE;
/* Force the size change event in case it was delivered earlier
@@ -466,7 +474,7 @@ GetWindowStyle(SDL_Window * window)
window->flags = flags;
}
- isFullscreen = NO;
+ isFullscreenSpace = NO;
inFullscreenTransition = YES;
}
@@ -479,7 +487,7 @@ GetWindowStyle(SDL_Window * window)
if (pendingWindowOperation == PENDING_OPERATION_ENTER_FULLSCREEN) {
pendingWindowOperation = PENDING_OPERATION_NONE;
- [self setFullscreenState:YES];
+ [self setFullscreenSpace:YES];
} else if (pendingWindowOperation == PENDING_OPERATION_MINIMIZE) {
pendingWindowOperation = PENDING_OPERATION_NONE;
[nswindow miniaturize:nil];
@@ -1272,7 +1280,7 @@ Cocoa_SetWindowFullscreen(_THIS, SDL_Window * window, SDL_VideoDisplay * display
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
SDL_WindowData *data = (SDL_WindowData *) window->driverdata;
- if (![data->listener setFullscreenState:(fullscreen ? YES : NO)]) {
+ if (![data->listener setFullscreenSpace:(fullscreen ? YES : NO)]) {
Cocoa_SetWindowFullscreen_OldStyle(_this, window, display, fullscreen);
}