tasn pushed a commit to branch master.
commit 28d751c69232377696920ca24fbb97229dd13b01
Author: Aharon Hillel <[email protected]>
Date: Thu Jul 11 17:18:24 2013 +0300
Elementary: Gesture Layer added move for Taps Added MOVE state report for
Double,Triple Tap gesture
Signed-off-by: Aharon Hillel <[email protected]>
---
src/lib/elm_gesture_layer.c | 56 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 56 insertions(+)
diff --git a/src/lib/elm_gesture_layer.c b/src/lib/elm_gesture_layer.c
index 70d83f9..91d0309 100644
--- a/src/lib/elm_gesture_layer.c
+++ b/src/lib/elm_gesture_layer.c
@@ -1908,6 +1908,32 @@ _tap_gesture_test(Evas_Object *obj,
&st->info, EINA_FALSE);
}
+ if (gesture->state == ELM_GESTURE_STATE_MOVE)
+ { /* Report MOVE if all devices have same DOWN/UP count */
+ /* Should be in MOVE state from last UP event */
+ Eina_List *l;
+ Eina_Bool move = EINA_TRUE;
+ unsigned int n = 0;
+
+ EINA_LIST_FOREACH(st->l, l, pe_list)
+ {
+ if (n == 0)
+ {
+ n = eina_list_count(pe_list);
+ }
+ else if (n != eina_list_count(pe_list))
+ {
+ move = EINA_FALSE;
+ }
+ }
+
+ if (move && (n > 0))
+ {
+ ev_flag = _state_set(gesture, ELM_GESTURE_STATE_MOVE,
+ &st->info, EINA_TRUE);
+ }
+ }
+
break;
case EVAS_CALLBACK_MULTI_UP:
@@ -1930,6 +1956,36 @@ _tap_gesture_test(Evas_Object *obj,
}
}
+ if ((gesture->state == ELM_GESTURE_STATE_START) ||
+ (gesture->state == ELM_GESTURE_STATE_MOVE))
+ { /* Tap gesture started, no finger on surface. Report MOVE */
+ Eina_List *l;
+ Eina_Bool move = EINA_TRUE;
+ unsigned int n = 0;
+
+ /* Report move only if all devices have same DOWN/UP count */
+ EINA_LIST_FOREACH(st->l, l, pe_list)
+ {
+ if (n == 0)
+ {
+ n = eina_list_count(pe_list);
+ }
+ else if (n != eina_list_count(pe_list))
+ {
+ move = EINA_FALSE;
+ }
+ }
+
+ if ((move && (n > 0)) && (n < st->n_taps_needed))
+ { /* Set number of fingers and report MOVE */
+ /* We don't report MOVE when (n >= st->n_taps_needed)
+ because will be END or ABORT at this stage */
+ st->info.n = eina_list_count(st->l);
+ ev_flag = _state_set(gesture, ELM_GESTURE_STATE_MOVE,
+ &st->info, EINA_TRUE);
+ }
+ }
+
break;
case EVAS_CALLBACK_MULTI_MOVE:
--
------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk