discomfitor pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/desksanity.git/commit/?id=d177714539924caf6f215ea6531aaa7e42256b12

commit d177714539924caf6f215ea6531aaa7e42256b12
Author: Mike Blumenkrantz <[email protected]>
Date:   Tue Aug 19 06:43:53 2014 -0400

    unify fading code
---
 src/e_mod_main.c | 28 ++++++++++++++++++++++++++++
 src/e_mod_main.h |  1 +
 src/moveresize.c | 24 +++++-------------------
 src/pip.c        | 27 +++------------------------
 4 files changed, 37 insertions(+), 43 deletions(-)

diff --git a/src/e_mod_main.c b/src/e_mod_main.c
index 6cc3006..1a7776a 100644
--- a/src/e_mod_main.c
+++ b/src/e_mod_main.c
@@ -6,6 +6,16 @@ static E_Config_DD *conf_edd = NULL;
 EINTERN Mod *mod = NULL;
 EINTERN Config *ds_config = NULL;
 
+static Evas_Object *fade_obj = NULL;
+
+static void
+_ds_fade_end(Ecore_Cb cb, Efx_Map_Data *emd EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED)
+{
+   E_FREE_FUNC(fade_obj, evas_object_del);
+   if (cb)
+     cb(NULL);
+}
+
 static void
 _e_mod_ds_config_load(void)
 {
@@ -105,3 +115,21 @@ e_modapi_save(E_Module *m EINA_UNUSED)
    return 1;
 }
 
+EINTERN void
+ds_fade_setup(E_Comp *comp)
+{
+   if (fade_obj) return;
+   fade_obj = evas_object_rectangle_add(comp->evas);
+   evas_object_name_set(fade_obj, "fade_obj");
+   evas_object_geometry_set(fade_obj, 0, 0, comp->man->w, comp->man->h);
+   evas_object_layer_set(fade_obj, E_LAYER_MENU + 1);
+   evas_object_show(fade_obj);
+   efx_fade(fade_obj, EFX_EFFECT_SPEED_LINEAR, EFX_COLOR(0, 0, 0), 0, 0.0, 
NULL, NULL);
+   efx_fade(fade_obj, EFX_EFFECT_SPEED_LINEAR, EFX_COLOR(0, 0, 0), 192, 0.3, 
NULL, NULL);
+}
+
+EINTERN void
+ds_fade_end(Ecore_Cb end_cb)
+{
+   efx_fade(fade_obj, EFX_EFFECT_SPEED_DECELERATE, EFX_COLOR(0, 0, 0), 0, 0.3, 
(Efx_End_Cb)_ds_fade_end, end_cb);
+}
diff --git a/src/e_mod_main.h b/src/e_mod_main.h
index 4bcde64..b908022 100644
--- a/src/e_mod_main.h
+++ b/src/e_mod_main.h
@@ -84,6 +84,7 @@ extern Mod *mod;
 extern Config *ds_config;
 
 EINTERN void ds_fade_setup(E_Comp *comp);
+EINTERN void ds_fade_end(Ecore_Cb cb);
 
 EINTERN void ds_init(void);
 EINTERN void ds_shutdown(void);
diff --git a/src/moveresize.c b/src/moveresize.c
index 5a8e3b6..4cf88f1 100644
--- a/src/moveresize.c
+++ b/src/moveresize.c
@@ -11,7 +11,6 @@ static Evas_Object *resize_text = NULL;
 static Evas_Object *resize_rect[4] = {NULL};
 
 
-static Evas_Object *fade_obj = NULL;
 static E_Client *client = NULL;
 
 static E_Client_Hook *ec_hooks[EC_HOOK_COUNT] = {NULL};
@@ -19,7 +18,6 @@ static E_Client_Hook *ec_hooks[EC_HOOK_COUNT] = {NULL};
 static void
 clear_all(void)
 {
-   E_FREE_FUNC(fade_obj, evas_object_del);
    E_FREE_FUNC(mr_line_x, evas_object_del);
    E_FREE_FUNC(mr_line_y, evas_object_del);
    E_FREE_FUNC(move_text_x, evas_object_del);
@@ -40,7 +38,7 @@ clear_all(void)
 }
 
 static void
-fade_end(void *d EINA_UNUSED, Efx_Map_Data *emd EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED)
+_fade_end(void *d EINA_UNUSED)
 {
    e_comp_shape_queue_block(client->comp, 0);
    clear_all();
@@ -242,18 +240,6 @@ line_add(Evas *e)
 }
 
 static void
