diff --git a/src/Makefile_Evas.am b/src/Makefile_Evas.am index 7ef134ef05..a74ebd7642 100644 --- a/src/Makefile_Evas.am +++ b/src/Makefile_Evas.am @@ -268,6 +268,8 @@ lib/evas/canvas/efl_animation_object_group_sequential.c \ lib/evas/gesture/efl_gesture_touch.c \ lib/evas/gesture/efl_gesture.c \ lib/evas/gesture/efl_gesture_tap.c \ +lib/evas/gesture/efl_gesture_recognizer.c \ +lib/evas/gesture/efl_gesture_recognizer_tap.c \ $(NULL) EXTRA_DIST2 += \ diff --git a/src/lib/evas/gesture/efl_gesture_recognizer.c b/src/lib/evas/gesture/efl_gesture_recognizer.c new file mode 100644 index 0000000000..f25590a029 --- /dev/null +++ b/src/lib/evas/gesture/efl_gesture_recognizer.c @@ -0,0 +1,22 @@ +#include "efl_gesture_private.h" + +#define MY_CLASS EFL_GESTURE_RECOGNIZER_CLASS + + +EOLIAN static Eina_Value * +_efl_gesture_recognizer_config_get(Eo *obj EINA_UNUSED, Efl_Gesture_Recognizer_Data *pd, const char *name) +{ + return efl_gesture_manager_config_get(pd->manager, name); +} + + +EOLIAN static void +_efl_gesture_recognizer_reset(Eo *obj EINA_UNUSED, Efl_Gesture_Recognizer_Data *pd EINA_UNUSED, + Efl_Gesture *gesture EINA_UNUSED) +{ + +} + +#include "efl_gesture_recognizer.eo.c" + + diff --git a/src/lib/evas/gesture/efl_gesture_recognizer_tap.c b/src/lib/evas/gesture/efl_gesture_recognizer_tap.c index e89106c5e5..37456a913c 100644 --- a/src/lib/evas/gesture/efl_gesture_recognizer_tap.c +++ b/src/lib/evas/gesture/efl_gesture_recognizer_tap.c @@ -21,10 +21,10 @@ _efl_gesture_recognizer_tap_efl_object_destructor(Eo *obj EINA_UNUSED, Efl_Gestu } EOLIAN static Efl_Gesture * -_efl_gesture_recognizer_tap_efl_gesture_recognizer_create(Eo *obj EINA_UNUSED, Efl_Gesture_Recognizer_Tap_Data *pd EINA_UNUSED, - Efl_Object *target EINA_UNUSED) +_efl_gesture_recognizer_tap_efl_gesture_recognizer_create(Eo *obj, Efl_Gesture_Recognizer_Tap_Data *pd EINA_UNUSED, + Efl_Object *target EINA_UNUSED) { - return efl_add(EFL_GESTURE_TAP_CLASS, NULL); + return efl_add(EFL_GESTURE_TAP_CLASS, obj); } EOLIAN static Efl_Gesture_Recognizer_Result @@ -34,6 +34,7 @@ _efl_gesture_recognizer_tap_efl_gesture_recognizer_recognize(Eo *obj EINA_UNUSED Efl_Gesture_Touch *event EINA_UNUSED) { double dist_x, dist_y, length, x, y; + Eina_Vector2 pos; Efl_Gesture_Recognizer_Result result = EFL_GESTURE_CANCEL; switch (efl_gesture_touch_state_get(event)) @@ -41,8 +42,9 @@ _efl_gesture_recognizer_tap_efl_gesture_recognizer_recognize(Eo *obj EINA_UNUSED case EFL_GESTURE_TOUCH_BEGIN: { efl_gesture_touch_start_point(event, &x, &y); - efl_gesture_tap_position_set(gesture, EINA_POSITION2D(x, y)); - efl_gesture_hotspot_set(gesture, EINA_POSITION2D(x, y)); + eina_vector2_set(&pos, x, y); + efl_gesture_tap_position_set(gesture, pos); + efl_gesture_hotspot_set(gesture, pos); result = EFL_GESTURE_TRIGGER; break; } @@ -77,7 +79,7 @@ _efl_gesture_recognizer_tap_efl_gesture_recognizer_reset(Eo *obj, { Efl_Gesture_Tap_Data *tap; tap = efl_data_scope_get(gesture, EFL_GESTURE_TAP_CLASS); - tap->pos = EINA_POSITION2D(0, 0); + eina_vector2_set(&tap->pos, 0, 0); efl_gesture_recognizer_reset(efl_super(obj, MY_CLASS), gesture); }