From 51f894e7fefce9e0ccca83cf07bc2fe8d91b07a7 Mon Sep 17 00:00:00 2001 From: ChunEon Park Date: Mon, 4 Oct 2010 21:39:04 +0900 Subject: [PATCH] [changelog] repackaging. [ecore_x_events.c] fixed double / triple click events. --- debian/changelog | 8 +++++ src/lib/ecore_x/xlib/ecore_x_events.c | 58 ++++++++++++++++++++++++----------- 2 files changed, 48 insertions(+), 18 deletions(-) diff --git a/debian/changelog b/debian/changelog index 31bc6e2..47da7b6 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +ecore (1.0.0.001+svn.51480slp2+build14) unstable; urgency=low + + * [ecore_x_events.c] fixed double / triple click + * Git: 165.213.180.234:/git/slp/pkgs/ecore + * Tag: ecore_1.0.0.001+svn.51480slp2+build14 + + -- ChunEon Park Mon, 04 Oct 2010 21:38:13 +0900 + ecore (1.0.0.001+svn.51480slp2+build13) unstable; urgency=low * [ecore_evas] add EFL window rotation effect diff --git a/src/lib/ecore_x/xlib/ecore_x_events.c b/src/lib/ecore_x/xlib/ecore_x_events.c index 4da2a12..d877bcb 100644 --- a/src/lib/ecore_x/xlib/ecore_x_events.c +++ b/src/lib/ecore_x/xlib/ecore_x_events.c @@ -43,6 +43,7 @@ static Window _ecore_x_mouse_down_last_last_event_win = 0; static Time _ecore_x_mouse_down_last_time = 0; static Time _ecore_x_mouse_down_last_last_time = 0; static int _ecore_x_mouse_up_count = 0; +static int _ecore_x_mouse_down_did_double = 0; static int _ecore_x_mouse_down_did_triple = 0; static int _ecore_x_last_event_mouse_move = 0; static Ecore_Event *_ecore_x_last_event_mouse_move_event = NULL; @@ -493,26 +494,47 @@ _ecore_mouse_button(int event, if (event_window == window) { - if (((int)(timestamp - _ecore_x_mouse_down_last_time) <= - (int)(1000 * _ecore_x_double_click_time)) && - (window == _ecore_x_mouse_down_last_win) && - (event_window == _ecore_x_mouse_down_last_event_win) - ) - e->double_click = 1; - - if (((int)(timestamp - _ecore_x_mouse_down_last_last_time) <= - (int)(2 * 1000 * _ecore_x_double_click_time)) && - (window == _ecore_x_mouse_down_last_win) && - (window == _ecore_x_mouse_down_last_last_win) && - (event_window == _ecore_x_mouse_down_last_event_win) && - (event_window == _ecore_x_mouse_down_last_last_event_win) - ) - { - e->triple_click = 1; - _ecore_x_mouse_down_did_triple = 1; + if (event == ECORE_EVENT_MOUSE_BUTTON_DOWN) + { + if (((int)(timestamp - _ecore_x_mouse_down_last_time) <= + (int)(1000 * _ecore_x_double_click_time)) && + (window == _ecore_x_mouse_down_last_win) && + (event_window == _ecore_x_mouse_down_last_event_win) + ) + { + e->double_click = 1; + _ecore_x_mouse_down_did_double = 1; + } + else + { + _ecore_x_mouse_down_did_double = 0; + _ecore_x_mouse_down_did_triple = 0; + } + + if (((int)(timestamp - _ecore_x_mouse_down_last_last_time) <= + (int)(2 * 1000 * _ecore_x_double_click_time)) && + (window == _ecore_x_mouse_down_last_win) && + (window == _ecore_x_mouse_down_last_last_win) && + (event_window == _ecore_x_mouse_down_last_event_win) && + (event_window == _ecore_x_mouse_down_last_last_event_win) + ) + { + e->triple_click = 1; + _ecore_x_mouse_down_did_triple = 1; + } + else + { + _ecore_x_mouse_down_did_triple = 0; + } } else - _ecore_x_mouse_down_did_triple = 0; + { + if (_ecore_x_mouse_down_did_double) + e->double_click = 1; + if (_ecore_x_mouse_down_did_triple) + e->triple_click = 1; + } + } if (event == ECORE_EVENT_MOUSE_BUTTON_DOWN -- 2.7.4