From 4795b42a648dd6a7f87293c38783f99380f4d476 Mon Sep 17 00:00:00 2001 From: Doyoun Kang Date: Thu, 14 Jul 2016 23:18:23 +0900 Subject: [PATCH 01/16] added code to support sending launching_done event Change-Id: I209fe2f2c81d1780757a0e6a2e1df5dfce4cc9bf --- src/e_mod_effect.c | 98 +++++++++++++++++++++++++++++++++++++++++++++++++++++- src/e_mod_effect.h | 1 + 2 files changed, 98 insertions(+), 1 deletion(-) diff --git a/src/e_mod_effect.c b/src/e_mod_effect.c index c791825..46b95b1 100644 --- a/src/e_mod_effect.c +++ b/src/e_mod_effect.c @@ -8,6 +8,7 @@ typedef struct _E_Effect_Client unsigned int animating; E_Comp_Wl_Buffer_Ref buffer_ref; E_Pixmap *ep; + E_Client *reverse_ec; } E_Effect_Client; static void @@ -57,7 +58,17 @@ _e_mod_effect_event_send(E_Client *ec, Eina_Bool start, E_Effect_Type type) if (start) tizen_effect_send_start(effect_resource, surface_resource, tizen_effect_type); else - tizen_effect_send_end(effect_resource, surface_resource, tizen_effect_type); + { + tizen_effect_send_end(effect_resource, surface_resource, tizen_effect_type); + + EFFINF("Un-SET EXTRA_ANIMATING...", ec->pixmap, ec); + ec->extra_animating = EINA_FALSE; + if (ec->launching == EINA_TRUE) + { + ec->launching = EINA_FALSE; + e_comp_object_signal_emit(ec->frame, "e,action,launch,done", "e"); + } + } } static E_Effect_Client* @@ -435,6 +446,9 @@ _e_mod_effect_cb_visible(void *data, Evas_Object *obj, const char *signal) e_comp_override_add(); // e_client_visibility_skip_set(ec, EINA_TRUE); + EFFINF("SET EXTRA_ANIMATING...", ec->pixmap, ec); + ec->extra_animating = EINA_TRUE; + _e_mod_effect_object_setup(ec); e_comp_object_effect_params_set(ec->frame, 0, (int[]){0}, 1); if (e_comp->nocomp) @@ -758,6 +772,24 @@ _e_mod_effect_cb_restack_finish_done(void *data, Evas_Object *obj, const char *s if ((ec = (E_Client*)data)) { _e_mod_effect_event_send(ec, EINA_FALSE, E_EFFECT_TYPE_RESTACK_HIDE); + + E_Effect_Client *efc = NULL; + efc = _e_mod_effect_client_get(ec); + if (efc && efc->reverse_ec) + { + E_Client *ec_home = efc->reverse_ec; + if (ec_home->extra_animating) + { + ec_home->extra_animating = EINA_FALSE; + if (ec_home->launching == EINA_TRUE) + { + ec_home->launching = EINA_FALSE; + e_comp_object_signal_emit(ec_home->frame, "e,action,launch,done", "e"); + } + _e_mod_effect_unref(ec_home); + } + } + _e_mod_effect_unref(ec); } e_comp_override_del(); @@ -769,6 +801,7 @@ _e_mod_effect_cb_restack(void *data, Evas_Object *obj, const char *signal) E_Client *ec; E_Effect_Group group; const char *emission; + E_Client *ec_home = NULL; if (!_effect) return EINA_FALSE; @@ -799,6 +832,7 @@ _e_mod_effect_cb_restack(void *data, Evas_Object *obj, const char *signal) if (!below) return EINA_FALSE; if (e_util_strcmp(signal, "e,action,restack,show")) return EINA_FALSE; + ec_home = ec; ec = below; group = _e_mod_effect_group_get(ec); @@ -811,6 +845,9 @@ _e_mod_effect_cb_restack(void *data, Evas_Object *obj, const char *signal) { if (!_e_mod_effect_ref(ec)) return EINA_FALSE; + EFFINF("SET EXTRA_ANIMATING...", ec->pixmap, ec); + ec->extra_animating = EINA_TRUE; + e_comp_override_add(); _e_mod_effect_object_layer_up(ec); @@ -835,6 +872,25 @@ _e_mod_effect_cb_restack(void *data, Evas_Object *obj, const char *signal) { if (!_e_mod_effect_ref(ec)) return EINA_FALSE; + if (ec_home) + { + E_Effect_Client *efc = NULL; + efc = _e_mod_effect_client_get(ec); + if (efc) + { + if (_e_mod_effect_ref(ec_home)) + { + EFFINF("SET EXTRA_ANIMATING...", ec_home->pixmap, ec_home); + ec_home->extra_animating = EINA_TRUE; + + efc->reverse_ec = ec_home; + + EFFINF("SET EXTRA_ANIMATING...", ec->pixmap, ec); + ec->extra_animating = EINA_TRUE; + } + } + } + e_comp_override_add(); _e_mod_effect_object_layer_up(ec); @@ -880,6 +936,40 @@ _e_mod_effect_cb_restack(void *data, Evas_Object *obj, const char *signal) } static Eina_Bool +_e_mod_effect_cb_launch(void *data, Evas_Object *obj, const char *signal) +{ + E_Client *ec; + struct wl_resource *surface_resource; + struct wl_resource *effect_resource; + struct wl_client *wc; + unsigned int tizen_effect_type = 4; + + if (!_effect) return EINA_FALSE; + + ec = e_comp_object_client_get(obj); + if ((!ec) || (!ec->comp_data)) return EINA_FALSE; + if (e_object_is_del(E_OBJECT(ec))) return EINA_FALSE; + + surface_resource = ec->comp_data->surface; + if (!surface_resource) return EINA_FALSE; + + wc = wl_resource_get_client(surface_resource); + if (!wc) return EINA_FALSE; + + effect_resource = eina_hash_find(_effect->resources, &wc); + if (!effect_resource) return EINA_FALSE; + + EFFINF("SEND END |type:LAUNCH|win:0x%08x|tz_effect:0x%08x", + ec->pixmap, ec, + (unsigned int)e_client_util_win_get(ec), + (unsigned int)effect_resource); + + tizen_effect_send_end(effect_resource, surface_resource, tizen_effect_type); + + return EINA_TRUE; +} + +static Eina_Bool _e_mod_effect_cb_client_add(void *data, int type, void *event) { E_Client *ec; @@ -1123,6 +1213,12 @@ e_mod_effect_init(void) "e,action,restack*", _e_mod_effect_cb_restack, effect)); + effect->providers = + eina_list_append(effect->providers, + e_comp_object_effect_mover_add(100, + "e,action,launch,done", + _e_mod_effect_cb_launch, + effect)); _effect = effect; diff --git a/src/e_mod_effect.h b/src/e_mod_effect.h index 3778af3..26a2553 100644 --- a/src/e_mod_effect.h +++ b/src/e_mod_effect.h @@ -32,6 +32,7 @@ enum _E_Effect_Type E_EFFECT_TYPE_UNICONIFY, E_EFFECT_TYPE_RESTACK_SHOW, E_EFFECT_TYPE_RESTACK_HIDE, + E_EFFECT_TYPE_LAUNCH, E_EFFECT_TYPE_NONE, }; -- 2.7.4 From 176d5b3fa6daee6e53ffff1cfeca959997d5bbbe Mon Sep 17 00:00:00 2001 From: Doyoun Kang Date: Thu, 14 Jul 2016 23:27:07 +0900 Subject: [PATCH 02/16] Packaging: update version to 0.1.1 Change-Id: Id8a4939844abd3d09a371fb4c0091b3e766d1f4a --- packaging/e-mod-tizen-effect.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/e-mod-tizen-effect.spec b/packaging/e-mod-tizen-effect.spec index ab756dd..7d2ba5d 100644 --- a/packaging/e-mod-tizen-effect.spec +++ b/packaging/e-mod-tizen-effect.spec @@ -1,5 +1,5 @@ Name: e-mod-tizen-effect -Version: 0.1.0 +Version: 0.1.1 Release: 1 Summary: The effect module for the enlightenment URL: http://www.enlightenment.org -- 2.7.4 From 1d3780017d6d4842addddb9d066769c76f969450 Mon Sep 17 00:00:00 2001 From: MinJeong Kim Date: Fri, 5 Aug 2016 10:54:10 +0900 Subject: [PATCH 03/16] Create effect client for existing clients at init time Change-Id: I850a20f78588cbc3aecd497f767642bd72027b4d Signed-off-by: MinJeong Kim --- src/e_mod_effect.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/e_mod_effect.c b/src/e_mod_effect.c index 46b95b1..1cc15f5 100644 --- a/src/e_mod_effect.c +++ b/src/e_mod_effect.c @@ -1137,6 +1137,9 @@ e_mod_effect_init(void) { E_Effect *effect; E_Comp_Config *config; + Eina_List *l; + E_Client *ec; + E_Effect_Client *efc; EINA_SAFETY_ON_NULL_RETURN_VAL(e_comp, EINA_FALSE); EINA_SAFETY_ON_NULL_RETURN_VAL(e_comp->evas, EINA_FALSE); @@ -1158,6 +1161,18 @@ e_mod_effect_init(void) effect->clients = eina_hash_pointer_new(_e_mod_effect_cb_client_data_free); EINA_SAFETY_ON_NULL_GOTO(effect->clients, err); + EINA_LIST_FOREACH(e_comp->clients, l, ec) + { + if (!ec->ignored) + { + efc = _e_mod_effect_client_get(ec); + if (!efc) + efc = _e_mod_effect_client_new(ec); + if (efc) + eina_hash_add(effect->clients, &ec, efc); + } + } + effect->resources = eina_hash_pointer_new(NULL); EINA_SAFETY_ON_NULL_GOTO(effect->resources, err); -- 2.7.4 From eda770de9318c1d3c5d89b60456d56563ab68382 Mon Sep 17 00:00:00 2001 From: Gwanglim Lee Date: Tue, 9 Aug 2016 15:19:54 +0900 Subject: [PATCH 04/16] Packaging: update version to 0.1.2 Change-Id: Icb98da19f2b17c124f7b6b900ceff059b28521dd --- packaging/e-mod-tizen-effect.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/e-mod-tizen-effect.spec b/packaging/e-mod-tizen-effect.spec index 7d2ba5d..44054fe 100644 --- a/packaging/e-mod-tizen-effect.spec +++ b/packaging/e-mod-tizen-effect.spec @@ -1,5 +1,5 @@ Name: e-mod-tizen-effect -Version: 0.1.1 +Version: 0.1.2 Release: 1 Summary: The effect module for the enlightenment URL: http://www.enlightenment.org -- 2.7.4 From 5753b56efc4b7c5cdb74fb04ec3304c23c45d54b Mon Sep 17 00:00:00 2001 From: MinJeong Kim Date: Wed, 31 Aug 2016 21:41:05 +0900 Subject: [PATCH 05/16] Use client new/del hook instead of event Change-Id: I763ace08b6ec88b796d35cb0e18a49cf2384c682 --- src/e_mod_effect.c | 47 ++++++++++++++++++++++++----------------------- src/e_mod_effect.h | 1 + 2 files changed, 25 insertions(+), 23 deletions(-) diff --git a/src/e_mod_effect.c b/src/e_mod_effect.c index 1cc15f5..6e062fb 100644 --- a/src/e_mod_effect.c +++ b/src/e_mod_effect.c @@ -970,15 +970,12 @@ _e_mod_effect_cb_launch(void *data, Evas_Object *obj, const char *signal) } static Eina_Bool -_e_mod_effect_cb_client_add(void *data, int type, void *event) +_e_mod_effect_cb_hook_client_new(void *d EINA_UNUSED, E_Client *ec) { - E_Client *ec; E_Effect_Client *efc; - E_Event_Client *ev = event; - if (!_effect) return ECORE_CALLBACK_PASS_ON; + if (!_effect) return; - ec = ev->ec; efc = _e_mod_effect_client_get(ec); if (!efc) { @@ -986,21 +983,15 @@ _e_mod_effect_cb_client_add(void *data, int type, void *event) if (efc) eina_hash_add(_effect->clients, &ec, efc); } - - return ECORE_CALLBACK_PASS_ON; } -static Eina_Bool -_e_mod_effect_cb_client_remove(void *data, int type, void *event) +static void +_e_mod_effect_cb_hook_client_del(void *d EINA_UNUSED, E_Client *ec) { - E_Client *ec; E_Effect_Client *efc = NULL; - E_Event_Client *ev = event; if (!_effect) return ECORE_CALLBACK_PASS_ON; - ec = ev->ec; - _effect->stack.old = eina_list_remove(_effect->stack.old, ec); _effect->stack.cur = eina_list_remove(_effect->stack.cur, ec); @@ -1012,8 +1003,6 @@ _e_mod_effect_cb_client_remove(void *data, int type, void *event) if (!efc->animating) eina_hash_del_by_key(_effect->clients, &ec); } - - return ECORE_CALLBACK_PASS_ON; } static Eina_Bool @@ -1132,6 +1121,17 @@ _e_mod_effect_cb_client_data_free(void *data) free(efc); } +#undef E_CLIENT_HOOK_APPEND +#define E_CLIENT_HOOK_APPEND(l, t, cb, d) \ + do \ + { \ + E_Client_Hook *_h; \ + _h = e_client_hook_add(t, cb, d); \ + assert(_h); \ + l = eina_list_append(l, _h); \ + } \ + while (0) + EAPI Eina_Bool e_mod_effect_init(void) { @@ -1188,16 +1188,16 @@ e_mod_effect_init(void) E_LIST_HANDLER_APPEND(effect->event_hdlrs, E_EVENT_CLIENT_BUFFER_CHANGE, _e_mod_effect_cb_client_buffer_change, effect); - - E_LIST_HANDLER_APPEND(effect->event_hdlrs, E_EVENT_CLIENT_ADD, - _e_mod_effect_cb_client_add, effect); - - E_LIST_HANDLER_APPEND(effect->event_hdlrs, E_EVENT_CLIENT_REMOVE, - _e_mod_effect_cb_client_remove, effect); - E_LIST_HANDLER_APPEND(effect->event_hdlrs, E_EVENT_CLIENT_STACK, _e_mod_effect_cb_client_restack, effect); + E_CLIENT_HOOK_APPEND(effect->hooks_ec, + E_CLIENT_HOOK_NEW_CLIENT, + _e_mod_effect_cb_hook_client_new, effect); + E_CLIENT_HOOK_APPEND(effect->hooks_ec, + E_CLIENT_HOOK_DEL, + _e_mod_effect_cb_hook_client_del, effect); + effect->providers = eina_list_append(effect->providers, e_comp_object_effect_mover_add(100, @@ -1252,8 +1252,9 @@ e_mod_effect_shutdown() E_FREE_FUNC(_effect->stack.old, eina_list_free); E_FREE_FUNC(_effect->stack.cur, eina_list_free); - E_FREE_LIST(_effect->providers, e_comp_object_effect_mover_del); + E_FREE_LIST(_effect->providers, e_comp_object_effect_mover_del); E_FREE_LIST(_effect->event_hdlrs, ecore_event_handler_del); + E_FREE_LIST(_effect->hooks_ec, e_client_hook_del); if (_effect->global) wl_global_destroy(_effect->global); diff --git a/src/e_mod_effect.h b/src/e_mod_effect.h index 26a2553..ab319a9 100644 --- a/src/e_mod_effect.h +++ b/src/e_mod_effect.h @@ -54,6 +54,7 @@ struct _E_Effect Eina_List *providers; Eina_List *event_hdlrs; + Eina_List *hooks_ec; Eina_Hash *clients; -- 2.7.4 From ff04473182d8f7f68da0d85ae900163f2576f9e7 Mon Sep 17 00:00:00 2001 From: MinJeong Kim Date: Wed, 31 Aug 2016 21:42:01 +0900 Subject: [PATCH 06/16] Check content type instead of pixmap type Change-Id: I8a1e6251cfe35cc374aa1ebfd1cdad0de0d67af1 --- src/e_mod_effect.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/e_mod_effect.c b/src/e_mod_effect.c index 6e062fb..53ae5b6 100644 --- a/src/e_mod_effect.c +++ b/src/e_mod_effect.c @@ -151,7 +151,7 @@ _e_mod_effect_ref(E_Client *ec) if (!efc) return EINA_FALSE; if (!ec->pixmap) return EINA_FALSE; - if ((e_pixmap_type_get(ec->pixmap) != E_PIXMAP_TYPE_EXT_OBJECT) && + if ((e_comp_object_content_type_get(ec->frame) == E_COMP_OBJECT_CONTENT_TYPE_INT_IMAGE) && (!e_pixmap_usable_get(ec->pixmap))) return EINA_FALSE; -- 2.7.4 From 1cce5440fda1611aff31da473c4bcc5eb9251748 Mon Sep 17 00:00:00 2001 From: Gwanglim Lee Date: Mon, 5 Sep 2016 19:44:25 +0900 Subject: [PATCH 07/16] Packaging: update version to 0.1.3 Change-Id: Ib40575037b41b3b4d3dd4df4e226b2d35aea0bdc --- packaging/e-mod-tizen-effect.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/e-mod-tizen-effect.spec b/packaging/e-mod-tizen-effect.spec index 44054fe..bedb969 100644 --- a/packaging/e-mod-tizen-effect.spec +++ b/packaging/e-mod-tizen-effect.spec @@ -1,5 +1,5 @@ Name: e-mod-tizen-effect -Version: 0.1.2 +Version: 0.1.3 Release: 1 Summary: The effect module for the enlightenment URL: http://www.enlightenment.org -- 2.7.4 From 5b3e572caa652e6cdf588673dadf98da838b903b Mon Sep 17 00:00:00 2001 From: Gwanglim Lee Date: Wed, 7 Sep 2016 17:25:44 +0900 Subject: [PATCH 08/16] refactored code that converts variable names to abbreviations. Change-Id: I746daea6c4510e4273a07a9ca41ce0bb39242e79 --- src/e_mod_effect.c | 414 ++++++++++++++++++++++++----------------------------- 1 file changed, 188 insertions(+), 226 deletions(-) diff --git a/src/e_mod_effect.c b/src/e_mod_effect.c index 53ae5b6..58a99a1 100644 --- a/src/e_mod_effect.c +++ b/src/e_mod_effect.c @@ -1,6 +1,6 @@ #include "e_mod_effect.h" -static E_Effect *_effect = NULL; +static E_Effect *_eff = NULL; typedef struct _E_Effect_Client { @@ -14,23 +14,23 @@ typedef struct _E_Effect_Client static void _e_mod_effect_event_send(E_Client *ec, Eina_Bool start, E_Effect_Type type) { - struct wl_resource *surface_resource; - struct wl_resource *effect_resource; + struct wl_resource *res_surf; + struct wl_resource *res_eff; struct wl_client *wc; unsigned int tizen_effect_type = TIZEN_EFFECT_TYPE_NONE; - if (!_effect) return; + if (!_eff) return; if ((!ec) || (!ec->comp_data)) return; if (e_object_is_del(E_OBJECT(ec))) return; - surface_resource = ec->comp_data->surface; - if (!surface_resource) return; + res_surf = ec->comp_data->surface; + if (!res_surf) return; - wc = wl_resource_get_client(surface_resource); + wc = wl_resource_get_client(res_surf); if (!wc) return; - effect_resource = eina_hash_find(_effect->resources, &wc); - if (!effect_resource) return; + res_eff = eina_hash_find(_eff->resources, &wc); + if (!res_eff) return; switch(type) { @@ -51,15 +51,15 @@ _e_mod_effect_event_send(E_Client *ec, Eina_Bool start, E_Effect_Type type) EFFINF("SEND %.5s|type:%d|win:0x%08x|tz_effect:0x%08x", ec->pixmap, ec, - start? "START":"END", type, + start ? "START" : "END", type, (unsigned int)e_client_util_win_get(ec), - (unsigned int)effect_resource); + (unsigned int)res_eff); if (start) - tizen_effect_send_start(effect_resource, surface_resource, tizen_effect_type); + tizen_effect_send_start(res_eff, res_surf, tizen_effect_type); else { - tizen_effect_send_end(effect_resource, surface_resource, tizen_effect_type); + tizen_effect_send_end(res_eff, res_surf, tizen_effect_type); EFFINF("Un-SET EXTRA_ANIMATING...", ec->pixmap, ec); ec->extra_animating = EINA_FALSE; @@ -74,7 +74,7 @@ _e_mod_effect_event_send(E_Client *ec, Eina_Bool start, E_Effect_Type type) static E_Effect_Client* _e_mod_effect_client_new(E_Client *ec) { - E_Effect_Client* efc; + E_Effect_Client *efc; efc = E_NEW(E_Effect_Client, 1); efc->ec = ec; @@ -87,13 +87,8 @@ _e_mod_effect_client_new(E_Client *ec) static E_Effect_Client * _e_mod_effect_client_get(E_Client *ec) { - E_Effect_Client *efc; - - if (!_effect) return NULL; - - efc = eina_hash_find(_effect->clients, &ec); - - return efc; + if (!_eff) return NULL; + return eina_hash_find(_eff->clients, &ec); } static E_Effect_Group @@ -138,12 +133,12 @@ _e_mod_effect_ref(E_Client *ec) { E_Effect_Client *efc; - if (!_effect) return EINA_FALSE; + if (!_eff) return EINA_FALSE; if (e_object_is_del(E_OBJECT(ec))) { ERR("Client is deleted already! ec(%p)", ec); - eina_hash_del_by_key(_effect->clients, &ec); + eina_hash_del_by_key(_eff->clients, &ec); return EINA_FALSE; } @@ -155,11 +150,11 @@ _e_mod_effect_ref(E_Client *ec) (!e_pixmap_usable_get(ec->pixmap))) return EINA_FALSE; - efc->animating ++; + efc->animating++; e_object_ref(E_OBJECT(ec)); efc->ep = e_pixmap_ref(ec->pixmap); - EFFINF("Effect ref efc(%p) animating:%d", + EFFINF("effect ref efc(%p) animating:%d", efc->ep, efc->ec, efc, efc->animating); return EINA_TRUE; @@ -171,7 +166,7 @@ _e_mod_effect_unref(E_Client *ec) E_Effect_Client *efc; int do_unref = 1; - if (!_effect) return NULL; + if (!_eff) return NULL; if (!ec) return NULL; efc = _e_mod_effect_client_get(ec); @@ -186,18 +181,18 @@ _e_mod_effect_unref(E_Client *ec) e_pixmap_free(efc->ep); if (!e_object_unref(E_OBJECT(ec))) { - EFFINF("Effect unref ec(%p) ep(%p) efc(%p) Client free'd", + EFFINF("eff unref ec(%p) ep(%p) efc(%p) Client free'd", NULL, NULL, ec, efc->ep, efc); efc->ec = NULL; efc = NULL; - eina_hash_del_by_key(_effect->clients, &ec); + eina_hash_del_by_key(_eff->clients, &ec); return NULL; } do_unref --; } - EFFINF("Effect Unref efc(%p) animating:%d", + EFFINF("eff Unref efc(%p) animating:%d", ec->pixmap, ec, efc, efc->animating); if ((ec->dead) && (ec->hidden)) @@ -212,19 +207,15 @@ _e_mod_effect_unref(E_Client *ec) static void _e_mod_effect_object_setup(E_Client *ec) { - E_Comp_Config *config; - config = e_comp_config_get(); + E_Comp_Config *cfg; + cfg = e_comp_config_get(); if (ec->vkbd.vkbd) - { - e_comp_object_effect_set(ec->frame, "keyboard"); - } + e_comp_object_effect_set(ec->frame, "keyboard"); else { - if ((config) && (config->effect_style)) - { - e_comp_object_effect_set(ec->frame , config->effect_style); - } + if ((cfg) && (cfg->effect_style)) + e_comp_object_effect_set(ec->frame, cfg->effect_style); else e_comp_object_effect_set(ec->frame, "no-effect"); } @@ -233,16 +224,16 @@ _e_mod_effect_object_setup(E_Client *ec) static void _e_mod_effect_object_layer_up(E_Client *ec) { - int map_layer; + int map_ly; - map_layer = e_comp_canvas_client_layer_map(ec->layer); - if (map_layer == 9999) return; + map_ly = e_comp_canvas_client_layer_map(ec->layer); + if (map_ly == 9999) return; - if (!_effect->layers[map_layer].obj) + if (!_eff->layers[map_ly].obj) { - _effect->layers[map_layer].obj = evas_object_rectangle_add(e_comp->evas); - evas_object_layer_set(_effect->layers[map_layer].obj, ec->layer + 1); - evas_object_name_set(_effect->layers[map_layer].obj, "layer_obj(effect)"); + _eff->layers[map_ly].obj = evas_object_rectangle_add(e_comp->evas); + evas_object_layer_set(_eff->layers[map_ly].obj, ec->layer + 1); + evas_object_name_set(_eff->layers[map_ly].obj, "layer_obj(effect)"); } ec->layer_block = 1; @@ -261,21 +252,21 @@ _e_mod_effect_pending_effect_start(void) { E_Client *ec; - ec = _effect->next_done.ec; + ec = _eff->next_done.ec; if (!ec) return; - EFFINF("Pending Effect Start type(%d)", - ec->pixmap, ec, _effect->next_done.type); + EFFINF("Pending eff Start type(%d)", + ec->pixmap, ec, _eff->next_done.type); - if (_effect->next_done.cb) + if (_eff->next_done.cb) { - _e_mod_effect_event_send(ec, EINA_TRUE, _effect->next_done.type); + _e_mod_effect_event_send(ec, EINA_TRUE, _eff->next_done.type); e_comp_object_effect_start(ec->frame, - _effect->next_done.cb, - _effect->next_done.data); + _eff->next_done.cb, + _eff->next_done.data); } - memset(&_effect->next_done, 0, sizeof(_effect->next_done)); + memset(&_eff->next_done, 0, sizeof(_eff->next_done)); } static void @@ -283,13 +274,13 @@ _e_mod_effect_pending_effect_set(E_Client *ec, void *data, E_Effect_Type type, E { _e_mod_effect_pending_effect_start(); - EFFINF("Pending Effect Set type(%d)", + EFFINF("Pending eff Set type(%d)", ec->pixmap, ec, type); - _effect->next_done.cb = done_cb; - _effect->next_done.ec = ec; - _effect->next_done.data = data; - _effect->next_done.type = type; + _eff->next_done.cb = done_cb; + _eff->next_done.ec = ec; + _eff->next_done.data = data; + _eff->next_done.type = type; } static void @@ -298,10 +289,10 @@ _e_mod_effect_stack_update() E_Client *ec; Evas_Object *o; - if (!_effect) return; + if (!_eff) return; - _effect->stack.old = eina_list_free(_effect->stack.old); - _effect->stack.old = eina_list_clone(_effect->stack.cur); + _eff->stack.old = eina_list_free(_eff->stack.old); + _eff->stack.old = eina_list_clone(_eff->stack.cur); for (o = evas_object_top_get(e_comp->evas); o; o = evas_object_below_get(o)) { @@ -310,8 +301,8 @@ _e_mod_effect_stack_update() if (e_client_util_ignored_get(ec)) continue; if (e_object_is_del(E_OBJECT(ec))) continue; - _effect->stack.cur = eina_list_remove(_effect->stack.cur, ec); - _effect->stack.cur = eina_list_append(_effect->stack.cur, ec); + _eff->stack.cur = eina_list_remove(_eff->stack.cur, ec); + _eff->stack.cur = eina_list_append(_eff->stack.cur, ec); } } @@ -368,8 +359,8 @@ _e_mod_effect_restack_effect_check(E_Client *ec) if (!evas_object_visible_get(ec->frame)) return NULL; if (ec->new_client) return NULL; - v1 = _e_mod_effect_visibility_stack_check(ec, _effect->stack.old); - v2 = _e_mod_effect_visibility_stack_check(ec, _effect->stack.cur); + v1 = _e_mod_effect_visibility_stack_check(ec, _eff->stack.old); + v2 = _e_mod_effect_visibility_stack_check(ec, _eff->stack.cur); if (v1 != v2) { @@ -395,7 +386,7 @@ _e_mod_effect_restack_effect_check(E_Client *ec) } } - EFFINF("Restack Effect Check v1(%d) -> v2(%d) iconic:%d " + EFFINF("Restack eff Check v1(%d) -> v2(%d) iconic:%d " "obscured:%d(%d) emission:%s", ec->pixmap, ec, v1, v2, ec->iconic, @@ -416,7 +407,7 @@ _e_mod_effect_cb_visible_done(void *data, Evas_Object *obj EINA_UNUSED, const ch { if (_e_mod_effect_client_get(ec)) { -// e_client_visibility_skip_set(ec, EINA_FALSE); + //e_client_visibility_skip_set(ec, EINA_FALSE); } } } @@ -431,7 +422,7 @@ _e_mod_effect_cb_visible(void *data, Evas_Object *obj, const char *signal) E_Client *ec; E_Effect_Group group; - if (!_effect) return EINA_FALSE; + if (!_eff) return EINA_FALSE; ec = e_comp_object_client_get(obj); if (!ec) return EINA_FALSE; @@ -444,7 +435,7 @@ _e_mod_effect_cb_visible(void *data, Evas_Object *obj, const char *signal) if (!_e_mod_effect_ref(ec)) return EINA_FALSE; e_comp_override_add(); -// e_client_visibility_skip_set(ec, EINA_TRUE); + //e_client_visibility_skip_set(ec, EINA_TRUE); EFFINF("SET EXTRA_ANIMATING...", ec->pixmap, ec); ec->extra_animating = EINA_TRUE; @@ -453,11 +444,11 @@ _e_mod_effect_cb_visible(void *data, Evas_Object *obj, const char *signal) e_comp_object_effect_params_set(ec->frame, 0, (int[]){0}, 1); if (e_comp->nocomp) { - _e_mod_effect_pending_effect_set(ec, - (void*)ec, - E_EFFECT_TYPE_SHOW, - _e_mod_effect_cb_visible_done); - return EINA_TRUE; + _e_mod_effect_pending_effect_set(ec, + (void*)ec, + E_EFFECT_TYPE_SHOW, + _e_mod_effect_cb_visible_done); + return EINA_TRUE; } _e_mod_effect_event_send(ec, EINA_TRUE, E_EFFECT_TYPE_SHOW); @@ -471,7 +462,6 @@ _e_mod_effect_cb_hidden_done(void *data, Evas_Object *obj, const char *sig, cons { E_Client *ec = NULL; - if ((ec = (E_Client*) data)) { _e_mod_effect_event_send(ec, EINA_FALSE, E_EFFECT_TYPE_HIDE); @@ -480,7 +470,7 @@ _e_mod_effect_cb_hidden_done(void *data, Evas_Object *obj, const char *sig, cons if (_e_mod_effect_client_get(ec)) { _e_mod_effect_object_layer_down(ec); -// e_client_visibility_skip_set(ec, EINA_FALSE); + //e_client_visibility_skip_set(ec, EINA_FALSE); evas_object_hide(ec->frame); } } @@ -496,9 +486,9 @@ _e_mod_effect_cb_hidden(void *data, Evas_Object *obj, const char *signal) E_Effect_Group group; Eina_Bool lowered = 0; Evas_Object *below; - int map_layer; + int map_ly; - if (!_effect) return EINA_FALSE; + if (!_eff) return EINA_FALSE; ec = e_comp_object_client_get(obj); if (!ec) return EINA_FALSE; @@ -512,18 +502,18 @@ _e_mod_effect_cb_hidden(void *data, Evas_Object *obj, const char *signal) e_comp_override_add(); - //check if client was lowered + // check if client was lowered below = evas_object_below_get(obj); - map_layer = e_comp_canvas_layer_map(evas_object_layer_get(obj)); - if ((below) && (map_layer != 9999) && + map_ly = e_comp_canvas_layer_map(evas_object_layer_get(obj)); + if ((below) && (map_ly != 9999) && (evas_object_layer_get(below) != evas_object_layer_get(obj)) && - (evas_object_above_get(obj) != e_comp->layers[map_layer].obj)) + (evas_object_above_get(obj) != e_comp->layers[map_ly].obj)) lowered = 1; if (lowered) { _e_mod_effect_object_layer_up(ec); -// e_client_visibility_skip_set(ec, EINA_TRUE); + //e_client_visibility_skip_set(ec, EINA_TRUE); } _e_mod_effect_object_setup(ec); @@ -565,7 +555,7 @@ _e_mod_effect_cb_uniconify(void *data, Evas_Object *obj, const char *signal) E_Effect_Group group; Eina_Bool v1, v2; - if (!_effect) return EINA_FALSE; + if (!_eff) return EINA_FALSE; ec = e_comp_object_client_get(obj); if (!ec) return EINA_FALSE; @@ -580,10 +570,10 @@ _e_mod_effect_cb_uniconify(void *data, Evas_Object *obj, const char *signal) { E_Client *below; - v1 = _e_mod_effect_visibility_stack_check(ec, _effect->stack.old); - v2 = _e_mod_effect_visibility_stack_check(ec, _effect->stack.cur); + v1 = _e_mod_effect_visibility_stack_check(ec, _eff->stack.old); + v2 = _e_mod_effect_visibility_stack_check(ec, _eff->stack.cur); - EFFINF("Uniconify Effect Check v1(%d) -> v2(%d) obscured:%d changed:%d", + EFFINF("Uniconify eff Check v1(%d) -> v2(%d) obscured:%d changed:%d", ec->pixmap, ec, v1, v2, ec->visibility.obscured, ec->visibility.changed); @@ -607,7 +597,7 @@ _e_mod_effect_cb_uniconify(void *data, Evas_Object *obj, const char *signal) group = _e_mod_effect_group_get(below); if (group != E_EFFECT_GROUP_NORMAL) return EINA_FALSE; - EFFINF("Uniconify HOME group do hide effect of %p", + EFFINF("Uniconify HOME group do hide eff of %p", ec->pixmap, ec, below); e_comp_object_signal_emit(below->frame, "e,action,restack,hide", "e"); @@ -616,10 +606,10 @@ _e_mod_effect_cb_uniconify(void *data, Evas_Object *obj, const char *signal) /* for NORMAL group */ else if (group == E_EFFECT_GROUP_NORMAL) { - v1 = _e_mod_effect_visibility_stack_check(ec, _effect->stack.old); - v2 = _e_mod_effect_visibility_stack_check(ec, _effect->stack.cur); + v1 = _e_mod_effect_visibility_stack_check(ec, _eff->stack.old); + v2 = _e_mod_effect_visibility_stack_check(ec, _eff->stack.cur); - EFFINF("Uniconify Effect Check v1(%d) -> v2(%d) obscured:%d changed:%d", + EFFINF("Uniconify eff Check v1(%d) -> v2(%d) obscured:%d changed:%d", ec->pixmap, ec, v1, v2, ec->visibility.obscured, ec->visibility.changed); @@ -656,7 +646,7 @@ _e_mod_effect_cb_iconify_done(void *data, Evas_Object *obj, const char *sig, con { E_Client *ec = NULL; - if ((ec = (E_Client*) data)) + if ((ec = (E_Client *)data)) { _e_mod_effect_event_send(ec, EINA_FALSE, E_EFFECT_TYPE_HIDE); if (_e_mod_effect_unref(ec)) @@ -676,7 +666,7 @@ _e_mod_effect_cb_iconify(void *data, Evas_Object *obj, const char *signal) E_Effect_Group group; Eina_Bool v1, v2; - if (!_effect) return EINA_FALSE; + if (!_eff) return EINA_FALSE; ec = e_comp_object_client_get(obj); if (!ec) return EINA_FALSE; @@ -687,10 +677,10 @@ _e_mod_effect_cb_iconify(void *data, Evas_Object *obj, const char *signal) if (!evas_object_visible_get(obj)) return EINA_FALSE; - v1 = _e_mod_effect_visibility_stack_check(ec, _effect->stack.old); - v2 = _e_mod_effect_visibility_stack_check(ec, _effect->stack.cur); + v1 = _e_mod_effect_visibility_stack_check(ec, _eff->stack.old); + v2 = _e_mod_effect_visibility_stack_check(ec, _eff->stack.cur); - EFFINF("Iconify Effect Check v1(%d) -> v2(%d) obscured:%d changed:%d", + EFFINF("Iconify eff Check v1(%d) -> v2(%d) obscured:%d changed:%d", ec->pixmap, ec, v1, v2, ec->visibility.obscured, ec->visibility.changed); @@ -724,7 +714,7 @@ _e_mod_effect_cb_restack_show_done(void *data, Evas_Object *obj, const char *sig { E_Client *ec = NULL; - if ((ec = (E_Client*)data)) + if ((ec = (E_Client *)data)) { _e_mod_effect_event_send(ec, EINA_FALSE, E_EFFECT_TYPE_RESTACK_SHOW); if (_e_mod_effect_unref(ec)) @@ -732,7 +722,7 @@ _e_mod_effect_cb_restack_show_done(void *data, Evas_Object *obj, const char *sig if (_e_mod_effect_client_get(ec)) { _e_mod_effect_object_layer_down(ec); -// e_client_visibility_skip_set(ec, EINA_FALSE); + //e_client_visibility_skip_set(ec, EINA_FALSE); } } } @@ -746,14 +736,14 @@ _e_mod_effect_cb_restack_hide_done(void *data, Evas_Object *obj, const char *sig { E_Client *ec = NULL; - if ((ec = (E_Client*)data)) + if ((ec = (E_Client *)data)) { if (_e_mod_effect_unref(ec)) { if (_e_mod_effect_client_get(ec)) { _e_mod_effect_object_layer_down(ec); -// e_client_visibility_skip_set(ec, EINA_FALSE); + //e_client_visibility_skip_set(ec, EINA_FALSE); e_comp_object_signal_emit(ec->frame, "e,action,restack,finish", "e"); } @@ -769,7 +759,7 @@ _e_mod_effect_cb_restack_finish_done(void *data, Evas_Object *obj, const char *s { E_Client *ec = NULL; - if ((ec = (E_Client*)data)) + if ((ec = (E_Client *)data)) { _e_mod_effect_event_send(ec, EINA_FALSE, E_EFFECT_TYPE_RESTACK_HIDE); @@ -803,7 +793,7 @@ _e_mod_effect_cb_restack(void *data, Evas_Object *obj, const char *signal) const char *emission; E_Client *ec_home = NULL; - if (!_effect) return EINA_FALSE; + if (!_eff) return EINA_FALSE; ec = e_comp_object_client_get(obj); if (!ec) return EINA_FALSE; @@ -812,7 +802,7 @@ _e_mod_effect_cb_restack(void *data, Evas_Object *obj, const char *signal) group = _e_mod_effect_group_get(ec); emission = eina_stringshare_add(signal); - /* for HOME group: replace effect target client */ + /* for HOME group: replace eff target client */ if (group == E_EFFECT_GROUP_HOME) { E_Client *below; @@ -851,7 +841,7 @@ _e_mod_effect_cb_restack(void *data, Evas_Object *obj, const char *signal) e_comp_override_add(); _e_mod_effect_object_layer_up(ec); -// e_client_visibility_skip_set(ec, EINA_TRUE); + //e_client_visibility_skip_set(ec, EINA_TRUE); _e_mod_effect_object_setup(ec); e_comp_object_effect_params_set(ec->frame, 0, (int[]){2}, 1); @@ -894,7 +884,7 @@ _e_mod_effect_cb_restack(void *data, Evas_Object *obj, const char *signal) e_comp_override_add(); _e_mod_effect_object_layer_up(ec); -// e_client_visibility_skip_set(ec, EINA_TRUE); + //e_client_visibility_skip_set(ec, EINA_TRUE); _e_mod_effect_object_setup(ec); e_comp_object_effect_params_set(ec->frame, 0, (int[]){3}, 1); @@ -939,50 +929,49 @@ static Eina_Bool _e_mod_effect_cb_launch(void *data, Evas_Object *obj, const char *signal) { E_Client *ec; - struct wl_resource *surface_resource; - struct wl_resource *effect_resource; + struct wl_resource *res_surf; + struct wl_resource *res_eff; struct wl_client *wc; unsigned int tizen_effect_type = 4; - if (!_effect) return EINA_FALSE; + if (!_eff) return EINA_FALSE; ec = e_comp_object_client_get(obj); if ((!ec) || (!ec->comp_data)) return EINA_FALSE; if (e_object_is_del(E_OBJECT(ec))) return EINA_FALSE; - surface_resource = ec->comp_data->surface; - if (!surface_resource) return EINA_FALSE; + res_surf = ec->comp_data->surface; + if (!res_surf) return EINA_FALSE; - wc = wl_resource_get_client(surface_resource); + wc = wl_resource_get_client(res_surf); if (!wc) return EINA_FALSE; - effect_resource = eina_hash_find(_effect->resources, &wc); - if (!effect_resource) return EINA_FALSE; + res_eff = eina_hash_find(_eff->resources, &wc); + if (!res_eff) return EINA_FALSE; EFFINF("SEND END |type:LAUNCH|win:0x%08x|tz_effect:0x%08x", ec->pixmap, ec, (unsigned int)e_client_util_win_get(ec), - (unsigned int)effect_resource); + (unsigned int)res_eff); - tizen_effect_send_end(effect_resource, surface_resource, tizen_effect_type); + tizen_effect_send_end(res_eff, res_surf, tizen_effect_type); return EINA_TRUE; } -static Eina_Bool +static void _e_mod_effect_cb_hook_client_new(void *d EINA_UNUSED, E_Client *ec) { E_Effect_Client *efc; - if (!_effect) return; + if (!_eff) return; efc = _e_mod_effect_client_get(ec); - if (!efc) - { - efc = _e_mod_effect_client_new(ec); - if (efc) - eina_hash_add(_effect->clients, &ec, efc); - } + if (efc) return; + + efc = _e_mod_effect_client_new(ec); + if (efc) + eina_hash_add(_eff->clients, &ec, efc); } static void @@ -990,18 +979,18 @@ _e_mod_effect_cb_hook_client_del(void *d EINA_UNUSED, E_Client *ec) { E_Effect_Client *efc = NULL; - if (!_effect) return ECORE_CALLBACK_PASS_ON; + if (!_eff) return; - _effect->stack.old = eina_list_remove(_effect->stack.old, ec); - _effect->stack.cur = eina_list_remove(_effect->stack.cur, ec); + _eff->stack.old = eina_list_remove(_eff->stack.old, ec); + _eff->stack.cur = eina_list_remove(_eff->stack.cur, ec); - if (_effect->next_done.ec == ec) - memset(&_effect->next_done, 0, sizeof(_effect->next_done)); + if (_eff->next_done.ec == ec) + memset(&_eff->next_done, 0, sizeof(_eff->next_done)); if ((efc = _e_mod_effect_client_get(ec))) { if (!efc->animating) - eina_hash_del_by_key(_effect->clients, &ec); + eina_hash_del_by_key(_eff->clients, &ec); } } @@ -1012,7 +1001,7 @@ _e_mod_effect_cb_client_restack(void *data, int type, void *event) E_Event_Client *ev = event; const char* emission = NULL; - if (!_effect) return ECORE_CALLBACK_PASS_ON; + if (!_eff) return ECORE_CALLBACK_PASS_ON; ec = ev->ec; if (!ec) return ECORE_CALLBACK_PASS_ON; @@ -1033,7 +1022,7 @@ _e_mod_effect_cb_client_restack(void *data, int type, void *event) static Eina_Bool _e_mod_effect_cb_comp_enabled(void *data, int ev_type, void *event) { - if (!_effect) return ECORE_CALLBACK_PASS_ON; + if (!_eff) return ECORE_CALLBACK_PASS_ON; _e_mod_effect_pending_effect_start(); @@ -1048,7 +1037,7 @@ _e_mod_effect_cb_client_buffer_change(void *data, int ev_type, void *event) E_Effect_Client *efc; E_Comp_Wl_Buffer *buffer = NULL; - if (!_effect) return ECORE_CALLBACK_PASS_ON; + if (!_eff) return ECORE_CALLBACK_PASS_ON; ec = ev->ec; if (!ec) return ECORE_CALLBACK_PASS_ON; @@ -1059,7 +1048,6 @@ _e_mod_effect_cb_client_buffer_change(void *data, int ev_type, void *event) if (ec->pixmap) { buffer = e_pixmap_resource_get(ec->pixmap); - if (buffer != efc->buffer_ref.buffer) { e_comp_wl_buffer_reference(&efc->buffer_ref, buffer); @@ -1070,9 +1058,9 @@ _e_mod_effect_cb_client_buffer_change(void *data, int ev_type, void *event) } static void -_tz_effect_cb_destroy(struct wl_client *client EINA_UNUSED, struct wl_resource *tizen_effect_resource) +_tz_effect_cb_destroy(struct wl_client *client EINA_UNUSED, struct wl_resource *tz_res_eff) { - wl_resource_destroy(tizen_effect_resource); + wl_resource_destroy(tz_res_eff); } static const struct tizen_effect_interface _tz_effect_interface = @@ -1081,11 +1069,11 @@ static const struct tizen_effect_interface _tz_effect_interface = }; static void -_tz_effect_cb_effect_destroy(struct wl_resource *tizen_effect_resource) +_tz_effect_cb_effect_destroy(struct wl_resource *tz_res_eff) { - if ((!_effect) || (!_effect->resources)) return; + if ((!_eff) || (!_eff->resources)) return; - eina_hash_del_by_data(_effect->resources, tizen_effect_resource); + eina_hash_del_by_data(_eff->resources, tz_res_eff); } static void @@ -1105,7 +1093,7 @@ _e_mod_effect_cb_bind(struct wl_client *client, void *data EINA_UNUSED, uint32_t NULL, _tz_effect_cb_effect_destroy); - eina_hash_add(_effect->resources, &client, res); + eina_hash_add(_eff->resources, &client, res); } static void @@ -1132,11 +1120,22 @@ _e_mod_effect_cb_client_data_free(void *data) } \ while (0) +#undef E_COMP_OBJ_EFF_MOVER_APPEND +#define E_COMP_OBJ_EFF_MOVER_APPEND(l, i, s, p, d) \ + do \ + { \ + E_Comp_Object_Mover *_m; \ + _m = e_comp_object_effect_mover_add(i, s, p, d); \ + assert(_m); \ + l = eina_list_append(l, _m); \ + } \ + while (0) + EAPI Eina_Bool e_mod_effect_init(void) { - E_Effect *effect; - E_Comp_Config *config; + E_Effect *eff; + E_Comp_Config *cfg; Eina_List *l; E_Client *ec; E_Effect_Client *efc; @@ -1144,98 +1143,61 @@ e_mod_effect_init(void) EINA_SAFETY_ON_NULL_RETURN_VAL(e_comp, EINA_FALSE); EINA_SAFETY_ON_NULL_RETURN_VAL(e_comp->evas, EINA_FALSE); - effect = E_NEW(E_Effect, 1); - EINA_SAFETY_ON_NULL_RETURN_VAL(effect, EINA_FALSE); + eff = E_NEW(E_Effect, 1); + EINA_SAFETY_ON_NULL_RETURN_VAL(eff, EINA_FALSE); - if ((config = e_comp_config_get())) + if ((cfg = e_comp_config_get())) { - effect->file = eina_stringshare_add(config->effect_file); - effect->style = eina_stringshare_add(config->effect_style); + eff->file = eina_stringshare_add(cfg->effect_file); + eff->style = eina_stringshare_add(cfg->effect_style); } else { - effect->file = ""; - effect->style = "no-effect"; + eff->file = ""; + eff->style = "no-eff"; } - effect->clients = eina_hash_pointer_new(_e_mod_effect_cb_client_data_free); - EINA_SAFETY_ON_NULL_GOTO(effect->clients, err); + eff->clients = eina_hash_pointer_new(_e_mod_effect_cb_client_data_free); + EINA_SAFETY_ON_NULL_GOTO(eff->clients, err); EINA_LIST_FOREACH(e_comp->clients, l, ec) { - if (!ec->ignored) - { - efc = _e_mod_effect_client_get(ec); - if (!efc) - efc = _e_mod_effect_client_new(ec); - if (efc) - eina_hash_add(effect->clients, &ec, efc); - } + if (ec->ignored) continue; + + efc = _e_mod_effect_client_get(ec); + if (!efc) + efc = _e_mod_effect_client_new(ec); + if (efc) + eina_hash_add(eff->clients, &ec, efc); } - effect->resources = eina_hash_pointer_new(NULL); - EINA_SAFETY_ON_NULL_GOTO(effect->resources, err); + eff->resources = eina_hash_pointer_new(NULL); + EINA_SAFETY_ON_NULL_GOTO(eff->resources, err); - effect->global = wl_global_create(e_comp_wl->wl.disp, &tizen_effect_interface, 1, effect, _e_mod_effect_cb_bind); - if (!effect->global) + eff->global = wl_global_create(e_comp_wl->wl.disp, + &tizen_effect_interface, + 1, + eff, + _e_mod_effect_cb_bind); + if (!eff->global) { ERR("Could not add tizen_efffect wayland globals: %m"); goto err; } - E_LIST_HANDLER_APPEND(effect->event_hdlrs, E_EVENT_COMPOSITOR_ENABLE, - _e_mod_effect_cb_comp_enabled, effect); - - E_LIST_HANDLER_APPEND(effect->event_hdlrs, E_EVENT_CLIENT_BUFFER_CHANGE, - _e_mod_effect_cb_client_buffer_change, effect); - E_LIST_HANDLER_APPEND(effect->event_hdlrs, E_EVENT_CLIENT_STACK, - _e_mod_effect_cb_client_restack, effect); - - E_CLIENT_HOOK_APPEND(effect->hooks_ec, - E_CLIENT_HOOK_NEW_CLIENT, - _e_mod_effect_cb_hook_client_new, effect); - E_CLIENT_HOOK_APPEND(effect->hooks_ec, - E_CLIENT_HOOK_DEL, - _e_mod_effect_cb_hook_client_del, effect); - - effect->providers = - eina_list_append(effect->providers, - e_comp_object_effect_mover_add(100, - "e,state,visible", - _e_mod_effect_cb_visible, - effect)); - effect->providers = - eina_list_append(effect->providers, - e_comp_object_effect_mover_add(100, - "e,state,hidden", - _e_mod_effect_cb_hidden, - effect)); - effect->providers = - eina_list_append(effect->providers, - e_comp_object_effect_mover_add(100, - "e,action,iconify", - _e_mod_effect_cb_iconify, - effect)); - effect->providers = - eina_list_append(effect->providers, - e_comp_object_effect_mover_add(100, - "e,action,uniconify", - _e_mod_effect_cb_uniconify, - effect)); - effect->providers = - eina_list_append(effect->providers, - e_comp_object_effect_mover_add(100, - "e,action,restack*", - _e_mod_effect_cb_restack, - effect)); - effect->providers = - eina_list_append(effect->providers, - e_comp_object_effect_mover_add(100, - "e,action,launch,done", - _e_mod_effect_cb_launch, - effect)); - - _effect = effect; + E_LIST_HANDLER_APPEND(eff->event_hdlrs, E_EVENT_COMPOSITOR_ENABLE, _e_mod_effect_cb_comp_enabled, eff); + E_LIST_HANDLER_APPEND(eff->event_hdlrs, E_EVENT_CLIENT_BUFFER_CHANGE, _e_mod_effect_cb_client_buffer_change, eff); + E_LIST_HANDLER_APPEND(eff->event_hdlrs, E_EVENT_CLIENT_STACK, _e_mod_effect_cb_client_restack, eff); + E_CLIENT_HOOK_APPEND(eff->hooks_ec, E_CLIENT_HOOK_NEW_CLIENT, _e_mod_effect_cb_hook_client_new, eff); + E_CLIENT_HOOK_APPEND(eff->hooks_ec, E_CLIENT_HOOK_DEL, _e_mod_effect_cb_hook_client_del, eff); + E_COMP_OBJ_EFF_MOVER_APPEND(eff->providers, 100, "e,state,visible", _e_mod_effect_cb_visible, eff); + E_COMP_OBJ_EFF_MOVER_APPEND(eff->providers, 100, "e,state,hidden", _e_mod_effect_cb_hidden, eff); + E_COMP_OBJ_EFF_MOVER_APPEND(eff->providers, 100, "e,action,iconify", _e_mod_effect_cb_iconify, eff); + E_COMP_OBJ_EFF_MOVER_APPEND(eff->providers, 100, "e,action,uniconify", _e_mod_effect_cb_uniconify, eff); + E_COMP_OBJ_EFF_MOVER_APPEND(eff->providers, 100, "e,action,restack*", _e_mod_effect_cb_restack, eff); + E_COMP_OBJ_EFF_MOVER_APPEND(eff->providers, 100, "e,action,launch,done", _e_mod_effect_cb_launch, eff); + + _eff = eff; return EINA_TRUE; @@ -1247,20 +1209,20 @@ err: EAPI void e_mod_effect_shutdown() { - if (!_effect) return; + if (!_eff) return; - E_FREE_FUNC(_effect->stack.old, eina_list_free); - E_FREE_FUNC(_effect->stack.cur, eina_list_free); + E_FREE_FUNC(_eff->stack.old, eina_list_free); + E_FREE_FUNC(_eff->stack.cur, eina_list_free); - E_FREE_LIST(_effect->providers, e_comp_object_effect_mover_del); - E_FREE_LIST(_effect->event_hdlrs, ecore_event_handler_del); - E_FREE_LIST(_effect->hooks_ec, e_client_hook_del); + E_FREE_LIST(_eff->providers, e_comp_object_effect_mover_del); + E_FREE_LIST(_eff->event_hdlrs, ecore_event_handler_del); + E_FREE_LIST(_eff->hooks_ec, e_client_hook_del); - if (_effect->global) - wl_global_destroy(_effect->global); + if (_eff->global) + wl_global_destroy(_eff->global); - E_FREE_FUNC(_effect->resources, eina_hash_free); - E_FREE_FUNC(_effect->clients, eina_hash_free); + E_FREE_FUNC(_eff->resources, eina_hash_free); + E_FREE_FUNC(_eff->clients, eina_hash_free); - E_FREE(_effect); + E_FREE(_eff); } -- 2.7.4 From c642afb354853284f1221babf87e25401f4959c9 Mon Sep 17 00:00:00 2001 From: Gwanglim Lee Date: Tue, 20 Sep 2016 13:42:14 +0900 Subject: [PATCH 09/16] Packaging: update version to 0.1.4 Change-Id: I33736815ce270479d55875ed764634fc6d02ff53 --- packaging/e-mod-tizen-effect.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/e-mod-tizen-effect.spec b/packaging/e-mod-tizen-effect.spec index bedb969..29034c7 100644 --- a/packaging/e-mod-tizen-effect.spec +++ b/packaging/e-mod-tizen-effect.spec @@ -1,5 +1,5 @@ Name: e-mod-tizen-effect -Version: 0.1.3 +Version: 0.1.4 Release: 1 Summary: The effect module for the enlightenment URL: http://www.enlightenment.org -- 2.7.4 From a82fa0e165dd780b8ee4b029e8aff5cc455a625a Mon Sep 17 00:00:00 2001 From: Gwanglim Lee Date: Tue, 20 Sep 2016 17:29:19 +0900 Subject: [PATCH 10/16] omitted the prefix _e_mod at the beginning of each function name for brevity. Change-Id: Iecc22358f7422758a5558b8ca7e1aef08a85c34e --- src/e_mod_effect.c | 298 ++++++++++++++++++++++++++--------------------------- 1 file changed, 149 insertions(+), 149 deletions(-) diff --git a/src/e_mod_effect.c b/src/e_mod_effect.c index 58a99a1..5fd266b 100644 --- a/src/e_mod_effect.c +++ b/src/e_mod_effect.c @@ -12,7 +12,7 @@ typedef struct _E_Effect_Client } E_Effect_Client; static void -_e_mod_effect_event_send(E_Client *ec, Eina_Bool start, E_Effect_Type type) +_eff_event_send(E_Client *ec, Eina_Bool start, E_Effect_Type type) { struct wl_resource *res_surf; struct wl_resource *res_eff; @@ -72,7 +72,7 @@ _e_mod_effect_event_send(E_Client *ec, Eina_Bool start, E_Effect_Type type) } static E_Effect_Client* -_e_mod_effect_client_new(E_Client *ec) +_eff_client_new(E_Client *ec) { E_Effect_Client *efc; @@ -85,14 +85,14 @@ _e_mod_effect_client_new(E_Client *ec) } static E_Effect_Client * -_e_mod_effect_client_get(E_Client *ec) +_eff_client_get(E_Client *ec) { if (!_eff) return NULL; return eina_hash_find(_eff->clients, &ec); } static E_Effect_Group -_e_mod_effect_group_get(E_Client *ec) +_eff_group_get(E_Client *ec) { E_Effect_Group group = E_EFFECT_GROUP_NORMAL; @@ -129,7 +129,7 @@ _e_mod_effect_group_get(E_Client *ec) } static Eina_Bool -_e_mod_effect_ref(E_Client *ec) +_eff_ref(E_Client *ec) { E_Effect_Client *efc; @@ -142,7 +142,7 @@ _e_mod_effect_ref(E_Client *ec) return EINA_FALSE; } - efc = _e_mod_effect_client_get(ec); + efc = _eff_client_get(ec); if (!efc) return EINA_FALSE; if (!ec->pixmap) return EINA_FALSE; @@ -161,7 +161,7 @@ _e_mod_effect_ref(E_Client *ec) } static E_Client * -_e_mod_effect_unref(E_Client *ec) +_eff_unref(E_Client *ec) { E_Effect_Client *efc; int do_unref = 1; @@ -169,7 +169,7 @@ _e_mod_effect_unref(E_Client *ec) if (!_eff) return NULL; if (!ec) return NULL; - efc = _e_mod_effect_client_get(ec); + efc = _eff_client_get(ec); if (!efc) return NULL; if (e_object_is_del(E_OBJECT(ec))) @@ -205,7 +205,7 @@ _e_mod_effect_unref(E_Client *ec) } static void -_e_mod_effect_object_setup(E_Client *ec) +_eff_object_setup(E_Client *ec) { E_Comp_Config *cfg; cfg = e_comp_config_get(); @@ -222,7 +222,7 @@ _e_mod_effect_object_setup(E_Client *ec) } static void -_e_mod_effect_object_layer_up(E_Client *ec) +_eff_object_layer_up(E_Client *ec) { int map_ly; @@ -241,14 +241,14 @@ _e_mod_effect_object_layer_up(E_Client *ec) } static void -_e_mod_effect_object_layer_down(E_Client *ec) +_eff_object_layer_down(E_Client *ec) { evas_object_layer_set(ec->frame, ec->layer); ec->layer_block = 0; } static void -_e_mod_effect_pending_effect_start(void) +_eff_pending_effect_start(void) { E_Client *ec; @@ -260,7 +260,7 @@ _e_mod_effect_pending_effect_start(void) if (_eff->next_done.cb) { - _e_mod_effect_event_send(ec, EINA_TRUE, _eff->next_done.type); + _eff_event_send(ec, EINA_TRUE, _eff->next_done.type); e_comp_object_effect_start(ec->frame, _eff->next_done.cb, _eff->next_done.data); @@ -270,9 +270,9 @@ _e_mod_effect_pending_effect_start(void) } static void -_e_mod_effect_pending_effect_set(E_Client *ec, void *data, E_Effect_Type type, Edje_Signal_Cb done_cb) +_eff_pending_effect_set(E_Client *ec, void *data, E_Effect_Type type, Edje_Signal_Cb done_cb) { - _e_mod_effect_pending_effect_start(); + _eff_pending_effect_start(); EFFINF("Pending eff Set type(%d)", ec->pixmap, ec, type); @@ -284,7 +284,7 @@ _e_mod_effect_pending_effect_set(E_Client *ec, void *data, E_Effect_Type type, E } static void -_e_mod_effect_stack_update() +_eff_stack_update() { E_Client *ec; Evas_Object *o; @@ -307,7 +307,7 @@ _e_mod_effect_stack_update() } static Eina_Bool -_e_mod_effect_visibility_stack_check(E_Client *ec, Eina_List *stack) +_eff_visibility_stack_check(E_Client *ec, Eina_List *stack) { Eina_List *l; E_Client *_ec; @@ -351,7 +351,7 @@ _e_mod_effect_visibility_stack_check(E_Client *ec, Eina_List *stack) } static const char* -_e_mod_effect_restack_effect_check(E_Client *ec) +_eff_restack_effect_check(E_Client *ec) { const char* emission = NULL; Eina_Bool v1, v2; @@ -359,8 +359,8 @@ _e_mod_effect_restack_effect_check(E_Client *ec) if (!evas_object_visible_get(ec->frame)) return NULL; if (ec->new_client) return NULL; - v1 = _e_mod_effect_visibility_stack_check(ec, _eff->stack.old); - v2 = _e_mod_effect_visibility_stack_check(ec, _eff->stack.cur); + v1 = _eff_visibility_stack_check(ec, _eff->stack.old); + v2 = _eff_visibility_stack_check(ec, _eff->stack.cur); if (v1 != v2) { @@ -372,7 +372,7 @@ _e_mod_effect_restack_effect_check(E_Client *ec) else { E_Effect_Client *efc; - efc = _e_mod_effect_client_get(ec); + efc = _eff_client_get(ec); // TODO : it's for transients windows. wish using other check */ if ((efc) && (!efc->animating)) @@ -396,28 +396,28 @@ _e_mod_effect_restack_effect_check(E_Client *ec) } static void -_e_mod_effect_cb_visible_done(void *data, Evas_Object *obj EINA_UNUSED, const char *sig EINA_UNUSED, const char *src EINA_UNUSED) +_eff_cb_visible_done(void *data, Evas_Object *obj EINA_UNUSED, const char *sig EINA_UNUSED, const char *src EINA_UNUSED) { E_Client *ec = NULL; if ((ec = (E_Client*) data)) { - _e_mod_effect_event_send(ec, EINA_FALSE, E_EFFECT_TYPE_SHOW); - if (_e_mod_effect_unref(ec)) + _eff_event_send(ec, EINA_FALSE, E_EFFECT_TYPE_SHOW); + if (_eff_unref(ec)) { - if (_e_mod_effect_client_get(ec)) + if (_eff_client_get(ec)) { //e_client_visibility_skip_set(ec, EINA_FALSE); } } } - _e_mod_effect_stack_update(); + _eff_stack_update(); e_comp_override_del(); } static Eina_Bool -_e_mod_effect_cb_visible(void *data, Evas_Object *obj, const char *signal) +_eff_cb_visible(void *data, Evas_Object *obj, const char *signal) { E_Client *ec; E_Effect_Group group; @@ -428,11 +428,11 @@ _e_mod_effect_cb_visible(void *data, Evas_Object *obj, const char *signal) if (!ec) return EINA_FALSE; if (e_object_is_del(E_OBJECT(ec))) return EINA_FALSE; - group = _e_mod_effect_group_get(ec); + group = _eff_group_get(ec); if (group != E_EFFECT_GROUP_NORMAL) return EINA_FALSE; if (evas_object_visible_get(obj)) return EINA_FALSE; - if (!_e_mod_effect_ref(ec)) return EINA_FALSE; + if (!_eff_ref(ec)) return EINA_FALSE; e_comp_override_add(); //e_client_visibility_skip_set(ec, EINA_TRUE); @@ -440,36 +440,36 @@ _e_mod_effect_cb_visible(void *data, Evas_Object *obj, const char *signal) EFFINF("SET EXTRA_ANIMATING...", ec->pixmap, ec); ec->extra_animating = EINA_TRUE; - _e_mod_effect_object_setup(ec); + _eff_object_setup(ec); e_comp_object_effect_params_set(ec->frame, 0, (int[]){0}, 1); if (e_comp->nocomp) { - _e_mod_effect_pending_effect_set(ec, + _eff_pending_effect_set(ec, (void*)ec, E_EFFECT_TYPE_SHOW, - _e_mod_effect_cb_visible_done); + _eff_cb_visible_done); return EINA_TRUE; } - _e_mod_effect_event_send(ec, EINA_TRUE, E_EFFECT_TYPE_SHOW); - e_comp_object_effect_start(ec->frame, _e_mod_effect_cb_visible_done, ec); + _eff_event_send(ec, EINA_TRUE, E_EFFECT_TYPE_SHOW); + e_comp_object_effect_start(ec->frame, _eff_cb_visible_done, ec); return EINA_TRUE; } static void -_e_mod_effect_cb_hidden_done(void *data, Evas_Object *obj, const char *sig, const char *src) +_eff_cb_hidden_done(void *data, Evas_Object *obj, const char *sig, const char *src) { E_Client *ec = NULL; if ((ec = (E_Client*) data)) { - _e_mod_effect_event_send(ec, EINA_FALSE, E_EFFECT_TYPE_HIDE); - if (_e_mod_effect_unref(ec)) + _eff_event_send(ec, EINA_FALSE, E_EFFECT_TYPE_HIDE); + if (_eff_unref(ec)) { - if (_e_mod_effect_client_get(ec)) + if (_eff_client_get(ec)) { - _e_mod_effect_object_layer_down(ec); + _eff_object_layer_down(ec); //e_client_visibility_skip_set(ec, EINA_FALSE); evas_object_hide(ec->frame); } @@ -480,7 +480,7 @@ _e_mod_effect_cb_hidden_done(void *data, Evas_Object *obj, const char *sig, cons } static Eina_Bool -_e_mod_effect_cb_hidden(void *data, Evas_Object *obj, const char *signal) +_eff_cb_hidden(void *data, Evas_Object *obj, const char *signal) { E_Client *ec; E_Effect_Group group; @@ -494,11 +494,11 @@ _e_mod_effect_cb_hidden(void *data, Evas_Object *obj, const char *signal) if (!ec) return EINA_FALSE; if (e_object_is_del(E_OBJECT(ec))) return EINA_FALSE; - group = _e_mod_effect_group_get(ec); + group = _eff_group_get(ec); if (group != E_EFFECT_GROUP_NORMAL) return EINA_FALSE; if (!evas_object_visible_get(obj)) return EINA_FALSE; - if (!_e_mod_effect_ref(ec)) return EINA_FALSE; + if (!_eff_ref(ec)) return EINA_FALSE; e_comp_override_add(); @@ -512,44 +512,44 @@ _e_mod_effect_cb_hidden(void *data, Evas_Object *obj, const char *signal) if (lowered) { - _e_mod_effect_object_layer_up(ec); + _eff_object_layer_up(ec); //e_client_visibility_skip_set(ec, EINA_TRUE); } - _e_mod_effect_object_setup(ec); + _eff_object_setup(ec); e_comp_object_effect_params_set(ec->frame, 0, (int[]){1}, 1); if (e_comp->nocomp) { - _e_mod_effect_pending_effect_set(ec, + _eff_pending_effect_set(ec, (void*)ec, E_EFFECT_TYPE_HIDE, - _e_mod_effect_cb_hidden_done); + _eff_cb_hidden_done); return EINA_TRUE; } - _e_mod_effect_event_send(ec, EINA_TRUE, E_EFFECT_TYPE_HIDE); - e_comp_object_effect_start(ec->frame, _e_mod_effect_cb_hidden_done, ec); + _eff_event_send(ec, EINA_TRUE, E_EFFECT_TYPE_HIDE); + e_comp_object_effect_start(ec->frame, _eff_cb_hidden_done, ec); return EINA_TRUE; } static void -_e_mod_effect_cb_uniconify_done(void *data, Evas_Object *obj, const char *sig, const char *src) +_eff_cb_uniconify_done(void *data, Evas_Object *obj, const char *sig, const char *src) { E_Client *ec = NULL; if ((ec = (E_Client*) data)) { - _e_mod_effect_event_send(ec, EINA_FALSE, E_EFFECT_TYPE_SHOW); - _e_mod_effect_unref(ec); + _eff_event_send(ec, EINA_FALSE, E_EFFECT_TYPE_SHOW); + _eff_unref(ec); } e_comp_override_del(); } static Eina_Bool -_e_mod_effect_cb_uniconify(void *data, Evas_Object *obj, const char *signal) +_eff_cb_uniconify(void *data, Evas_Object *obj, const char *signal) { E_Client *ec; E_Effect_Group group; @@ -563,15 +563,15 @@ _e_mod_effect_cb_uniconify(void *data, Evas_Object *obj, const char *signal) if (evas_object_visible_get(obj)) return EINA_FALSE; - group = _e_mod_effect_group_get(ec); + group = _eff_group_get(ec); /* for HOME group */ if (group == E_EFFECT_GROUP_HOME) { E_Client *below; - v1 = _e_mod_effect_visibility_stack_check(ec, _eff->stack.old); - v2 = _e_mod_effect_visibility_stack_check(ec, _eff->stack.cur); + v1 = _eff_visibility_stack_check(ec, _eff->stack.old); + v2 = _eff_visibility_stack_check(ec, _eff->stack.cur); EFFINF("Uniconify eff Check v1(%d) -> v2(%d) obscured:%d changed:%d", ec->pixmap, ec, @@ -594,7 +594,7 @@ _e_mod_effect_cb_uniconify(void *data, Evas_Object *obj, const char *signal) } if (!below) return EINA_FALSE; - group = _e_mod_effect_group_get(below); + group = _eff_group_get(below); if (group != E_EFFECT_GROUP_NORMAL) return EINA_FALSE; EFFINF("Uniconify HOME group do hide eff of %p", @@ -606,8 +606,8 @@ _e_mod_effect_cb_uniconify(void *data, Evas_Object *obj, const char *signal) /* for NORMAL group */ else if (group == E_EFFECT_GROUP_NORMAL) { - v1 = _e_mod_effect_visibility_stack_check(ec, _eff->stack.old); - v2 = _e_mod_effect_visibility_stack_check(ec, _eff->stack.cur); + v1 = _eff_visibility_stack_check(ec, _eff->stack.old); + v2 = _eff_visibility_stack_check(ec, _eff->stack.cur); EFFINF("Uniconify eff Check v1(%d) -> v2(%d) obscured:%d changed:%d", ec->pixmap, ec, @@ -617,24 +617,24 @@ _e_mod_effect_cb_uniconify(void *data, Evas_Object *obj, const char *signal) if ((v2) && (ec->visibility.obscured == E_VISIBILITY_UNOBSCURED)) return EINA_FALSE; if ((!v2) && (ec->visibility.obscured != E_VISIBILITY_UNOBSCURED)) return EINA_FALSE; - if (!_e_mod_effect_ref(ec)) return EINA_FALSE; + if (!_eff_ref(ec)) return EINA_FALSE; e_comp_override_add(); - _e_mod_effect_object_setup(ec); + _eff_object_setup(ec); e_comp_object_effect_params_set(ec->frame, 0, (int[]){0}, 1); if (e_comp->nocomp) { - _e_mod_effect_pending_effect_set(ec, + _eff_pending_effect_set(ec, (void*)ec, E_EFFECT_TYPE_SHOW, - _e_mod_effect_cb_uniconify_done); + _eff_cb_uniconify_done); return EINA_TRUE; } - _e_mod_effect_event_send(ec, EINA_TRUE, E_EFFECT_TYPE_SHOW); - e_comp_object_effect_start(ec->frame, _e_mod_effect_cb_uniconify_done, ec); + _eff_event_send(ec, EINA_TRUE, E_EFFECT_TYPE_SHOW); + e_comp_object_effect_start(ec->frame, _eff_cb_uniconify_done, ec); return EINA_TRUE; } @@ -642,16 +642,16 @@ _e_mod_effect_cb_uniconify(void *data, Evas_Object *obj, const char *signal) } static void -_e_mod_effect_cb_iconify_done(void *data, Evas_Object *obj, const char *sig, const char *src) +_eff_cb_iconify_done(void *data, Evas_Object *obj, const char *sig, const char *src) { E_Client *ec = NULL; if ((ec = (E_Client *)data)) { - _e_mod_effect_event_send(ec, EINA_FALSE, E_EFFECT_TYPE_HIDE); - if (_e_mod_effect_unref(ec)) + _eff_event_send(ec, EINA_FALSE, E_EFFECT_TYPE_HIDE); + if (_eff_unref(ec)) { - if (_e_mod_effect_client_get(ec)) + if (_eff_client_get(ec)) evas_object_hide(ec->frame); } } @@ -660,7 +660,7 @@ _e_mod_effect_cb_iconify_done(void *data, Evas_Object *obj, const char *sig, con } static Eina_Bool -_e_mod_effect_cb_iconify(void *data, Evas_Object *obj, const char *signal) +_eff_cb_iconify(void *data, Evas_Object *obj, const char *signal) { E_Client *ec; E_Effect_Group group; @@ -672,13 +672,13 @@ _e_mod_effect_cb_iconify(void *data, Evas_Object *obj, const char *signal) if (!ec) return EINA_FALSE; if (e_object_is_del(E_OBJECT(ec))) return EINA_FALSE; - group = _e_mod_effect_group_get(ec); + group = _eff_group_get(ec); if (group != E_EFFECT_GROUP_NORMAL) return EINA_FALSE; if (!evas_object_visible_get(obj)) return EINA_FALSE; - v1 = _e_mod_effect_visibility_stack_check(ec, _eff->stack.old); - v2 = _e_mod_effect_visibility_stack_check(ec, _eff->stack.cur); + v1 = _eff_visibility_stack_check(ec, _eff->stack.old); + v2 = _eff_visibility_stack_check(ec, _eff->stack.cur); EFFINF("Iconify eff Check v1(%d) -> v2(%d) obscured:%d changed:%d", ec->pixmap, ec, @@ -688,61 +688,61 @@ _e_mod_effect_cb_iconify(void *data, Evas_Object *obj, const char *signal) if ((v2) && (ec->visibility.obscured == E_VISIBILITY_UNOBSCURED)) return EINA_FALSE; if ((!v2) && (ec->visibility.obscured != E_VISIBILITY_UNOBSCURED)) return EINA_FALSE; - if (!_e_mod_effect_ref(ec)) return EINA_FALSE; + if (!_eff_ref(ec)) return EINA_FALSE; e_comp_override_add(); - _e_mod_effect_object_setup(ec); + _eff_object_setup(ec); e_comp_object_effect_params_set(ec->frame, 0, (int[]){1}, 1); if (e_comp->nocomp) { - _e_mod_effect_pending_effect_set(ec, + _eff_pending_effect_set(ec, (void*)ec, E_EFFECT_TYPE_HIDE, - _e_mod_effect_cb_iconify_done); + _eff_cb_iconify_done); return EINA_TRUE; } - _e_mod_effect_event_send(ec, EINA_TRUE, E_EFFECT_TYPE_HIDE); - e_comp_object_effect_start(ec->frame, _e_mod_effect_cb_iconify_done, ec); + _eff_event_send(ec, EINA_TRUE, E_EFFECT_TYPE_HIDE); + e_comp_object_effect_start(ec->frame, _eff_cb_iconify_done, ec); return EINA_TRUE; } static void -_e_mod_effect_cb_restack_show_done(void *data, Evas_Object *obj, const char *sig, const char *src) +_eff_cb_restack_show_done(void *data, Evas_Object *obj, const char *sig, const char *src) { E_Client *ec = NULL; if ((ec = (E_Client *)data)) { - _e_mod_effect_event_send(ec, EINA_FALSE, E_EFFECT_TYPE_RESTACK_SHOW); - if (_e_mod_effect_unref(ec)) + _eff_event_send(ec, EINA_FALSE, E_EFFECT_TYPE_RESTACK_SHOW); + if (_eff_unref(ec)) { - if (_e_mod_effect_client_get(ec)) + if (_eff_client_get(ec)) { - _e_mod_effect_object_layer_down(ec); + _eff_object_layer_down(ec); //e_client_visibility_skip_set(ec, EINA_FALSE); } } } - _e_mod_effect_stack_update(); + _eff_stack_update(); e_comp_override_del(); } static void -_e_mod_effect_cb_restack_hide_done(void *data, Evas_Object *obj, const char *sig, const char *src) +_eff_cb_restack_hide_done(void *data, Evas_Object *obj, const char *sig, const char *src) { E_Client *ec = NULL; if ((ec = (E_Client *)data)) { - if (_e_mod_effect_unref(ec)) + if (_eff_unref(ec)) { - if (_e_mod_effect_client_get(ec)) + if (_eff_client_get(ec)) { - _e_mod_effect_object_layer_down(ec); + _eff_object_layer_down(ec); //e_client_visibility_skip_set(ec, EINA_FALSE); e_comp_object_signal_emit(ec->frame, "e,action,restack,finish", "e"); @@ -750,21 +750,21 @@ _e_mod_effect_cb_restack_hide_done(void *data, Evas_Object *obj, const char *sig } } - _e_mod_effect_stack_update(); + _eff_stack_update(); e_comp_override_del(); } static void -_e_mod_effect_cb_restack_finish_done(void *data, Evas_Object *obj, const char *sig, const char *src) +_eff_cb_restack_finish_done(void *data, Evas_Object *obj, const char *sig, const char *src) { E_Client *ec = NULL; if ((ec = (E_Client *)data)) { - _e_mod_effect_event_send(ec, EINA_FALSE, E_EFFECT_TYPE_RESTACK_HIDE); + _eff_event_send(ec, EINA_FALSE, E_EFFECT_TYPE_RESTACK_HIDE); E_Effect_Client *efc = NULL; - efc = _e_mod_effect_client_get(ec); + efc = _eff_client_get(ec); if (efc && efc->reverse_ec) { E_Client *ec_home = efc->reverse_ec; @@ -776,17 +776,17 @@ _e_mod_effect_cb_restack_finish_done(void *data, Evas_Object *obj, const char *s ec_home->launching = EINA_FALSE; e_comp_object_signal_emit(ec_home->frame, "e,action,launch,done", "e"); } - _e_mod_effect_unref(ec_home); + _eff_unref(ec_home); } } - _e_mod_effect_unref(ec); + _eff_unref(ec); } e_comp_override_del(); } static Eina_Bool -_e_mod_effect_cb_restack(void *data, Evas_Object *obj, const char *signal) +_eff_cb_restack(void *data, Evas_Object *obj, const char *signal) { E_Client *ec; E_Effect_Group group; @@ -799,7 +799,7 @@ _e_mod_effect_cb_restack(void *data, Evas_Object *obj, const char *signal) if (!ec) return EINA_FALSE; if (e_object_is_del(E_OBJECT(ec))) return EINA_FALSE; - group = _e_mod_effect_group_get(ec); + group = _eff_group_get(ec); emission = eina_stringshare_add(signal); /* for HOME group: replace eff target client */ @@ -824,7 +824,7 @@ _e_mod_effect_cb_restack(void *data, Evas_Object *obj, const char *signal) ec_home = ec; ec = below; - group = _e_mod_effect_group_get(ec); + group = _eff_group_get(ec); if (emission) eina_stringshare_del(emission); emission = eina_stringshare_add("e,action,restack,hide"); @@ -833,42 +833,42 @@ _e_mod_effect_cb_restack(void *data, Evas_Object *obj, const char *signal) if (group != E_EFFECT_GROUP_NORMAL) return EINA_FALSE; if ((!e_util_strcmp(emission, "e,action,restack,show"))) { - if (!_e_mod_effect_ref(ec)) return EINA_FALSE; + if (!_eff_ref(ec)) return EINA_FALSE; EFFINF("SET EXTRA_ANIMATING...", ec->pixmap, ec); ec->extra_animating = EINA_TRUE; e_comp_override_add(); - _e_mod_effect_object_layer_up(ec); + _eff_object_layer_up(ec); //e_client_visibility_skip_set(ec, EINA_TRUE); - _e_mod_effect_object_setup(ec); + _eff_object_setup(ec); e_comp_object_effect_params_set(ec->frame, 0, (int[]){2}, 1); if (e_comp->nocomp) { - _e_mod_effect_pending_effect_set(ec, + _eff_pending_effect_set(ec, (void*)ec, E_EFFECT_TYPE_SHOW, - _e_mod_effect_cb_restack_show_done); + _eff_cb_restack_show_done); return EINA_TRUE; } - _e_mod_effect_event_send(ec, EINA_TRUE, E_EFFECT_TYPE_RESTACK_SHOW); - e_comp_object_effect_start(ec->frame, _e_mod_effect_cb_restack_show_done, ec); + _eff_event_send(ec, EINA_TRUE, E_EFFECT_TYPE_RESTACK_SHOW); + e_comp_object_effect_start(ec->frame, _eff_cb_restack_show_done, ec); } else if (!e_util_strcmp(emission, "e,action,restack,hide")) { - if (!_e_mod_effect_ref(ec)) return EINA_FALSE; + if (!_eff_ref(ec)) return EINA_FALSE; if (ec_home) { E_Effect_Client *efc = NULL; - efc = _e_mod_effect_client_get(ec); + efc = _eff_client_get(ec); if (efc) { - if (_e_mod_effect_ref(ec_home)) + if (_eff_ref(ec_home)) { EFFINF("SET EXTRA_ANIMATING...", ec_home->pixmap, ec_home); ec_home->extra_animating = EINA_TRUE; @@ -883,50 +883,50 @@ _e_mod_effect_cb_restack(void *data, Evas_Object *obj, const char *signal) e_comp_override_add(); - _e_mod_effect_object_layer_up(ec); + _eff_object_layer_up(ec); //e_client_visibility_skip_set(ec, EINA_TRUE); - _e_mod_effect_object_setup(ec); + _eff_object_setup(ec); e_comp_object_effect_params_set(ec->frame, 0, (int[]){3}, 1); if (e_comp->nocomp) { - _e_mod_effect_pending_effect_set(ec, + _eff_pending_effect_set(ec, (void*)ec, E_EFFECT_TYPE_HIDE, - _e_mod_effect_cb_restack_hide_done); + _eff_cb_restack_hide_done); return EINA_TRUE; } - _e_mod_effect_event_send(ec, EINA_TRUE, E_EFFECT_TYPE_RESTACK_HIDE); - e_comp_object_effect_start(ec->frame, _e_mod_effect_cb_restack_hide_done, ec); + _eff_event_send(ec, EINA_TRUE, E_EFFECT_TYPE_RESTACK_HIDE); + e_comp_object_effect_start(ec->frame, _eff_cb_restack_hide_done, ec); } else if (!e_util_strcmp(emission, "e,action,restack,finish")) { - if (!_e_mod_effect_ref(ec)) return EINA_FALSE; + if (!_eff_ref(ec)) return EINA_FALSE; e_comp_override_add(); - _e_mod_effect_object_setup(ec); + _eff_object_setup(ec); e_comp_object_effect_params_set(ec->frame, 0, (int[]){4}, 1); if (e_comp->nocomp) { - _e_mod_effect_pending_effect_set(ec, + _eff_pending_effect_set(ec, (void*)ec, E_EFFECT_TYPE_HIDE, - _e_mod_effect_cb_restack_finish_done); + _eff_cb_restack_finish_done); return EINA_TRUE; } - e_comp_object_effect_start(ec->frame, _e_mod_effect_cb_restack_finish_done, ec); + e_comp_object_effect_start(ec->frame, _eff_cb_restack_finish_done, ec); } return EINA_TRUE; } static Eina_Bool -_e_mod_effect_cb_launch(void *data, Evas_Object *obj, const char *signal) +_eff_cb_launch(void *data, Evas_Object *obj, const char *signal) { E_Client *ec; struct wl_resource *res_surf; @@ -960,22 +960,22 @@ _e_mod_effect_cb_launch(void *data, Evas_Object *obj, const char *signal) } static void -_e_mod_effect_cb_hook_client_new(void *d EINA_UNUSED, E_Client *ec) +_eff_cb_hook_client_new(void *d EINA_UNUSED, E_Client *ec) { E_Effect_Client *efc; if (!_eff) return; - efc = _e_mod_effect_client_get(ec); + efc = _eff_client_get(ec); if (efc) return; - efc = _e_mod_effect_client_new(ec); + efc = _eff_client_new(ec); if (efc) eina_hash_add(_eff->clients, &ec, efc); } static void -_e_mod_effect_cb_hook_client_del(void *d EINA_UNUSED, E_Client *ec) +_eff_cb_hook_client_del(void *d EINA_UNUSED, E_Client *ec) { E_Effect_Client *efc = NULL; @@ -987,7 +987,7 @@ _e_mod_effect_cb_hook_client_del(void *d EINA_UNUSED, E_Client *ec) if (_eff->next_done.ec == ec) memset(&_eff->next_done, 0, sizeof(_eff->next_done)); - if ((efc = _e_mod_effect_client_get(ec))) + if ((efc = _eff_client_get(ec))) { if (!efc->animating) eina_hash_del_by_key(_eff->clients, &ec); @@ -995,7 +995,7 @@ _e_mod_effect_cb_hook_client_del(void *d EINA_UNUSED, E_Client *ec) } static Eina_Bool -_e_mod_effect_cb_client_restack(void *data, int type, void *event) +_eff_cb_client_restack(void *data, int type, void *event) { E_Client *ec; E_Event_Client *ev = event; @@ -1009,28 +1009,28 @@ _e_mod_effect_cb_client_restack(void *data, int type, void *event) EFFINF("Client restacked", ec->pixmap, ec); - _e_mod_effect_stack_update(); + _eff_stack_update(); - if (!_e_mod_effect_client_get(ec)) return ECORE_CALLBACK_PASS_ON; + if (!_eff_client_get(ec)) return ECORE_CALLBACK_PASS_ON; - if ((emission = _e_mod_effect_restack_effect_check(ec))) + if ((emission = _eff_restack_effect_check(ec))) e_comp_object_signal_emit(ec->frame, emission, "e"); return ECORE_CALLBACK_PASS_ON; } static Eina_Bool -_e_mod_effect_cb_comp_enabled(void *data, int ev_type, void *event) +_eff_cb_comp_enabled(void *data, int ev_type, void *event) { if (!_eff) return ECORE_CALLBACK_PASS_ON; - _e_mod_effect_pending_effect_start(); + _eff_pending_effect_start(); return ECORE_CALLBACK_PASS_ON; } static Eina_Bool -_e_mod_effect_cb_client_buffer_change(void *data, int ev_type, void *event) +_eff_cb_client_buffer_change(void *data, int ev_type, void *event) { E_Event_Client *ev = event; E_Client *ec; @@ -1042,7 +1042,7 @@ _e_mod_effect_cb_client_buffer_change(void *data, int ev_type, void *event) ec = ev->ec; if (!ec) return ECORE_CALLBACK_PASS_ON; - efc = _e_mod_effect_client_get(ec); + efc = _eff_client_get(ec); if (!efc) return ECORE_CALLBACK_PASS_ON; if (ec->pixmap) @@ -1077,7 +1077,7 @@ _tz_effect_cb_effect_destroy(struct wl_resource *tz_res_eff) } static void -_e_mod_effect_cb_bind(struct wl_client *client, void *data EINA_UNUSED, uint32_t version EINA_UNUSED, uint32_t id) +_eff_cb_bind(struct wl_client *client, void *data EINA_UNUSED, uint32_t version EINA_UNUSED, uint32_t id) { struct wl_resource *res; @@ -1097,7 +1097,7 @@ _e_mod_effect_cb_bind(struct wl_client *client, void *data EINA_UNUSED, uint32_t } static void -_e_mod_effect_cb_client_data_free(void *data) +_eff_cb_client_data_free(void *data) { E_Effect_Client *efc = data; @@ -1157,16 +1157,16 @@ e_mod_effect_init(void) eff->style = "no-eff"; } - eff->clients = eina_hash_pointer_new(_e_mod_effect_cb_client_data_free); + eff->clients = eina_hash_pointer_new(_eff_cb_client_data_free); EINA_SAFETY_ON_NULL_GOTO(eff->clients, err); EINA_LIST_FOREACH(e_comp->clients, l, ec) { if (ec->ignored) continue; - efc = _e_mod_effect_client_get(ec); + efc = _eff_client_get(ec); if (!efc) - efc = _e_mod_effect_client_new(ec); + efc = _eff_client_new(ec); if (efc) eina_hash_add(eff->clients, &ec, efc); } @@ -1178,24 +1178,24 @@ e_mod_effect_init(void) &tizen_effect_interface, 1, eff, - _e_mod_effect_cb_bind); + _eff_cb_bind); if (!eff->global) { ERR("Could not add tizen_efffect wayland globals: %m"); goto err; } - E_LIST_HANDLER_APPEND(eff->event_hdlrs, E_EVENT_COMPOSITOR_ENABLE, _e_mod_effect_cb_comp_enabled, eff); - E_LIST_HANDLER_APPEND(eff->event_hdlrs, E_EVENT_CLIENT_BUFFER_CHANGE, _e_mod_effect_cb_client_buffer_change, eff); - E_LIST_HANDLER_APPEND(eff->event_hdlrs, E_EVENT_CLIENT_STACK, _e_mod_effect_cb_client_restack, eff); - E_CLIENT_HOOK_APPEND(eff->hooks_ec, E_CLIENT_HOOK_NEW_CLIENT, _e_mod_effect_cb_hook_client_new, eff); - E_CLIENT_HOOK_APPEND(eff->hooks_ec, E_CLIENT_HOOK_DEL, _e_mod_effect_cb_hook_client_del, eff); - E_COMP_OBJ_EFF_MOVER_APPEND(eff->providers, 100, "e,state,visible", _e_mod_effect_cb_visible, eff); - E_COMP_OBJ_EFF_MOVER_APPEND(eff->providers, 100, "e,state,hidden", _e_mod_effect_cb_hidden, eff); - E_COMP_OBJ_EFF_MOVER_APPEND(eff->providers, 100, "e,action,iconify", _e_mod_effect_cb_iconify, eff); - E_COMP_OBJ_EFF_MOVER_APPEND(eff->providers, 100, "e,action,uniconify", _e_mod_effect_cb_uniconify, eff); - E_COMP_OBJ_EFF_MOVER_APPEND(eff->providers, 100, "e,action,restack*", _e_mod_effect_cb_restack, eff); - E_COMP_OBJ_EFF_MOVER_APPEND(eff->providers, 100, "e,action,launch,done", _e_mod_effect_cb_launch, eff); + E_LIST_HANDLER_APPEND(eff->event_hdlrs, E_EVENT_COMPOSITOR_ENABLE, _eff_cb_comp_enabled, eff); + E_LIST_HANDLER_APPEND(eff->event_hdlrs, E_EVENT_CLIENT_BUFFER_CHANGE, _eff_cb_client_buffer_change, eff); + E_LIST_HANDLER_APPEND(eff->event_hdlrs, E_EVENT_CLIENT_STACK, _eff_cb_client_restack, eff); + E_CLIENT_HOOK_APPEND(eff->hooks_ec, E_CLIENT_HOOK_NEW_CLIENT, _eff_cb_hook_client_new, eff); + E_CLIENT_HOOK_APPEND(eff->hooks_ec, E_CLIENT_HOOK_DEL, _eff_cb_hook_client_del, eff); + E_COMP_OBJ_EFF_MOVER_APPEND(eff->providers, 100, "e,state,visible", _eff_cb_visible, eff); + E_COMP_OBJ_EFF_MOVER_APPEND(eff->providers, 100, "e,state,hidden", _eff_cb_hidden, eff); + E_COMP_OBJ_EFF_MOVER_APPEND(eff->providers, 100, "e,action,iconify", _eff_cb_iconify, eff); + E_COMP_OBJ_EFF_MOVER_APPEND(eff->providers, 100, "e,action,uniconify", _eff_cb_uniconify, eff); + E_COMP_OBJ_EFF_MOVER_APPEND(eff->providers, 100, "e,action,restack*", _eff_cb_restack, eff); + E_COMP_OBJ_EFF_MOVER_APPEND(eff->providers, 100, "e,action,launch,done", _eff_cb_launch, eff); _eff = eff; -- 2.7.4 From 54ad61f935a162fba7d35b29e812ca0935c70622 Mon Sep 17 00:00:00 2001 From: Gwanglim Lee Date: Fri, 23 Sep 2016 20:22:39 +0900 Subject: [PATCH 11/16] corrected indentation. Change-Id: I03ea5bedc1812a8dc4db3cec416df767a54550ac --- src/e_mod_effect.c | 113 ++++++++++++++++++++++++----------------------------- 1 file changed, 50 insertions(+), 63 deletions(-) diff --git a/src/e_mod_effect.c b/src/e_mod_effect.c index 5fd266b..c4613ca 100644 --- a/src/e_mod_effect.c +++ b/src/e_mod_effect.c @@ -284,7 +284,7 @@ _eff_pending_effect_set(E_Client *ec, void *data, E_Effect_Type type, Edje_Signa } static void -_eff_stack_update() +_eff_stack_update(void) { E_Client *ec; Evas_Object *o; @@ -350,11 +350,12 @@ _eff_visibility_stack_check(E_Client *ec, Eina_List *stack) return vis; } -static const char* +static const char * _eff_restack_effect_check(E_Client *ec) { - const char* emission = NULL; + const char *emission = NULL; Eina_Bool v1, v2; + E_Effect_Client *efc; if (!evas_object_visible_get(ec->frame)) return NULL; if (ec->new_client) return NULL; @@ -371,7 +372,6 @@ _eff_restack_effect_check(E_Client *ec) } else { - E_Effect_Client *efc; efc = _eff_client_get(ec); // TODO : it's for transients windows. wish using other check */ @@ -398,18 +398,12 @@ _eff_restack_effect_check(E_Client *ec) static void _eff_cb_visible_done(void *data, Evas_Object *obj EINA_UNUSED, const char *sig EINA_UNUSED, const char *src EINA_UNUSED) { - E_Client *ec = NULL; + E_Client *ec = (E_Client *)data; - if ((ec = (E_Client*) data)) + if (ec) { _eff_event_send(ec, EINA_FALSE, E_EFFECT_TYPE_SHOW); - if (_eff_unref(ec)) - { - if (_eff_client_get(ec)) - { - //e_client_visibility_skip_set(ec, EINA_FALSE); - } - } + _eff_unref(ec); } _eff_stack_update(); @@ -435,7 +429,6 @@ _eff_cb_visible(void *data, Evas_Object *obj, const char *signal) if (!_eff_ref(ec)) return EINA_FALSE; e_comp_override_add(); - //e_client_visibility_skip_set(ec, EINA_TRUE); EFFINF("SET EXTRA_ANIMATING...", ec->pixmap, ec); ec->extra_animating = EINA_TRUE; @@ -445,13 +438,14 @@ _eff_cb_visible(void *data, Evas_Object *obj, const char *signal) if (e_comp->nocomp) { _eff_pending_effect_set(ec, - (void*)ec, - E_EFFECT_TYPE_SHOW, - _eff_cb_visible_done); + (void *)ec, + E_EFFECT_TYPE_SHOW, + _eff_cb_visible_done); return EINA_TRUE; } _eff_event_send(ec, EINA_TRUE, E_EFFECT_TYPE_SHOW); + e_comp_object_effect_start(ec->frame, _eff_cb_visible_done, ec); return EINA_TRUE; @@ -460,9 +454,9 @@ _eff_cb_visible(void *data, Evas_Object *obj, const char *signal) static void _eff_cb_hidden_done(void *data, Evas_Object *obj, const char *sig, const char *src) { - E_Client *ec = NULL; + E_Client *ec = (E_Client *)data; - if ((ec = (E_Client*) data)) + if (ec) { _eff_event_send(ec, EINA_FALSE, E_EFFECT_TYPE_HIDE); if (_eff_unref(ec)) @@ -470,7 +464,6 @@ _eff_cb_hidden_done(void *data, Evas_Object *obj, const char *sig, const char *s if (_eff_client_get(ec)) { _eff_object_layer_down(ec); - //e_client_visibility_skip_set(ec, EINA_FALSE); evas_object_hide(ec->frame); } } @@ -511,10 +504,7 @@ _eff_cb_hidden(void *data, Evas_Object *obj, const char *signal) lowered = 1; if (lowered) - { - _eff_object_layer_up(ec); - //e_client_visibility_skip_set(ec, EINA_TRUE); - } + _eff_object_layer_up(ec); _eff_object_setup(ec); e_comp_object_effect_params_set(ec->frame, 0, (int[]){1}, 1); @@ -522,9 +512,9 @@ _eff_cb_hidden(void *data, Evas_Object *obj, const char *signal) if (e_comp->nocomp) { _eff_pending_effect_set(ec, - (void*)ec, - E_EFFECT_TYPE_HIDE, - _eff_cb_hidden_done); + (void *)ec, + E_EFFECT_TYPE_HIDE, + _eff_cb_hidden_done); return EINA_TRUE; } @@ -537,9 +527,9 @@ _eff_cb_hidden(void *data, Evas_Object *obj, const char *signal) static void _eff_cb_uniconify_done(void *data, Evas_Object *obj, const char *sig, const char *src) { - E_Client *ec = NULL; + E_Client *ec = (E_Client *)data; - if ((ec = (E_Client*) data)) + if (ec) { _eff_event_send(ec, EINA_FALSE, E_EFFECT_TYPE_SHOW); _eff_unref(ec); @@ -627,9 +617,9 @@ _eff_cb_uniconify(void *data, Evas_Object *obj, const char *signal) if (e_comp->nocomp) { _eff_pending_effect_set(ec, - (void*)ec, - E_EFFECT_TYPE_SHOW, - _eff_cb_uniconify_done); + (void *)ec, + E_EFFECT_TYPE_SHOW, + _eff_cb_uniconify_done); return EINA_TRUE; } @@ -644,9 +634,9 @@ _eff_cb_uniconify(void *data, Evas_Object *obj, const char *signal) static void _eff_cb_iconify_done(void *data, Evas_Object *obj, const char *sig, const char *src) { - E_Client *ec = NULL; + E_Client *ec = (E_Client *)data; - if ((ec = (E_Client *)data)) + if (ec) { _eff_event_send(ec, EINA_FALSE, E_EFFECT_TYPE_HIDE); if (_eff_unref(ec)) @@ -698,9 +688,9 @@ _eff_cb_iconify(void *data, Evas_Object *obj, const char *signal) if (e_comp->nocomp) { _eff_pending_effect_set(ec, - (void*)ec, - E_EFFECT_TYPE_HIDE, - _eff_cb_iconify_done); + (void *)ec, + E_EFFECT_TYPE_HIDE, + _eff_cb_iconify_done); return EINA_TRUE; } @@ -709,21 +699,19 @@ _eff_cb_iconify(void *data, Evas_Object *obj, const char *signal) return EINA_TRUE; } + static void _eff_cb_restack_show_done(void *data, Evas_Object *obj, const char *sig, const char *src) { - E_Client *ec = NULL; + E_Client *ec = (E_Client *)data; - if ((ec = (E_Client *)data)) + if (ec) { _eff_event_send(ec, EINA_FALSE, E_EFFECT_TYPE_RESTACK_SHOW); if (_eff_unref(ec)) { if (_eff_client_get(ec)) - { - _eff_object_layer_down(ec); - //e_client_visibility_skip_set(ec, EINA_FALSE); - } + _eff_object_layer_down(ec); } } @@ -734,18 +722,18 @@ _eff_cb_restack_show_done(void *data, Evas_Object *obj, const char *sig, const c static void _eff_cb_restack_hide_done(void *data, Evas_Object *obj, const char *sig, const char *src) { - E_Client *ec = NULL; + E_Client *ec = (E_Client *)data; - if ((ec = (E_Client *)data)) + if (ec) { if (_eff_unref(ec)) { if (_eff_client_get(ec)) { _eff_object_layer_down(ec); - //e_client_visibility_skip_set(ec, EINA_FALSE); e_comp_object_signal_emit(ec->frame, - "e,action,restack,finish", "e"); + "e,action,restack,finish", + "e"); } } } @@ -757,13 +745,12 @@ _eff_cb_restack_hide_done(void *data, Evas_Object *obj, const char *sig, const c static void _eff_cb_restack_finish_done(void *data, Evas_Object *obj, const char *sig, const char *src) { - E_Client *ec = NULL; + E_Client *ec = (E_Client *)data; + E_Effect_Client *efc = NULL; - if ((ec = (E_Client *)data)) + if (ec) { _eff_event_send(ec, EINA_FALSE, E_EFFECT_TYPE_RESTACK_HIDE); - - E_Effect_Client *efc = NULL; efc = _eff_client_get(ec); if (efc && efc->reverse_ec) { @@ -782,6 +769,7 @@ _eff_cb_restack_finish_done(void *data, Evas_Object *obj, const char *sig, const _eff_unref(ec); } + e_comp_override_del(); } @@ -831,6 +819,7 @@ _eff_cb_restack(void *data, Evas_Object *obj, const char *signal) } if (group != E_EFFECT_GROUP_NORMAL) return EINA_FALSE; + if ((!e_util_strcmp(emission, "e,action,restack,show"))) { if (!_eff_ref(ec)) return EINA_FALSE; @@ -841,7 +830,6 @@ _eff_cb_restack(void *data, Evas_Object *obj, const char *signal) e_comp_override_add(); _eff_object_layer_up(ec); - //e_client_visibility_skip_set(ec, EINA_TRUE); _eff_object_setup(ec); e_comp_object_effect_params_set(ec->frame, 0, (int[]){2}, 1); @@ -849,9 +837,9 @@ _eff_cb_restack(void *data, Evas_Object *obj, const char *signal) if (e_comp->nocomp) { _eff_pending_effect_set(ec, - (void*)ec, - E_EFFECT_TYPE_SHOW, - _eff_cb_restack_show_done); + (void *)ec, + E_EFFECT_TYPE_SHOW, + _eff_cb_restack_show_done); return EINA_TRUE; } @@ -884,7 +872,6 @@ _eff_cb_restack(void *data, Evas_Object *obj, const char *signal) e_comp_override_add(); _eff_object_layer_up(ec); - //e_client_visibility_skip_set(ec, EINA_TRUE); _eff_object_setup(ec); e_comp_object_effect_params_set(ec->frame, 0, (int[]){3}, 1); @@ -892,9 +879,9 @@ _eff_cb_restack(void *data, Evas_Object *obj, const char *signal) if (e_comp->nocomp) { _eff_pending_effect_set(ec, - (void*)ec, - E_EFFECT_TYPE_HIDE, - _eff_cb_restack_hide_done); + (void *)ec, + E_EFFECT_TYPE_HIDE, + _eff_cb_restack_hide_done); return EINA_TRUE; } @@ -913,9 +900,9 @@ _eff_cb_restack(void *data, Evas_Object *obj, const char *signal) if (e_comp->nocomp) { _eff_pending_effect_set(ec, - (void*)ec, - E_EFFECT_TYPE_HIDE, - _eff_cb_restack_finish_done); + (void *)ec, + E_EFFECT_TYPE_HIDE, + _eff_cb_restack_finish_done); return EINA_TRUE; } @@ -999,7 +986,7 @@ _eff_cb_client_restack(void *data, int type, void *event) { E_Client *ec; E_Event_Client *ev = event; - const char* emission = NULL; + const char *emission = NULL; if (!_eff) return ECORE_CALLBACK_PASS_ON; -- 2.7.4 From 56f93311d303d56ae8330c289772bc8bdc2354f4 Mon Sep 17 00:00:00 2001 From: Gwanglim Lee Date: Fri, 23 Sep 2016 21:46:50 +0900 Subject: [PATCH 12/16] Decrementing the ref-count of wl_buffer after effect. The reference count of wl_buffer will get decremented immediately after window effect. It will enable the server to clean and flush the iconified client's wl_buffer. Change-Id: I09dfe4979f2c75a93974700110e470ecc4edf7e7 --- src/e_mod_effect.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/e_mod_effect.c b/src/e_mod_effect.c index c4613ca..f54d6ab 100644 --- a/src/e_mod_effect.c +++ b/src/e_mod_effect.c @@ -195,11 +195,11 @@ _eff_unref(E_Client *ec) EFFINF("eff Unref efc(%p) animating:%d", ec->pixmap, ec, efc, efc->animating); - if ((ec->dead) && (ec->hidden)) - { - if ((efc) && (efc->buffer_ref.buffer)) - e_comp_wl_buffer_reference(&efc->buffer_ref, NULL); - } + /* The reference count of wl_buffer will get decremented + * immediately after window effect. + */ + if ((efc) && (efc->buffer_ref.buffer)) + e_comp_wl_buffer_reference(&efc->buffer_ref, NULL); return ec; } -- 2.7.4 From 5bf90dc64e557aa8b8babef5ffddece5d815b3ec Mon Sep 17 00:00:00 2001 From: Gwanglim Lee Date: Fri, 23 Sep 2016 21:47:20 +0900 Subject: [PATCH 13/16] Packaging: update version to 0.1.5 Change-Id: Id1f287e74a80d3bffe15b2188adf6cf66be02b95 --- packaging/e-mod-tizen-effect.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/e-mod-tizen-effect.spec b/packaging/e-mod-tizen-effect.spec index 29034c7..5b50b4c 100644 --- a/packaging/e-mod-tizen-effect.spec +++ b/packaging/e-mod-tizen-effect.spec @@ -1,5 +1,5 @@ Name: e-mod-tizen-effect -Version: 0.1.4 +Version: 0.1.5 Release: 1 Summary: The effect module for the enlightenment URL: http://www.enlightenment.org -- 2.7.4 From 3fda534a498951e44b79e9706bbb0e0c1b1f8ebc Mon Sep 17 00:00:00 2001 From: Seunghun Lee Date: Fri, 30 Sep 2016 16:44:43 +0900 Subject: [PATCH 14/16] Make calculate for visibility of client based on geometry of E_Desk. This patch depends on following patch of enlightenment. commit 2b4ac34d416bcdb465244e6ba8a4e351ad582b19 Author: Seunghun Lee Date: Thu Sep 29 11:47:21 2016 +0900 e_desk: Make E_Desk has geometry, and clients can be membered to E_Desk's smart object. By this patch, we can change the geometry of E_Desk, and the geometry of clients can be also changed by the E_Desk, not E_Zone. Added New APIs : E_API void e_desk_client_add(E_Desk *desk, E_Client *ec); E_API void e_desk_client_del(E_Desk *desk, E_Client *ec); E_API void e_desk_geometry_set(E_Desk *desk, int x, int y, int w, int h); Usage in console : $ enlightenment_info -desktop_geometry_set [X] [Y] [W] [H] Change-Id: I3a075b9dd2325bc0985b7591ace90133e58db283 --- src/e_mod_effect.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/e_mod_effect.c b/src/e_mod_effect.c index f54d6ab..ac40d13 100644 --- a/src/e_mod_effect.c +++ b/src/e_mod_effect.c @@ -318,9 +318,9 @@ _eff_visibility_stack_check(E_Client *ec, Eina_List *stack) if (!stack) return EINA_FALSE; - tiler = eina_tiler_new(ec->zone->w, ec->zone->h); + tiler = eina_tiler_new(ec->desk->geom.w, ec->desk->geom.h); eina_tiler_tile_size_set(tiler, 1, 1); - EINA_RECTANGLE_SET(&r, ec->zone->x, ec->zone->y, ec->zone->w, ec->zone->h); + EINA_RECTANGLE_SET(&r, ec->desk->geom.x, ec->desk->geom.y, ec->desk->geom.w, ec->desk->geom.h); eina_tiler_rect_add(tiler, &r); EINA_LIST_FOREACH(stack, l, _ec) -- 2.7.4 From d7d8451ceb5edf5a3551076f129fbdf9c55f8444 Mon Sep 17 00:00:00 2001 From: MinJeong Kim Date: Thu, 20 Oct 2016 19:54:09 +0900 Subject: [PATCH 15/16] rotation: send rotation effect events send E_EVENT_ZONE_ROTATION_EFFECT_READY/CANCEL/DONE event Change-Id: I0efd45ee9ea0a9adccddcc3e7f09f6beae3a3b49 Signed-off-by: MinJeong Kim --- src/e_mod_effect_rotation.c | 61 ++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 58 insertions(+), 3 deletions(-) diff --git a/src/e_mod_effect_rotation.c b/src/e_mod_effect_rotation.c index 0df0f4e..341be53 100644 --- a/src/e_mod_effect_rotation.c +++ b/src/e_mod_effect_rotation.c @@ -67,6 +67,48 @@ typedef struct _Rotation_Zone static Rotation_Zone *_rotation_zone = NULL; +static void +_rotation_effect_ready_send(E_Zone *zone) +{ + E_Event_Zone_Rotation_Effect_Ready *ev; + + ev = E_NEW(E_Event_Zone_Rotation_Effect_Ready, 1); + if (!ev) return; + + ev->zone = zone; + ecore_event_add(E_EVENT_ZONE_ROTATION_EFFECT_READY, ev, NULL, NULL); + + EFFINF("Rotation Effect Event Ready", NULL, NULL); +} + +static void +_rotation_effect_cancel_send(E_Zone *zone) +{ + E_Event_Zone_Rotation_Effect_Cancel *ev; + + ev = E_NEW(E_Event_Zone_Rotation_Effect_Cancel, 1); + if (!ev) return; + + ev->zone = zone; + ecore_event_add(E_EVENT_ZONE_ROTATION_EFFECT_CANCEL, ev, NULL, NULL); + + EFFINF("Rotation Effect Event Cancel", NULL, NULL); +} + +static void +_rotation_effect_done_send(E_Zone *zone) +{ + E_Event_Zone_Rotation_Effect_Done *ev; + + ev = E_NEW(E_Event_Zone_Rotation_Effect_Done, 1); + if (!ev) return; + + ev->zone = zone; + ecore_event_add(E_EVENT_ZONE_ROTATION_EFFECT_DONE, ev, NULL, NULL); + + EFFINF("Rotation Effect Event Done", NULL, NULL); +} + static Eina_Bool _rotation_effect_available(const E_Client *ec, int ang) { @@ -537,7 +579,10 @@ _rotation_effect_clear(Rotation_Effect *effect) } if (effect->ctx_end) - _rotation_effect_animator_end_context_free(effect->ctx_end); + { + _rotation_effect_animator_end_context_free(effect->ctx_end); + _rotation_effect_done_send(effect->zone); + } effect->running = EINA_FALSE; effect->wait_for_buffer = EINA_FALSE; @@ -576,6 +621,7 @@ _rotation_effect_animator_cb_update(void *data, double pos) evas_object_hide(effect->bg); e_comp_override_del(); + _rotation_effect_done_send(effect->zone); return ECORE_CALLBACK_CANCEL; } @@ -705,6 +751,9 @@ _rotation_effect_cb_zone_rotation_begin(void *data, int type, void *event) _rotation_effect_animator_begin_prepare(effect); + if (effect->targets) + _rotation_effect_ready_send(zone); + return ECORE_CALLBACK_PASS_ON; } @@ -740,14 +789,20 @@ _rotation_effect_cb_zone_rotation_end(void *data, int type, void *event) static Eina_Bool _rotation_effect_cb_zone_rotation_cancel(void *data, int type, void *event) { + E_Event_Zone_Rotation_Change_Cancel *ev = event; Rotation_Effect *effect; + E_Zone *zone; - EFFINF("Zone Rotation Canceld", NULL, NULL); + zone = ev->zone; + if (!zone) return ECORE_CALLBACK_PASS_ON; effect = (Rotation_Effect *)data; if (!effect) return ECORE_CALLBACK_PASS_ON; - if (effect->running) return ECORE_CALLBACK_PASS_ON; + EFFINF("Zone Rotation Cancelled", NULL, NULL); + + if (effect->running) return ECORE_CALLBACK_PASS_ON; + if (effect->targets) _rotation_effect_cancel_send(zone); _rotation_effect_clear(effect); return ECORE_CALLBACK_PASS_ON; -- 2.7.4 From 872edd8c113621c9b2f5d67cfa0f2ee20e516e13 Mon Sep 17 00:00:00 2001 From: MinJeong Kim Date: Wed, 2 Nov 2016 11:36:31 +0900 Subject: [PATCH 16/16] Packaging: update version to 0.1.6 Change-Id: Ieca962700ebb98be75f4f9f6ccc1e4691dc6c83e Signed-off-by: MinJeong Kim --- packaging/e-mod-tizen-effect.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/e-mod-tizen-effect.spec b/packaging/e-mod-tizen-effect.spec index 5b50b4c..a9f1b93 100644 --- a/packaging/e-mod-tizen-effect.spec +++ b/packaging/e-mod-tizen-effect.spec @@ -1,5 +1,5 @@ Name: e-mod-tizen-effect -Version: 0.1.5 +Version: 0.1.6 Release: 1 Summary: The effect module for the enlightenment URL: http://www.enlightenment.org -- 2.7.4