vlc | branch: master | David Fuhrmann <[email protected]> | Sat Feb 9 11:07:44 2013 +0100| [13882691ddfd3ca2514febb3ece6b5d24893cdfe] | committer: David Fuhrmann
macosx: also hide mouse cursor when detached window is in fullscreen > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=13882691ddfd3ca2514febb3ece6b5d24893cdfe --- modules/gui/macosx/MainWindow.h | 5 ----- modules/gui/macosx/MainWindow.m | 31 ------------------------------- modules/gui/macosx/Windows.m | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 33 insertions(+), 36 deletions(-) diff --git a/modules/gui/macosx/MainWindow.h b/modules/gui/macosx/MainWindow.h index 2f818c2..316845f 100644 --- a/modules/gui/macosx/MainWindow.h +++ b/modules/gui/macosx/MainWindow.h @@ -92,8 +92,6 @@ BOOL b_podcastView_displayed; - NSTimer *t_hide_mouse_timer; - VLCColorView * o_color_backdrop; NSRect frameBeforePlayback; @@ -133,9 +131,6 @@ - (void)setVideoplayEnabled; -- (void)hideMouseCursor:(NSTimer *)timer; -- (void)recreateHideMouseTimer; - @end @interface VLCDetachedVideoWindow : VLCVideoWindowCommon diff --git a/modules/gui/macosx/MainWindow.m b/modules/gui/macosx/MainWindow.m index 81711ea..1da0e57 100644 --- a/modules/gui/macosx/MainWindow.m +++ b/modules/gui/macosx/MainWindow.m @@ -158,7 +158,6 @@ static VLCMainWindow *_o_sharedInstance = nil; if (!OSX_SNOW_LEOPARD) b_nativeFullscreenMode = var_InheritBool(VLCIntf, "macosx-nativefullscreenmode"); #endif - t_hide_mouse_timer = nil; [self useOptimizedDrawing: YES]; [[o_search_fld cell] setPlaceholderString: _NS("Search")]; @@ -756,36 +755,6 @@ static VLCMainWindow *_o_sharedInstance = nil; } } -// Called automatically if window's acceptsMouseMovedEvents property is true -- (void)mouseMoved:(NSEvent *)theEvent -{ - if (b_fullscreen) - [self recreateHideMouseTimer]; - - [super mouseMoved: theEvent]; -} - -- (void)recreateHideMouseTimer -{ - if (t_hide_mouse_timer != nil) { - [t_hide_mouse_timer invalidate]; - [t_hide_mouse_timer release]; - } - - t_hide_mouse_timer = [NSTimer scheduledTimerWithTimeInterval:2 - target:self - selector:@selector(hideMouseCursor:) - userInfo:nil - repeats:NO]; - [t_hide_mouse_timer retain]; -} - -// NSTimer selectors require this function signature as per Apple's docs -- (void)hideMouseCursor:(NSTimer *)timer -{ - [NSCursor setHiddenUntilMouseMoves: YES]; -} - #pragma mark - #pragma mark Lion native fullscreen handling - (void)windowWillEnterFullScreen:(NSNotification *)notification diff --git a/modules/gui/macosx/Windows.m b/modules/gui/macosx/Windows.m index d7e1066..e314f4b 100644 --- a/modules/gui/macosx/Windows.m +++ b/modules/gui/macosx/Windows.m @@ -547,6 +547,39 @@ #pragma mark - +#pragma mark Mouse cursor handling + +// NSTimer selectors require this function signature as per Apple's docs +- (void)hideMouseCursor:(NSTimer *)timer +{ + [NSCursor setHiddenUntilMouseMoves: YES]; +} + +- (void)recreateHideMouseTimer +{ + if (t_hide_mouse_timer != nil) { + [t_hide_mouse_timer invalidate]; + [t_hide_mouse_timer release]; + } + + t_hide_mouse_timer = [NSTimer scheduledTimerWithTimeInterval:2 + target:self + selector:@selector(hideMouseCursor:) + userInfo:nil + repeats:NO]; + [t_hide_mouse_timer retain]; +} + +// Called automatically if window's acceptsMouseMovedEvents property is true +- (void)mouseMoved:(NSEvent *)theEvent +{ + if (b_fullscreen) + [self recreateHideMouseTimer]; + + [super mouseMoved: theEvent]; +} + +#pragma mark - #pragma mark Lion native fullscreen handling - (void)becomeKeyWindow _______________________________________________ vlc-commits mailing list [email protected] http://mailman.videolan.org/listinfo/vlc-commits
