summaryrefslogtreecommitdiff
path: root/cocoa/BrowserView.m
diff options
context:
space:
mode:
authorSven Weidauer <sven.weidauer@gmail.com>2011-02-27 10:40:37 +0000
committerSven Weidauer <sven.weidauer@gmail.com>2011-02-27 10:40:37 +0000
commitb486dace3bed3da98c3eee79be2c3618548d2775 (patch)
treeb1995c53fbeee70d0246d5747d1f387dc41199f8 /cocoa/BrowserView.m
parente1901889698454018150bfc58f469708837dfd7a (diff)
downloadnetsurf-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.m13
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 );