From d7f04e20859708e69c1fc2538a19ca47ed025461 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Marqui=CC=81nez=20Ferra=CC=81ndiz?= Date: Sun, 8 Mar 2015 17:40:01 +0100 Subject: cocoa: support the "window-minimized" property Signed-off-by: Stefano Pigozzi --- video/out/cocoa/window.m | 10 ++++++++++ video/out/cocoa_common.m | 22 ++++++++++++++++++++++ 2 files changed, 32 insertions(+) (limited to 'video') diff --git a/video/out/cocoa/window.m b/video/out/cocoa/window.m index 14a3ba91c8..646281df79 100644 --- a/video/out/cocoa/window.m +++ b/video/out/cocoa/window.m @@ -71,6 +71,16 @@ [self.adapter windowDidBecomeKey:notification]; } +- (void)windowDidMiniaturize:(NSNotification *)notification +{ + [self.adapter windowDidMiniaturize:notification]; +} + +- (void)windowDidDeminiaturize:(NSNotification *)notification +{ + [self.adapter windowDidDeminiaturize:notification]; +} + - (BOOL)canBecomeMainWindow { return YES; } - (BOOL)canBecomeKeyWindow { return YES; } - (BOOL)windowShouldClose:(id)sender diff --git a/video/out/cocoa_common.m b/video/out/cocoa_common.m index 608e380414..a1d2ac5e60 100644 --- a/video/out/cocoa_common.m +++ b/video/out/cocoa_common.m @@ -744,6 +744,16 @@ int vo_cocoa_control(struct vo *vo, int *events, int request, void *arg) }); return VO_TRUE; } + case VOCTRL_GET_WIN_STATE: { + with_cocoa_lock(vo->cocoa, ^{ + if ([[vo->cocoa->view window] isMiniaturized]) { + *(int *)arg |= VO_WIN_STATE_MINIMIZED; + } else { + *(int *)arg = 0; + } + }); + return VO_TRUE; + } case VOCTRL_SET_CURSOR_VISIBILITY: return vo_cocoa_set_cursor_visibility(vo, arg); case VOCTRL_UPDATE_WINDOW_TITLE: @@ -873,4 +883,16 @@ int vo_cocoa_control(struct vo *vo, int *events, int request, void *arg) [self didChangeMousePosition]; } +- (void)windowDidMiniaturize:(NSNotification *)notification +{ + struct vo_cocoa_state *s = self.vout->cocoa; + s->pending_events |= VO_EVENT_WIN_STATE; +} + +- (void)windowDidDeminiaturize:(NSNotification *)notification +{ + struct vo_cocoa_state *s = self.vout->cocoa; + s->pending_events |= VO_EVENT_WIN_STATE; +} + @end -- cgit v1.2.3