summaryrefslogtreecommitdiffstats
path: root/libvo
diff options
context:
space:
mode:
authorulion <ulion@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-11-07 01:44:41 +0000
committerulion <ulion@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-11-07 01:44:41 +0000
commitc90770493c9160517100f3fb0c8a66f0988a33ae (patch)
tree726b5134df2c85b558a63ed6ff0758783c397e0b /libvo
parentb5c7ff51927afbae9158db66553d711b85c63606 (diff)
downloadmpv-c90770493c9160517100f3fb0c8a66f0988a33ae.tar.bz2
mpv-c90770493c9160517100f3fb0c8a66f0988a33ae.tar.xz
Handle mouse up event to get double click support from mp_fifo.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24986 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo')
-rw-r--r--libvo/vo_quartz.c29
1 files changed, 23 insertions, 6 deletions
diff --git a/libvo/vo_quartz.c b/libvo/vo_quartz.c
index 94d82522c4..4ce31404a6 100644
--- a/libvo/vo_quartz.c
+++ b/libvo/vo_quartz.c
@@ -308,6 +308,7 @@ static OSStatus MouseEventHandler(EventHandlerCallRef nextHandler, EventRef even
break;
case kEventMouseDown:
+ case kEventMouseUp:
{
EventMouseButton button;
short part;
@@ -317,7 +318,26 @@ static OSStatus MouseEventHandler(EventHandlerCallRef nextHandler, EventRef even
GetEventParameter(event, kEventParamMouseButton, typeMouseButton, 0, sizeof(EventMouseButton), 0, &button);
part = FindWindow(mousePos,&tmpWin);
+ if(kind == kEventMouseUp)
+ {
+ if (part != inContent)
+ break;
+ switch(button)
+ {
+ case kEventMouseButtonPrimary:
+ mplayer_put_key(MOUSE_BTN0);
+ break;
+ case kEventMouseButtonSecondary:
+ mplayer_put_key(MOUSE_BTN1);
+ break;
+ case kEventMouseButtonTertiary:
+ mplayer_put_key(MOUSE_BTN2);
+ break;
+ default:result = eventNotHandledErr;break;
+ }
+ break;
+ }
if( (winMousePos.h > (bounds.right - 15)) && (winMousePos.v > (bounds.bottom)) )
{
if(!vo_quartz_fs)
@@ -335,13 +355,13 @@ static OSStatus MouseEventHandler(EventHandlerCallRef nextHandler, EventRef even
switch(button)
{
case kEventMouseButtonPrimary:
- mplayer_put_key(MOUSE_BTN0);
+ mplayer_put_key(MOUSE_BTN0 | MP_KEY_DOWN);
break;
case kEventMouseButtonSecondary:
- mplayer_put_key(MOUSE_BTN1);
+ mplayer_put_key(MOUSE_BTN1 | MP_KEY_DOWN);
break;
case kEventMouseButtonTertiary:
- mplayer_put_key(MOUSE_BTN2);
+ mplayer_put_key(MOUSE_BTN2 | MP_KEY_DOWN);
break;
default:result = eventNotHandledErr;break;
@@ -350,9 +370,6 @@ static OSStatus MouseEventHandler(EventHandlerCallRef nextHandler, EventRef even
}
break;
- case kEventMouseUp:
- break;
-
case kEventMouseDragged:
break;