From b486dace3bed3da98c3eee79be2c3618548d2775 Mon Sep 17 00:00:00 2001 From: Sven Weidauer Date: Sun, 27 Feb 2011 10:40:37 +0000 Subject: Using NSTrackingArea to get mouseMoved: events in the browser view. svn path=/trunk/netsurf/; revision=11838 --- cocoa/BrowserView.m | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'cocoa/BrowserView.m') diff --git a/cocoa/BrowserView.m b/cocoa/BrowserView.m index 990f42732..5f4d9a216 100644 --- a/cocoa/BrowserView.m +++ b/cocoa/BrowserView.m @@ -165,10 +165,19 @@ static inline NSRect cocoa_get_caret_rect( BrowserView *view ) return YES; } +- (void) viewDidMoveToWindow; +{ + NSTrackingArea *area = [[NSTrackingArea alloc] initWithRect: [self visibleRect] + options: NSTrackingMouseMoved | NSTrackingActiveInKeyWindow | NSTrackingInVisibleRect + owner: self + userInfo: nil]; + [self addTrackingArea: area]; + [area release]; +} + static browser_mouse_state cocoa_mouse_flags_for_event( NSEvent *evt ) { browser_mouse_state result = 0; - NSUInteger flags = [evt modifierFlags]; if (flags & NSShiftKeyMask) result |= BROWSER_MOUSE_MOD_1; @@ -251,6 +260,8 @@ static browser_mouse_state cocoa_mouse_flags_for_event( NSEvent *evt ) - (void) mouseMoved: (NSEvent *)theEvent; { + if (historyVisible) return; + NSPoint location = [self convertMousePoint: theEvent]; browser_window_mouse_track( browser, cocoa_mouse_flags_for_event( theEvent ), location.x, location.y ); -- cgit v1.2.3