From 5dd45bee5816ef1e941fdf1122943e4ab345f388 Mon Sep 17 00:00:00 2001 From: Peter Maydell Date: Mon, 23 Jun 2014 10:35:23 +0100 Subject: [PATCH] ui/cocoa: Add utility method to check if point is within window Add a utility method to check whether a point is within the current window bounds, and use it in the various places in the mouse handling code that were opencoding the check. Signed-off-by: Peter Maydell Message-id: 1403516125-14568-3-git-send-email-peter.maydell@linaro.org --- ui/cocoa.m | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/ui/cocoa.m b/ui/cocoa.m index a270a464d8..1a626e215f 100644 --- a/ui/cocoa.m +++ b/ui/cocoa.m @@ -305,6 +305,11 @@ QemuCocoaView *cocoaView; return YES; } +- (BOOL) screenContainsPoint:(NSPoint) p +{ + return (p.x > -1 && p.x < screen.width && p.y > -1 && p.y < screen.height); +} + - (void) drawRect:(NSRect) rect { COCOA_DEBUG("QemuCocoaView: drawRect\n"); @@ -607,7 +612,7 @@ QemuCocoaView *cocoaView; break; case NSMouseMoved: if (isAbsoluteEnabled) { - if (p.x < 0 || p.x > screen.width || p.y < 0 || p.y > screen.height || ![[self window] isKeyWindow]) { + if (![self screenContainsPoint:p] || ![[self window] isKeyWindow]) { if (isTabletEnabled) { // if we leave the window, deactivate the tablet [NSCursor unhide]; isTabletEnabled = FALSE; @@ -657,7 +662,7 @@ QemuCocoaView *cocoaView; if (isTabletEnabled) { mouse_event = true; } else if (!isMouseGrabbed) { - if (p.x > -1 && p.x < screen.width && p.y > -1 && p.y < screen.height) { + if ([self screenContainsPoint:p]) { [self grabMouse]; } else { [NSApp sendEvent:event];