diff options
Diffstat (limited to 'video/out')
-rw-r--r-- | video/out/cocoa/mpvadapter.h | 1 | ||||
-rw-r--r-- | video/out/cocoa/window.m | 10 | ||||
-rw-r--r-- | video/out/cocoa_common.m | 8 |
3 files changed, 18 insertions, 1 deletions
diff --git a/video/out/cocoa/mpvadapter.h b/video/out/cocoa/mpvadapter.h index f54c26593f..c5a0579a96 100644 --- a/video/out/cocoa/mpvadapter.h +++ b/video/out/cocoa/mpvadapter.h @@ -28,6 +28,7 @@ - (void)handleFilesArray:(NSArray *)files; - (void)didChangeWindowedScreenProfile:(NSScreen *)screen; - (void)performAsyncResize:(NSSize)size; +- (void)didChangeMousePosition; - (BOOL)isInFullScreenMode; - (BOOL)keyboardEnabled; diff --git a/video/out/cocoa/window.m b/video/out/cocoa/window.m index 8d3b507e27..75adbbecb5 100644 --- a/video/out/cocoa/window.m +++ b/video/out/cocoa/window.m @@ -61,6 +61,16 @@ [self.adapter didChangeWindowedScreenProfile:[self screen]]; } +- (void)windowDidResignKey:(NSNotification *)notification +{ + [self.adapter didChangeMousePosition]; +} + +- (void)windowDidBecomeKey:(NSNotification *)notification +{ + [self.adapter didChangeMousePosition]; +} + - (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 c2cc2ece43..e4b0e9eca5 100644 --- a/video/out/cocoa_common.m +++ b/video/out/cocoa_common.m @@ -258,7 +258,7 @@ static int vo_cocoa_set_cursor_visibility(struct vo *vo, bool *visible) if (*visible) { CGDisplayShowCursor(kCGDirectMainDisplay); - } else if ([v canHideCursor]) { + } else if ([v canHideCursor] && [s->window isKeyWindow]) { CGDisplayHideCursor(kCGDirectMainDisplay); } else { *visible = true; @@ -847,4 +847,10 @@ int vo_cocoa_control(struct vo *vo, int *events, int request, void *arg) struct vo_cocoa_state *s = self.vout->cocoa; s->pending_events |= VO_EVENT_ICC_PROFILE_CHANGED; } + +- (void)didChangeMousePosition +{ + struct vo_cocoa_state *s = self.vout->cocoa; + [(MpvEventsView *)s->view signalMousePosition]; +} @end |