efl/gesture: remove manager config

we can just use efl.config here instead of duplicating it
This commit is contained in:
Mike Blumenkrantz 2020-01-30 10:46:24 -05:00 committed by Marcel Hollerbach
parent bc543ee1b9
commit 87ea5a5e71
3 changed files with 6 additions and 42 deletions

View File

@ -27,7 +27,6 @@ typedef struct _Efl_Canvas_Gesture_Manager_Data
//Lazy deletion of gestures
Eina_Array *m_gestures_to_delete;
//Kepps config values for gesture recognize
Eina_Hash *m_config;
Eina_Bool processing : 1;
} Efl_Canvas_Gesture_Manager_Data;
@ -101,6 +100,7 @@ _update_finger_sizes(Efl_Canvas_Gesture_Manager_Data *pd, int finger_size)
EOLIAN static Efl_Object *
_efl_canvas_gesture_manager_efl_object_constructor(Eo *obj, Efl_Canvas_Gesture_Manager_Data *pd)
{
Eo *config;
obj = efl_constructor(efl_super(obj, MY_CLASS));
pd->m_recognizers = eina_hash_pointer_new(EINA_FREE_CB(_hash_unref_cb));
@ -109,9 +109,9 @@ _efl_canvas_gesture_manager_efl_object_constructor(Eo *obj, Efl_Canvas_Gesture_M
pd->m_object_gestures = NULL;
pd->m_gestures_to_delete = eina_array_new(1);;
pd->m_config = eina_hash_string_superfast_new(EINA_FREE_CB(eina_value_free));
/* this needs to always be present */
eina_hash_add(pd->m_config, "glayer_tap_finger_size", eina_value_int_new(EFL_GESTURE_RECOGNIZER_TYPE_TAP_FINGER_SIZE));
config = efl_provider_find(efl_main_loop_get(), EFL_CONFIG_INTERFACE);
efl_config_int_set(config, "glayer_tap_finger_size", EFL_GESTURE_RECOGNIZER_TYPE_TAP_FINGER_SIZE);
//Register all types of recognizers at very first time.
efl_gesture_manager_recognizer_register(obj, efl_add(EFL_CANVAS_GESTURE_RECOGNIZER_TAP_CLASS, obj));
@ -126,35 +126,12 @@ _efl_canvas_gesture_manager_efl_object_constructor(Eo *obj, Efl_Canvas_Gesture_M
return obj;
}
EOLIAN static Eina_Value *
_efl_canvas_gesture_manager_config_get(const Eo *obj EINA_UNUSED, Efl_Canvas_Gesture_Manager_Data *pd, const char *name)
{
return eina_hash_find(pd->m_config, name);
}
EOLIAN static void
_efl_canvas_gesture_manager_config_set(Eo *obj, Efl_Canvas_Gesture_Manager_Data *pd, const char *name, Eina_Value *value)
{
Eina_Value *v;
int finger_size;
EINA_SAFETY_ON_NULL_RETURN(name);
v = eina_value_new(eina_value_type_get(value));
eina_value_copy(value, v);
eina_hash_add(pd->m_config, name, v);
efl_event_callback_call(obj, EFL_GESTURE_MANAGER_EVENT_CONFIG_CHANGED, (void*)name);
if (!eina_streq(name, "glayer_tap_finger_size")) return;
eina_value_get(value, &finger_size);
_update_finger_sizes(pd, finger_size);
}
EOLIAN static void
_efl_canvas_gesture_manager_efl_object_destructor(Eo *obj, Efl_Canvas_Gesture_Manager_Data *pd EINA_UNUSED)
{
Efl_Canvas_Gesture_Recognizer *recognizer;
void *ptr;
eina_hash_free(pd->m_config);
eina_hash_free(pd->m_recognizers);
EINA_LIST_FREE(pd->custom_recognizers, recognizer)
efl_unref(recognizer);

View File

@ -22,19 +22,6 @@ class @beta Efl.Canvas.Gesture_Manager extends Efl.Object
@in recognizer: Efl.Canvas.Gesture_Recognizer; [[The gesture recognizer object.]]
}
}
@property config {
[[This property holds configuration values for the recognizer.]]
set {
}
get {
}
keys {
name: string; [[Property name.]]
}
values {
value: any_value_ref; [[Value of the property.]]
}
}
recognizer_cleanup {
[[Perform cleanup for a gesture which ends after a delay.]]
params {

View File

@ -7,9 +7,9 @@
Eina_Value *
_recognizer_config_get(const Eo *obj, const char *name)
{
Eo *manager = efl_provider_find(obj, EFL_CANVAS_GESTURE_MANAGER_CLASS);
EINA_SAFETY_ON_NULL_RETURN_VAL(manager, NULL);
return efl_gesture_manager_config_get(manager, name);
Eo *config = efl_provider_find(efl_main_loop_get(), EFL_CONFIG_INTERFACE);
EINA_SAFETY_ON_NULL_RETURN_VAL(config, NULL);
return efl_config_get(config, name);
}
EOLIAN static void