unify fading code

desksanity-1.0
Mike Blumenkrantz 9 years ago
parent 4a74d65333
commit d177714539
  1. 28
      src/e_mod_main.c
  2. 1
      src/e_mod_main.h
  3. 24
      src/moveresize.c
  4. 27
      src/pip.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);
}

@ -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);

@ -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();
@ -241,18 +239,6 @@ line_add(Evas *e)
return o;
}
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)
{
@ -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

@ -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;

Loading…
Cancel
Save