-fade_setup(E_Client *ec)
-{
-   fade_obj = evas_object_rectangle_add(ec->comp->evas);
-   evas_object_name_set(fade_obj, "fade_obj");
-   evas_object_geometry_set(fade_obj, 0, 0, ec->comp->man->w, 
ec->comp->man->h);
-   evas_object_layer_set(fade_obj, E_LAYER_MENU + 1);
-   evas_object_show(fade_obj);
-   efx_fade(fade_obj, EFX_EFFECT_SPEED_LINEAR, EFX_COLOR(0, 0, 0), 0, 0.0, 
NULL, NULL);
-   efx_fade(fade_obj, EFX_EFFECT_SPEED_LINEAR, EFX_COLOR(0, 0, 0), 192, 0.3, 
NULL, NULL);
-}
-
-static void
 pulse(void *d EINA_UNUSED, Efx_Map_Data *emd EINA_UNUSED, Evas_Object *obj)
 {
    efx_queue_append(obj, EFX_EFFECT_SPEED_SINUSOIDAL, 
EFX_QUEUED_EFFECT(EFX_EFFECT_FADE(255, 255, 255, 255)), 0.6, NULL, NULL);
@@ -269,7 +255,7 @@ move_start(E_Client *ec)
    client = ec;
    e_comp_shape_queue_block(ec->comp, 1);
 
-   fade_setup(ec);
+   ds_fade_setup(ec->comp);
 
    ec->layer_block = 1;
    evas_object_layer_set(ec->frame, E_LAYER_MENU + 1);
@@ -311,7 +297,7 @@ move_end(void *d EINA_UNUSED, E_Client *ec EINA_UNUSED)
    efx_fade(mr_line_y, EFX_EFFECT_SPEED_DECELERATE, EFX_COLOR(0, 0, 0), 0, 
0.3, NULL, NULL);
    efx_fade(move_text_x, EFX_EFFECT_SPEED_DECELERATE, EFX_COLOR(0, 0, 0), 0, 
0.3, NULL, NULL);
    efx_fade(move_text_y, EFX_EFFECT_SPEED_DECELERATE, EFX_COLOR(0, 0, 0), 0, 
0.3, NULL, NULL);
-   efx_fade(fade_obj, EFX_EFFECT_SPEED_DECELERATE, EFX_COLOR(0, 0, 0), 0, 0.3, 
fade_end, NULL);
+   ds_fade_end(_fade_end);
 }
 
 static void
@@ -324,7 +310,7 @@ resize_start(E_Client *ec)
    client = ec;
    e_comp_shape_queue_block(ec->comp, 1);
 
-   fade_setup(ec);
+   ds_fade_setup(ec->comp);
 
    ec->layer_block = 1;
    evas_object_layer_set(ec->frame, E_LAYER_MENU + 1);
@@ -393,7 +379,7 @@ resize_end(void *d EINA_UNUSED, E_Client *ec EINA_UNUSED)
         efx_fade(resize_rect[x], EFX_EFFECT_SPEED_DECELERATE, EFX_COLOR(0, 0, 
0), 0, 0.3, NULL, NULL);
         efx_queue_clear(resize_rect[x]);
      }
-   efx_fade(fade_obj, EFX_EFFECT_SPEED_DECELERATE, EFX_COLOR(0, 0, 0), 0, 0.3, 
fade_end, NULL);
+   ds_fade_end(_fade_end);
 }
 
 EINTERN void
diff --git a/src/pip.c b/src/pip.c
index ac3ef5d..45d021b 100644
--- a/src/pip.c
+++ b/src/pip.c
@@ -9,8 +9,6 @@ static Ecore_Event_Handler *action_handler = NULL;
 
 static Eina_Bool editing = EINA_FALSE;
 
-static Evas_Object *fade_obj = NULL;
-
 typedef struct Pip
 {
    Evas_Object *pip;
@@ -21,25 +19,6 @@ typedef struct Pip
    Eina_Bool resize : 1;
 } Pip;
 
-
-static void
-fade_setup(E_Comp *comp)
-{
-   fade_obj = evas_object_rectangle_add(comp->evas);
-   evas_object_name_set(fade_obj, "fade_obj");
-   evas_object_geometry_set(fade_obj, 0, 0, comp->man->w, comp->man->h);
-   evas_object_layer_set(fade_obj, E_LAYER_MENU + 1);
-   evas_object_show(fade_obj);
-   efx_fade(fade_obj, EFX_EFFECT_SPEED_LINEAR, EFX_COLOR(0, 0, 0), 0, 0.0, 
NULL, NULL);
-   efx_fade(fade_obj, EFX_EFFECT_SPEED_LINEAR, EFX_COLOR(0, 0, 0), 192, 0.3, 
NULL, NULL);
-}
-
-static void
-fade_end(void *d EINA_UNUSED, Efx_Map_Data *emd EINA_UNUSED, Evas_Object *obj)
-{
-   E_FREE_FUNC(obj, evas_object_del);
-}
-
 static void
 pips_edit(void)
 {
@@ -50,7 +29,7 @@ pips_edit(void)
    comp = e_comp_get(NULL);
    if (comp->nocomp) return;
    editing = EINA_TRUE;
-   fade_setup(comp);
+   ds_fade_setup(comp);
    it = eina_hash_iterator_data_new(pips);
    EINA_ITERATOR_FOREACH(it, pip)
      {
@@ -68,7 +47,7 @@ pips_noedit(void)
    Eina_Iterator *it;
 
    editing = EINA_FALSE;
-   efx_fade(fade_obj, EFX_EFFECT_SPEED_DECELERATE, EFX_COLOR(0, 0, 0), 0, 0.3, 
fade_end, NULL);
+   ds_fade_end(NULL);
    it = eina_hash_iterator_data_new(pips);
    EINA_ITERATOR_FOREACH(it, pip)
      {
@@ -347,7 +326,7 @@ pip_shutdown(void)
    E_FREE_FUNC(pips, eina_hash_free);
    E_FREE_FUNC(handlers[0], ecore_event_handler_del);
    E_FREE_FUNC(handlers[1], ecore_event_handler_del);
-   E_FREE_FUNC(fade_obj, evas_object_del);
+   ds_fade_end(NULL);
    e_action_predef_name_del(D_("Compositor"), D_("Manage Minis"));
    e_action_del("pips");
    act = NULL;

-- 


Reply via email to