diff options
author | Stefano Pigozzi <stefano.pigozzi@gmail.com> | 2014-10-05 18:07:27 +0200 |
---|---|---|
committer | Stefano Pigozzi <stefano.pigozzi@gmail.com> | 2014-10-05 18:07:27 +0200 |
commit | c6b68c28f438f6f0f4e6b92782991211d868b858 (patch) | |
tree | 7bb9b47a493df9a2ad7a18ca30b8bf0d4e6c7d38 /video | |
parent | 79688144704dd93169d86cc5a75385604e88c72c (diff) | |
download | mpv-c6b68c28f438f6f0f4e6b92782991211d868b858.tar.bz2 mpv-c6b68c28f438f6f0f4e6b92782991211d868b858.tar.xz |
cocoa: remove --fs-missioncontrol
This is the first of a series of commits that will change the Cocoa way in a
way that is easily embeddable inside parent views. To reach that point common
code must avoid referencing the parent NSWindow since that could be the host
application's window.
Diffstat (limited to 'video')
-rw-r--r-- | video/out/cocoa/window.h | 6 | ||||
-rw-r--r-- | video/out/cocoa/window.m | 40 | ||||
-rw-r--r-- | video/out/cocoa_common.m | 17 |
3 files changed, 4 insertions, 59 deletions
diff --git a/video/out/cocoa/window.h b/video/out/cocoa/window.h index e325be343e..485831a932 100644 --- a/video/out/cocoa/window.h +++ b/video/out/cocoa/window.h @@ -22,11 +22,7 @@ - (void)queueNewVideoSize:(NSSize)newSize; @end -@protocol MpvFullscreen -- (void)setFullScreen:(BOOL)willBeFullscreen; -@end - -@interface MpvVideoWindow : NSWindow <NSWindowDelegate, MpvSizing, MpvFullscreen> +@interface MpvVideoWindow : NSWindow <NSWindowDelegate, MpvSizing> @property(nonatomic, retain) MpvCocoaAdapter *adapter; - (BOOL)canBecomeKeyWindow; - (BOOL)canBecomeMainWindow; diff --git a/video/out/cocoa/window.m b/video/out/cocoa/window.m index 597fa35d58..ece6246f34 100644 --- a/video/out/cocoa/window.m +++ b/video/out/cocoa/window.m @@ -63,26 +63,6 @@ [self.adapter didChangeWindowedScreenProfile:[self screen]]; } -- (BOOL)isInFullScreenMode -{ - return !!([self styleMask] & NSFullScreenWindowMask); -} - -- (void)setFullScreen:(BOOL)willBeFullscreen -{ - if (willBeFullscreen != [self isInFullScreenMode]) { - [super toggleFullScreen:nil]; - } -} - -- (void)toggleFullScreen:(id)sender { - if ([self isInFullScreenMode]) { - [self.adapter putCommand:"set fullscreen no"]; - } else { - [self.adapter putCommand:"set fullscreen yes"]; - } -} - - (BOOL)canBecomeMainWindow { return YES; } - (BOOL)canBecomeKeyWindow { return YES; } - (BOOL)windowShouldClose:(id)sender @@ -124,9 +104,6 @@ - (NSRect)constrainFrameRect:(NSRect)nf toScreen:(NSScreen *)screen { - if ([self isInFullScreenMode]) - return [super constrainFrameRect:nf toScreen:screen]; - NSRect of = [self frame]; NSRect vf = [screen ?: self.screen ?: [NSScreen mainScreen] visibleFrame]; NSRect ncf = [self contentRectForFrameRect:nf]; @@ -167,6 +144,7 @@ if (_queued_video_size.width <= 0.0 || _queued_video_size.height <= 0.0) return; + // XXX find a way to kill this state if (![self.adapter isInFullScreenMode]) { [self setContentAspectRatio:_queued_video_size]; [self setCenteredContentSize:_queued_video_size]; @@ -185,20 +163,4 @@ - (void)windowDidBecomeMain:(NSNotification *)notification { [self tryDequeueSize]; } - -- (NSSize)window:(NSWindow *)window willUseFullScreenContentSize:(NSSize)size { - return window.screen.frame.size; -} - -- (NSApplicationPresentationOptions)window:(NSWindow *)window - willUseFullScreenPresentationOptions:(NSApplicationPresentationOptions)opts { - return NSApplicationPresentationFullScreen | - NSApplicationPresentationAutoHideDock | - NSApplicationPresentationAutoHideMenuBar | - NSApplicationPresentationAutoHideToolbar; -} - -- (void)windowDidExitFullScreen:(NSNotification *)notification { - [self tryDequeueSize]; -} @end diff --git a/video/out/cocoa_common.m b/video/out/cocoa_common.m index 7bf78a8ce5..bd2fdd3ff7 100644 --- a/video/out/cocoa_common.m +++ b/video/out/cocoa_common.m @@ -331,11 +331,6 @@ static void create_ui(struct vo *vo, struct mp_rect *win, int geo_flags) } vo_set_level(vo, opts->ontop); - - if (opts->fs_missioncontrol) { - [s->window setCollectionBehavior: - NSWindowCollectionBehaviorFullScreenPrimary]; - } } static void cocoa_set_window_title(struct vo *vo, const char *title) @@ -498,20 +493,12 @@ static void vo_cocoa_fullscreen(struct vo *vo) vo_cocoa_update_screen_info(vo, NULL); - if (opts->fs_missioncontrol) { - if ([s->window conformsToProtocol:@protocol(MpvFullscreen)]) { - id<MpvFullscreen> win = (id<MpvFullscreen>) s->window; - [win setFullScreen:opts->fullscreen]; - } - } else { - draw_changes_after_next_frame(vo); - [s->view setFullScreen:opts->fullscreen]; - } + draw_changes_after_next_frame(vo); + [s->view setFullScreen:opts->fullscreen]; if (s->icc_fs_profile_path != s->icc_wnd_profile_path) s->icc_profile_path_changed = true; - // Make the core aware of the view size change. resize_window(vo); } |