From e627303d70bb28e7c1d283bf7fdbb0b6479a631c Mon Sep 17 00:00:00 2001 From: nplourde Date: Sat, 18 Aug 2007 22:46:29 +0000 Subject: added double click support in vo_macosx. Patch by Ulion git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24097 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libvo/vo_macosx.h | 3 +++ libvo/vo_macosx.m | 35 ++++++++++++++++++++++++++++++----- 2 files changed, 33 insertions(+), 5 deletions(-) (limited to 'libvo') diff --git a/libvo/vo_macosx.h b/libvo/vo_macosx.h index 2a6365cfe4..04a2381e54 100644 --- a/libvo/vo_macosx.h +++ b/libvo/vo_macosx.h @@ -73,8 +73,11 @@ - (void) keyDown: (NSEvent *) theEvent; - (void) mouseMoved: (NSEvent *) theEvent; - (void) mouseDown: (NSEvent *) theEvent; +- (void) mouseUp: (NSEvent *) theEvent; - (void) rightMouseDown: (NSEvent *) theEvent; +- (void) rightMouseUp: (NSEvent *) theEvent; - (void) otherMouseDown: (NSEvent *) theEvent; +- (void) otherMouseUp: (NSEvent *) theEvent; - (void) scrollWheel: (NSEvent *) theEvent; - (void) mouseEvent: (NSEvent *) theEvent; - (void) check_events; diff --git a/libvo/vo_macosx.m b/libvo/vo_macosx.m index e3aa5c894a..b8bc32dc96 100644 --- a/libvo/vo_macosx.m +++ b/libvo/vo_macosx.m @@ -947,16 +947,31 @@ static int control(uint32_t request, void *data, ...) [self mouseEvent: theEvent]; } +- (void) mouseUp: (NSEvent *) theEvent +{ + [self mouseEvent: theEvent]; +} + - (void) rightMouseDown: (NSEvent *) theEvent { [self mouseEvent: theEvent]; } +- (void) rightMouseUp: (NSEvent *) theEvent +{ + [self mouseEvent: theEvent]; +} + - (void) otherMouseDown: (NSEvent *) theEvent { [self mouseEvent: theEvent]; } +- (void) otherMouseUp: (NSEvent *) theEvent +{ + [self mouseEvent: theEvent]; +} + - (void) scrollWheel: (NSEvent *) theEvent { if([theEvent deltaY] > 0) @@ -967,11 +982,21 @@ static int control(uint32_t request, void *data, ...) - (void) mouseEvent: (NSEvent *) theEvent { - switch( [theEvent buttonNumber] ) - { - case 0: mplayer_put_key(MOUSE_BTN0);break; - case 1: mplayer_put_key(MOUSE_BTN1);break; - case 2: mplayer_put_key(MOUSE_BTN2);break; + if ( [theEvent buttonNumber] >= 0 && [theEvent buttonNumber] <= 9 ) + { + switch([theEvent type]) + { + case NSLeftMouseDown: + case NSRightMouseDown: + case NSOtherMouseDown: + mplayer_put_key((MOUSE_BTN0 + [theEvent buttonNumber]) | MP_KEY_DOWN); + break; + case NSLeftMouseUp: + case NSRightMouseUp: + case NSOtherMouseUp: + mplayer_put_key(MOUSE_BTN0 + [theEvent buttonNumber]); + break; + } } } -- cgit v1.2.3