summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/debugger
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2015-02-17 21:21:43 +1100
committer Vas Crabb <vas@vastheman.com>2015-02-17 21:21:43 +1100
commit00ec6889f2f8e0fa0eab8aa461266488a21965b5 (patch)
tree1034496dcfeef83e9a842ff976b88eb3ade66f4b /src/osd/modules/debugger
parent22d84e0b2184b33650bfef4b8a81a048be0e34fc (diff)
Intuitive mouse dragging on views supporting selection, improved click-through behaviour
Diffstat (limited to 'src/osd/modules/debugger')
-rw-r--r--src/osd/modules/debugger/osx/debugview.m16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/osd/modules/debugger/osx/debugview.m b/src/osd/modules/debugger/osx/debugview.m
index 8ce77b59cc3..7182ac3ee5c 100644
--- a/src/osd/modules/debugger/osx/debugview.m
+++ b/src/osd/modules/debugger/osx/debugview.m
@@ -432,7 +432,7 @@ static void debugwin_view_update(debug_view &view, void *osdprivate)
- (void)mouseDown:(NSEvent *)event {
NSPoint const location = [self convertPoint:[event locationInWindow] fromView:nil];
NSUInteger const modifiers = [event modifierFlags];
- view->process_click((modifiers & NSCommandKeyMask) ? DCK_RIGHT_CLICK
+ view->process_click(((modifiers & NSCommandKeyMask) && [[self window] isMainWindow]) ? DCK_RIGHT_CLICK
: (modifiers & NSAlternateKeyMask) ? DCK_MIDDLE_CLICK
: DCK_LEFT_CLICK,
[self convertLocation:location]);
@@ -440,6 +440,20 @@ static void debugwin_view_update(debug_view &view, void *osdprivate)
}
+- (void)mouseDragged:(NSEvent *)event {
+ NSPoint const location = [self convertPoint:[event locationInWindow] fromView:nil];
+ NSUInteger const modifiers = [event modifierFlags];
+ if (view->cursor_supported()
+ && !(modifiers & NSAlternateKeyMask)
+ && (!(modifiers & NSCommandKeyMask) || ![[self window] isMainWindow]))
+ {
+ view->set_cursor_position([self convertLocation:location]);
+ view->set_cursor_visible(true);
+ [self setNeedsDisplay:YES];
+ }
+}
+
+
- (void)rightMouseDown:(NSEvent *)event {
NSPoint const location = [self convertPoint:[event locationInWindow] fromView:nil];
if (view->cursor_supported())