tap: check a different number of fingers in each repeats 25/150625/1
authorJengHyun Kang <jhyuni.kang@samsung.com>
Mon, 18 Sep 2017 05:47:03 +0000 (14:47 +0900)
committerJengHyun Kang <jhyuni.kang@samsung.com>
Mon, 18 Sep 2017 05:47:03 +0000 (14:47 +0900)
Change-Id: Icad4afd323ea8842b025a7df4dcd7e284695ff2d

src/e_mod_gesture_events.c
src/e_mod_main.h

index ce01a23..ba460e8 100644 (file)
@@ -1209,6 +1209,7 @@ _e_gesture_tap_cancel(void)
 
    taps->repeats = 0;
    taps->enabled_finger = 0;
+   taps->current_finger = 0;
    taps->state = E_GESTURE_TAP_STATE_READY;
    taps->base_rect.x1 = 0;
    taps->base_rect.y1 = 0;
@@ -1343,6 +1344,7 @@ _e_gesture_tap_done(void)
              ecore_timer_del(taps->done_timer);
              taps->done_timer = NULL;
           }
+        taps->current_finger = 0;
         if (taps->repeats == taps->fingers[taps->enabled_finger].max_repeats)
           {
              ecore_timer_del(taps->interval_timer);
@@ -1371,6 +1373,8 @@ _e_gesture_process_tap_down(Ecore_Event_Mouse_Button *ev)
    if (taps->enabled_finger < gesture->gesture_events.num_pressed)
        taps->enabled_finger = gesture->gesture_events.num_pressed;
 
+   taps->current_finger++;
+
    if (taps->enabled_finger > taps->max_fingers)
      _e_gesture_tap_cancel();
 
@@ -1454,6 +1458,9 @@ _e_gesture_process_tap_up(Ecore_Event_Mouse_Button *ev)
    if (gesture->gesture_events.recognized_gesture)
      _e_gesture_tap_cancel();
 
+   if (taps->enabled_finger != taps->current_finger)
+     _e_gesture_tap_cancel();
+
    switch (taps->state)
      {
         case E_GESTURE_TAP_STATE_NONE:
index 890c9f2..428c1b3 100644 (file)
@@ -290,6 +290,7 @@ struct _E_Gesture_Event_Tap
    E_Gesture_Event_Tap_Finger fingers[E_GESTURE_FINGER_MAX + 2];
    E_Gesture_Tap_State state;
    unsigned int enabled_finger;
+   unsigned int current_finger;
    unsigned int repeats;
    unsigned int max_fingers;