efl/gesture: deduplicate some code

also remove a misleading comment

no functional changes

Differential Revision: https://phab.enlightenment.org/D11395
This commit is contained in:
Mike Blumenkrantz 2020-02-20 13:55:40 -05:00 committed by Marcel Hollerbach
parent 6d9f8416e7
commit 710c05ed5a
1 changed files with 11 additions and 9 deletions

View File

@ -246,6 +246,15 @@ _efl_canvas_gesture_manager_callback_del_hook(void *data, Eo *target, const Efl_
}
}
static void
_recognizer_cleanup_internal(Efl_Canvas_Gesture_Manager_Data *pd, const Efl_Canvas_Gesture_Recognizer *recognizer, const Eo *target, const Efl_Event_Description *type)
{
_cleanup_cached_gestures(pd, target, type, recognizer);
eina_hash_del(pd->m_object_events, &recognizer, NULL);
//FIXME: delete it by object not list.
_cleanup_object(pd->m_gestures_to_delete);
}
static void
_gesture_recognizer_process_internal(Efl_Canvas_Gesture_Manager_Data *pd, Efl_Canvas_Gesture_Recognizer *recognizer,
Eo *target, const Efl_Event_Description *gesture_type, void *event)
@ -325,12 +334,7 @@ post_event:
//If the current event recognizes the gesture continuously, dont delete gesture.
if (((recog_state == EFL_GESTURE_RECOGNIZER_RESULT_FINISH) || (recog_state == EFL_GESTURE_RECOGNIZER_RESULT_CANCEL)) &&
!rd->continues)
{
_cleanup_cached_gestures(pd, target, gesture_type, recognizer);
eina_hash_del(pd->m_object_events, &recognizer, NULL);
//FIXME: delete it by object not list.
_cleanup_object(pd->m_gestures_to_delete);
}
_recognizer_cleanup_internal(pd, recognizer, target, gesture_type);
}
void
@ -514,9 +518,7 @@ _efl_canvas_gesture_manager_recognizer_cleanup(Eo *obj EINA_UNUSED, Efl_Canvas_G
//Find the type of the recognizer
type = _gesture_recognizer_event_type_get(recognizer);
_cleanup_cached_gestures(pd, target, type, recognizer);
eina_hash_del(pd->m_object_events, &recognizer, NULL);
_cleanup_object(pd->m_gestures_to_delete);
_recognizer_cleanup_internal(pd, recognizer, target, type);
}
#include "efl_canvas_gesture_manager.eo.c"