diff options
author | Sven Weidauer <sven.weidauer@gmail.com> | 2011-02-27 10:40:37 +0000 |
---|---|---|
committer | Sven Weidauer <sven.weidauer@gmail.com> | 2011-02-27 10:40:37 +0000 |
commit | b486dace3bed3da98c3eee79be2c3618548d2775 (patch) | |
tree | b1995c53fbeee70d0246d5747d1f387dc41199f8 /cocoa/BrowserView.m | |
parent | e1901889698454018150bfc58f469708837dfd7a (diff) | |
download | netsurf-b486dace3bed3da98c3eee79be2c3618548d2775.tar.gz netsurf-b486dace3bed3da98c3eee79be2c3618548d2775.tar.bz2 |
Using NSTrackingArea to get mouseMoved: events in the browser view.
svn path=/trunk/netsurf/; revision=11838
Diffstat (limited to 'cocoa/BrowserView.m')
-rw-r--r-- | cocoa/BrowserView.m | 13 |
1 files changed, 12 insertions, 1 deletions
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 ); |