From 3fb8bf94f3ddbb03668dffeed6f1d758022eb477 Mon Sep 17 00:00:00 2001 From: hermet Date: Wed, 29 Jun 2011 09:42:14 +0000 Subject: [PATCH] elementary/transit - trivial changes. git-svn-id: https://svn.enlightenment.org/svn/e/trunk/elementary@60810 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/elm_transit.c | 46 +++++++++++++++++++++++++++++----------------- 1 file changed, 29 insertions(+), 17 deletions(-) diff --git a/src/lib/elm_transit.c b/src/lib/elm_transit.c index 6d9dc8d..91a0e83 100644 --- a/src/lib/elm_transit.c +++ b/src/lib/elm_transit.c @@ -85,6 +85,19 @@ typedef struct _Elm_Transit_Effect_Module Elm_Transit_Effect_Module; typedef struct _Elm_Obj_Data Elm_Obj_Data; typedef struct _Elm_Obj_State Elm_Obj_State; +static void _elm_transit_obj_states_save(Evas_Object *obj, Elm_Obj_Data *obj_data); +static Eina_Bool _hash_foreach_pass_events_set(const Eina_Hash *hash __UNUSED__, const void *key, void *data __UNUSED__, void *fdata); +static Eina_Bool _hash_foreach_obj_states_save(const Eina_Hash *hash __UNUSED__, const void *key, void *data, void *fdata __UNUSED__); +static void _elm_transit_object_remove_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__); +static void _obj_damage_area_set(Evas_Object *obj); +static void _elm_transit_object_remove(Elm_Transit *transit, Evas_Object *obj); +static void _elm_transit_effect_del(Elm_Transit *transit, Elm_Transit_Effect_Module *effect_module); +static void _remove_dead_effects(Elm_Transit *transit); +static void _elm_transit_del(Elm_Transit *transit); +static void _chain_transits_go(Elm_Transit *transit); +static void _transit_animate_op(Elm_Transit *transit, double progress); +static Eina_Bool _animator_animate_cb(void *data); + static void _elm_transit_obj_states_save(Evas_Object *obj, Elm_Obj_Data *obj_data) { @@ -118,6 +131,22 @@ _hash_foreach_obj_states_save(const Eina_Hash *hash __UNUSED__, const void *key, } static void +_remove_obj_from_list(Elm_Transit *transit, Evas_Object *obj) +{ + //Remove duplicated objects + //TODO: Need to consider about optimizing here + while(1) + { + if (!eina_list_data_find_list(transit->objs, obj)) + break; + transit->objs = eina_list_remove(transit->objs, obj); + evas_object_event_callback_del_full(obj, EVAS_CALLBACK_DEL, + _elm_transit_object_remove_cb, + transit); + } +} + +static void _elm_transit_object_remove_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__) { Elm_Transit *transit; @@ -176,23 +205,6 @@ _obj_damage_area_set(Evas_Object *obj) } static void -_remove_obj_from_list(Elm_Transit *transit, Evas_Object *obj) -{ - evas_object_event_callback_del_full(obj, EVAS_CALLBACK_DEL, - _elm_transit_object_remove_cb, - transit); - - //Remove duplicated objects - //TODO: Need to consider about optimizing here - while(1) - { - if (!eina_list_data_find_list(transit->objs, obj)) - break; - transit->objs = eina_list_remove(transit->objs, obj); - } -} - -static void _elm_transit_object_remove(Elm_Transit *transit, Evas_Object *obj) { Elm_Obj_Data *obj_data; -- 2.7.4