From 3f18918d822e42fca042a8bb0f7e91af53e5118b Mon Sep 17 00:00:00 2001 From: MinJeong Kim Date: Thu, 24 Nov 2016 13:06:51 +0900 Subject: [PATCH 01/16] keyboard: do animation faster than before Change-Id: I1098658807057b224d49b58ecab57bcf5116c33a Signed-off-by: MinJeong Kim --- data/group/keyboard.edc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/group/keyboard.edc b/data/group/keyboard.edc index 6b8fcae..2f02197 100644 --- a/data/group/keyboard.edc +++ b/data/group/keyboard.edc @@ -1,4 +1,4 @@ -#define KEYBOARD_EFFECT_FAST 0.20 +#define KEYBOARD_EFFECT_FAST 0.06 group { name: "e/comp/effects/keyboard"; script { public ang; -- 2.7.4 From 9e1361f859128c1064a84575a1f67c8b64b80c71 Mon Sep 17 00:00:00 2001 From: MinJeong Kim Date: Thu, 24 Nov 2016 13:11:14 +0900 Subject: [PATCH 02/16] Packaging: update version to 0.1.10 Change-Id: I8233c6dd9c1d14e8367e60568c517f5b4613c17c --- 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 32c5381..df4b90c 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.9 +Version: 0.1.10 Release: 1 Summary: The effect module for the enlightenment URL: http://www.enlightenment.org -- 2.7.4 From ad71d9e689e607a1faca7b66c809b9277bf6a914 Mon Sep 17 00:00:00 2001 From: MinJeong Kim Date: Fri, 25 Nov 2016 16:55:27 +0900 Subject: [PATCH 03/16] Do not layer up for restack_show effect Change-Id: I789ed339cfe67775cac5a658586042d3a6a72205 --- src/e_mod_effect.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/e_mod_effect.c b/src/e_mod_effect.c index 7356b7d..c92897f 100644 --- a/src/e_mod_effect.c +++ b/src/e_mod_effect.c @@ -739,11 +739,7 @@ _eff_cb_restack_show_done(void *data, Evas_Object *obj, const char *sig, const c 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); - } + _eff_unref(ec); } _eff_stack_update(); @@ -863,8 +859,6 @@ _eff_cb_restack(void *data, Evas_Object *obj, const char *signal) e_comp_override_add(); - _eff_object_layer_up(ec); - _eff_object_setup(ec, group); ang = _eff_group_angle_get(ec, group); e_comp_object_effect_params_set(ec->frame, 0, (int[]){2, ang}, 2); -- 2.7.4 From 00c2461b59e5f208c86b912bd73dbb03aceec0f8 Mon Sep 17 00:00:00 2001 From: MinJeong Kim Date: Wed, 16 Nov 2016 22:21:24 +0900 Subject: [PATCH 04/16] Check delay_del_ref if it's really deleted Change-Id: Iaac3e8f51a6e779e996b912053fdcc98a0e9c03d Signed-off-by: MinJeong Kim --- src/e_mod_effect.c | 34 +++++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/src/e_mod_effect.c b/src/e_mod_effect.c index c92897f..665e62d 100644 --- a/src/e_mod_effect.c +++ b/src/e_mod_effect.c @@ -6,6 +6,7 @@ typedef struct _E_Effect_Client { E_Client *ec; unsigned int animating; + unsigned int delay_del_ref; E_Comp_Wl_Buffer_Ref buffer_ref; E_Pixmap *ep; E_Client *reverse_ec; @@ -79,6 +80,7 @@ _eff_client_new(E_Client *ec) efc = E_NEW(E_Effect_Client, 1); efc->ec = ec; efc->animating = 0; + efc->delay_del_ref = 0; efc->ep = NULL; return efc; @@ -147,21 +149,30 @@ _eff_ref(E_Client *ec) if (!_eff) return EINA_FALSE; + efc = _eff_client_get(ec); + if (!efc) return EINA_FALSE; + if (e_object_is_del(E_OBJECT(ec))) { - ERR("Client is deleted already! ec(%p)", ec); - eina_hash_del_by_key(_eff->clients, &ec); - return EINA_FALSE; + if (!e_object_delay_del_ref_get(E_OBJECT(ec))) + { + ERR("Client is deleted already! ec(%p)", ec); + eina_hash_del_by_key(_eff->clients, &ec); + return EINA_FALSE; + } } - efc = _eff_client_get(ec); - if (!efc) return EINA_FALSE; - if (!ec->pixmap) return EINA_FALSE; 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; + if (e_object_is_del(E_OBJECT(ec))) + { + e_object_delay_del_ref(E_OBJECT(ec)); + efc->delay_del_ref ++; + } + efc->animating++; e_object_ref(E_OBJECT(ec)); efc->ep = e_pixmap_ref(ec->pixmap); @@ -184,6 +195,12 @@ _eff_unref(E_Client *ec) efc = _eff_client_get(ec); if (!efc) return NULL; + while (efc->delay_del_ref) + { + e_object_delay_del_unref(E_OBJECT(ec)); + efc->delay_del_ref--; + } + if (e_object_is_del(E_OBJECT(ec))) do_unref = efc->animating; @@ -501,7 +518,10 @@ _eff_cb_hidden(void *data, Evas_Object *obj, const char *signal) ec = e_comp_object_client_get(obj); if (!ec) return EINA_FALSE; - if (e_object_is_del(E_OBJECT(ec))) return EINA_FALSE; + if (e_object_is_del(E_OBJECT(ec))) + { + if (!e_object_delay_del_ref_get(E_OBJECT(ec))) return; + } /* check for effect group */ group = _eff_group_get(ec); -- 2.7.4 From 6d9a643f5af2c2ebed30e287dd587b89113b517b Mon Sep 17 00:00:00 2001 From: MinJeong Kim Date: Wed, 30 Nov 2016 15:53:58 +0900 Subject: [PATCH 05/16] Packaging: update version to 0.1.11 Change-Id: I4abd74dc7a51455a0fb8fa7d927ebd1a3da0de46 --- 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 df4b90c..a0dfc11 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.10 +Version: 0.1.11 Release: 1 Summary: The effect module for the enlightenment URL: http://www.enlightenment.org -- 2.7.4 From c3ae406e34865f402992cd8606b89d4e92f9c5e0 Mon Sep 17 00:00:00 2001 From: MinJeong Kim Date: Thu, 1 Dec 2016 15:01:02 +0900 Subject: [PATCH 06/16] Fixed running of restack,show effect while show effect is running Change-Id: Ic9d0b79f443bf6f5c144e18f04911a0fed02bbaf --- src/e_mod_effect.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/e_mod_effect.c b/src/e_mod_effect.c index 665e62d..1b81029 100644 --- a/src/e_mod_effect.c +++ b/src/e_mod_effect.c @@ -459,6 +459,7 @@ _eff_cb_visible(void *data, Evas_Object *obj, const char *signal) if (evas_object_visible_get(obj)) return EINA_FALSE; if (!_eff_ref(ec)) return EINA_FALSE; + _eff_stack_update(); e_comp_override_add(); EFFINF("SET EXTRA_ANIMATING...", ec->pixmap, ec); -- 2.7.4 From 2f569abe8644b1d5d7c535d1639911d08e4109fb Mon Sep 17 00:00:00 2001 From: MinJeong Kim Date: Thu, 1 Dec 2016 15:02:15 +0900 Subject: [PATCH 07/16] Packaging: update version to 0.1.11 Change-Id: I91ef0279ebca45d8746cda3a3041f86ee6992eb2 --- 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 a0dfc11..1fa9b8e 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.11 +Version: 0.1.12 Release: 1 Summary: The effect module for the enlightenment URL: http://www.enlightenment.org -- 2.7.4 From 1b71b4ec081686bad33531350a1f4a4db9262ee6 Mon Sep 17 00:00:00 2001 From: Seunghun Lee Date: Fri, 2 Dec 2016 08:50:35 +0900 Subject: [PATCH 08/16] rotation: exclude client that is placed out of screen from a list of rotation effect. Change-Id: I8be77e762f4e954f40b9709e05d18fe808528315 --- src/e_mod_effect_rotation.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/e_mod_effect_rotation.c b/src/e_mod_effect_rotation.c index a32ae7e..b3bd57b 100644 --- a/src/e_mod_effect_rotation.c +++ b/src/e_mod_effect_rotation.c @@ -182,6 +182,8 @@ _rotation_effect_targets_get(Rotation_Effect *effect) if (ec) { if (e_object_is_del(E_OBJECT(ec))) continue; + if (!E_INTERSECTS(ec->x, ec->y, ec->w, ec->h, ec->zone->x, ec->zone->y, ec->zone->w, ec->zone->h)) + continue; if ((ec->visibility.obscured != E_VISIBILITY_UNOBSCURED) && (ec->iconic)) continue; -- 2.7.4 From cdc896cacba2c80a3b8e31bbd6259b6214bbf028 Mon Sep 17 00:00:00 2001 From: Seunghun Lee Date: Fri, 2 Dec 2016 15:59:27 +0900 Subject: [PATCH 09/16] function declared non-void should reutrn a value. Change-Id: I3ecdd94399982e0c9e536898d611601989e1e97a --- 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 1b81029..bcf0815 100644 --- a/src/e_mod_effect.c +++ b/src/e_mod_effect.c @@ -521,7 +521,7 @@ _eff_cb_hidden(void *data, Evas_Object *obj, const char *signal) if (!ec) return EINA_FALSE; if (e_object_is_del(E_OBJECT(ec))) { - if (!e_object_delay_del_ref_get(E_OBJECT(ec))) return; + if (!e_object_delay_del_ref_get(E_OBJECT(ec))) return EINA_FALSE; } /* check for effect group */ -- 2.7.4 From c699b811c6adef48cccbd5422d04c8a2da9ad20b Mon Sep 17 00:00:00 2001 From: Gwanglim Lee Date: Fri, 2 Dec 2016 16:14:25 +0900 Subject: [PATCH 10/16] Packaging: update version to 0.1.13 Change-Id: I14a6a5a1dbec65ae7ddbe57912e297cddc16f865 --- 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 1fa9b8e..c91e254 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.12 +Version: 0.1.13 Release: 1 Summary: The effect module for the enlightenment URL: http://www.enlightenment.org -- 2.7.4 From 773eea26d6098a9fb9586fb45e1006d1e991bde6 Mon Sep 17 00:00:00 2001 From: Seunghun Lee Date: Thu, 1 Dec 2016 20:34:45 +0900 Subject: [PATCH 11/16] rotation: Packing effect objects to the desk's smart object. Change-Id: I1be989aabe951a0d53f5704a154ceb20aa0a527c --- src/e_mod_effect_rotation.c | 36 +++++++++++++++++++++++++----------- 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/src/e_mod_effect_rotation.c b/src/e_mod_effect_rotation.c index b3bd57b..12c5056 100644 --- a/src/e_mod_effect_rotation.c +++ b/src/e_mod_effect_rotation.c @@ -145,7 +145,7 @@ no_hint: } static Eina_List * -_rotation_effect_targets_get(Rotation_Effect *effect) +_rotation_effect_targets_get(Rotation_Effect *effect, E_Desk *desk) { Evas_Object *o; Eina_Tiler *t; @@ -181,6 +181,7 @@ _rotation_effect_targets_get(Rotation_Effect *effect) ec = evas_object_data_get(o, "E_Client"); if (ec) { + if (ec->desk != desk) continue; if (e_object_is_del(E_OBJECT(ec))) continue; if (!E_INTERSECTS(ec->x, ec->y, ec->w, ec->h, ec->zone->x, ec->zone->y, ec->zone->w, ec->zone->h)) continue; @@ -402,7 +403,7 @@ fail: } static Rotation_Effect_Begin_Context * -_rotation_effect_begin_create(Rotation_Effect *effect, Eina_List *targets) +_rotation_effect_begin_create(Rotation_Effect *effect, Eina_List *targets, E_Desk *desk) { Rotation_Effect_Begin_Context *ctx_begin = NULL; Rotation_Effect_Object *eobj = NULL; @@ -446,6 +447,8 @@ _rotation_effect_begin_create(Rotation_Effect *effect, Eina_List *targets) return NULL; } + e_desk_smart_member_add(desk, ctx_begin->layout); + EFFINF("Rotation Begin Created", NULL, NULL); int diff = effect->zone->rot.prev - effect->zone->rot.curr; @@ -459,7 +462,7 @@ _rotation_effect_begin_create(Rotation_Effect *effect, Eina_List *targets) static Rotation_Effect_End_Context * -_rotation_effect_end_create(Rotation_Effect *effect, Eina_List *targets) +_rotation_effect_end_create(Rotation_Effect *effect, Eina_List *targets, E_Desk *desk) { Rotation_Effect_End_Context *ctx_end = NULL; Rotation_Effect_Object *eobj = NULL; @@ -501,6 +504,8 @@ _rotation_effect_end_create(Rotation_Effect *effect, Eina_List *targets) return NULL; } + e_desk_smart_member_add(desk, ctx_end->layout); + EFFINF("Rotation End Created", NULL, NULL); int diff = _rotation_zone->curr_angle - _rotation_zone->prev_angle; @@ -688,16 +693,16 @@ _rotation_effect_start(Rotation_Effect *effect) } static void -_rotation_effect_animator_begin_prepare(Rotation_Effect *effect) +_rotation_effect_animator_begin_prepare(Rotation_Effect *effect, E_Desk *desk) { if (!effect) return; _rotation_effect_clear(effect); - effect->targets = _rotation_effect_targets_get(effect); + effect->targets = _rotation_effect_targets_get(effect, desk); if (!effect->targets) return; - effect->ctx_begin = _rotation_effect_begin_create(effect, effect->targets); + effect->ctx_begin = _rotation_effect_begin_create(effect, effect->targets, desk); if (!effect->ctx_begin) { _rotation_effect_clear(effect); @@ -711,7 +716,7 @@ _rotation_effect_animator_begin_prepare(Rotation_Effect *effect) } static void -_rotation_effect_animator_end_prepare(Rotation_Effect *effect) +_rotation_effect_animator_end_prepare(Rotation_Effect *effect, E_Desk *desk) { if (!effect) return; if (!effect->targets) return; @@ -722,7 +727,7 @@ _rotation_effect_animator_end_prepare(Rotation_Effect *effect) _rotation_effect_animator_end_context_free(effect->ctx_end); effect->ctx_end = NULL; - effect->ctx_end = _rotation_effect_end_create(effect, effect->targets); + effect->ctx_end = _rotation_effect_end_create(effect, effect->targets, desk); if (!effect->ctx_end) return; EFFINF("Rotation End Prepared", NULL, NULL); @@ -736,6 +741,7 @@ _rotation_effect_cb_zone_rotation_begin(void *data, int type, void *event) Rotation_Effect *effect; E_Event_Zone_Rotation_Change_Begin *ev = event; E_Zone *zone; + E_Desk *desk; effect = (Rotation_Effect *)data; if (!effect) return ECORE_CALLBACK_PASS_ON; @@ -752,7 +758,8 @@ _rotation_effect_cb_zone_rotation_begin(void *data, int type, void *event) _rotation_zone->curr_angle = zone->rot.curr; _rotation_zone->prev_angle = zone->rot.prev; - _rotation_effect_animator_begin_prepare(effect); + desk = e_desk_current_get(zone); + _rotation_effect_animator_begin_prepare(effect, desk); if (effect->targets) _rotation_effect_ready_send(zone); @@ -766,6 +773,7 @@ _rotation_effect_cb_zone_rotation_end(void *data, int type, void *event) Rotation_Effect *effect; E_Event_Zone_Rotation_Change_End *ev = event; E_Zone *zone; + E_Desk *desk; effect = (Rotation_Effect *)data; if (!effect) return ECORE_CALLBACK_PASS_ON; @@ -785,7 +793,8 @@ _rotation_effect_cb_zone_rotation_end(void *data, int type, void *event) if (!effect->ctx_end) { - _rotation_effect_animator_end_prepare(effect); + desk = e_desk_current_get(zone); + _rotation_effect_animator_end_prepare(effect, desk); if (!effect->ctx_end) _rotation_effect_clear(effect); @@ -822,6 +831,7 @@ _rotation_effect_cb_buffer_change(void *data, int ev_type, void *event) { E_Event_Client *ev = event; E_Client *ec; + E_Desk *desk; Rotation_Effect *effect; ec = ev->ec; @@ -837,7 +847,11 @@ _rotation_effect_cb_buffer_change(void *data, int ev_type, void *event) if (!effect->wait_for_buffer) return ECORE_CALLBACK_PASS_ON; - if (!effect->ctx_end) _rotation_effect_animator_end_prepare(effect); + if (!effect->ctx_end) + { + desk = e_desk_current_get(ec->zone); + _rotation_effect_animator_end_prepare(effect, desk); + } if (effect->ctx_end) _rotation_effect_start(effect); return ECORE_CALLBACK_PASS_ON; -- 2.7.4 From 8aae26fff985541912dc0161e6a25e2a24665c43 Mon Sep 17 00:00:00 2001 From: MinJeong Kim Date: Thu, 8 Dec 2016 10:24:43 +0900 Subject: [PATCH 12/16] check stack visibility for hiden effect Change-Id: Ia73a9577c41fafed71b53ce567720b6fbde73741 Signed-off-by: MinJeong Kim --- src/e_mod_effect.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/e_mod_effect.c b/src/e_mod_effect.c index bcf0815..18c3851 100644 --- a/src/e_mod_effect.c +++ b/src/e_mod_effect.c @@ -514,6 +514,7 @@ _eff_cb_hidden(void *data, Evas_Object *obj, const char *signal) Evas_Object *below; int map_ly; int ang = -1; + Eina_Bool v1, v2; if (!_eff) return EINA_FALSE; @@ -535,7 +536,14 @@ _eff_cb_hidden(void *data, Evas_Object *obj, const char *signal) return EINA_FALSE; } + /* check for object visibility */ if (!evas_object_visible_get(obj)) return EINA_FALSE; + + /* check for stack visibility */ + v1 = _eff_visibility_stack_check(ec, _eff->stack.old); + v2 = _eff_visibility_stack_check(ec, _eff->stack.cur); + if ((!v1) && (!v2)) return EINA_FALSE; + if (!_eff_ref(ec)) return EINA_FALSE; e_comp_override_add(); -- 2.7.4 From bfe9693c268206208c970772f0cd2ededbc6ccad Mon Sep 17 00:00:00 2001 From: MinJeong Kim Date: Fri, 9 Dec 2016 11:28:36 +0900 Subject: [PATCH 13/16] Packaging: update version to 0.1.14 Change-Id: I49c3f31b9cc6d0542af3065f026c48e59279aa24 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 c91e254..dc37e73 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.13 +Version: 0.1.14 Release: 1 Summary: The effect module for the enlightenment URL: http://www.enlightenment.org -- 2.7.4 From 1fef418d4acc3a75501101b8a111cce6af371aa9 Mon Sep 17 00:00:00 2001 From: Gwanglim Lee Date: Mon, 12 Dec 2016 22:40:32 +0900 Subject: [PATCH 14/16] Revert "rotation: Packing effect objects to the desk's smart object." This reverts commit 773eea26d6098a9fb9586fb45e1006d1e991bde6. --- src/e_mod_effect_rotation.c | 36 +++++++++++------------------------- 1 file changed, 11 insertions(+), 25 deletions(-) diff --git a/src/e_mod_effect_rotation.c b/src/e_mod_effect_rotation.c index 12c5056..b3bd57b 100644 --- a/src/e_mod_effect_rotation.c +++ b/src/e_mod_effect_rotation.c @@ -145,7 +145,7 @@ no_hint: } static Eina_List * -_rotation_effect_targets_get(Rotation_Effect *effect, E_Desk *desk) +_rotation_effect_targets_get(Rotation_Effect *effect) { Evas_Object *o; Eina_Tiler *t; @@ -181,7 +181,6 @@ _rotation_effect_targets_get(Rotation_Effect *effect, E_Desk *desk) ec = evas_object_data_get(o, "E_Client"); if (ec) { - if (ec->desk != desk) continue; if (e_object_is_del(E_OBJECT(ec))) continue; if (!E_INTERSECTS(ec->x, ec->y, ec->w, ec->h, ec->zone->x, ec->zone->y, ec->zone->w, ec->zone->h)) continue; @@ -403,7 +402,7 @@ fail: } static Rotation_Effect_Begin_Context * -_rotation_effect_begin_create(Rotation_Effect *effect, Eina_List *targets, E_Desk *desk) +_rotation_effect_begin_create(Rotation_Effect *effect, Eina_List *targets) { Rotation_Effect_Begin_Context *ctx_begin = NULL; Rotation_Effect_Object *eobj = NULL; @@ -447,8 +446,6 @@ _rotation_effect_begin_create(Rotation_Effect *effect, Eina_List *targets, E_Des return NULL; } - e_desk_smart_member_add(desk, ctx_begin->layout); - EFFINF("Rotation Begin Created", NULL, NULL); int diff = effect->zone->rot.prev - effect->zone->rot.curr; @@ -462,7 +459,7 @@ _rotation_effect_begin_create(Rotation_Effect *effect, Eina_List *targets, E_Des static Rotation_Effect_End_Context * -_rotation_effect_end_create(Rotation_Effect *effect, Eina_List *targets, E_Desk *desk) +_rotation_effect_end_create(Rotation_Effect *effect, Eina_List *targets) { Rotation_Effect_End_Context *ctx_end = NULL; Rotation_Effect_Object *eobj = NULL; @@ -504,8 +501,6 @@ _rotation_effect_end_create(Rotation_Effect *effect, Eina_List *targets, E_Desk return NULL; } - e_desk_smart_member_add(desk, ctx_end->layout); - EFFINF("Rotation End Created", NULL, NULL); int diff = _rotation_zone->curr_angle - _rotation_zone->prev_angle; @@ -693,16 +688,16 @@ _rotation_effect_start(Rotation_Effect *effect) } static void -_rotation_effect_animator_begin_prepare(Rotation_Effect *effect, E_Desk *desk) +_rotation_effect_animator_begin_prepare(Rotation_Effect *effect) { if (!effect) return; _rotation_effect_clear(effect); - effect->targets = _rotation_effect_targets_get(effect, desk); + effect->targets = _rotation_effect_targets_get(effect); if (!effect->targets) return; - effect->ctx_begin = _rotation_effect_begin_create(effect, effect->targets, desk); + effect->ctx_begin = _rotation_effect_begin_create(effect, effect->targets); if (!effect->ctx_begin) { _rotation_effect_clear(effect); @@ -716,7 +711,7 @@ _rotation_effect_animator_begin_prepare(Rotation_Effect *effect, E_Desk *desk) } static void -_rotation_effect_animator_end_prepare(Rotation_Effect *effect, E_Desk *desk) +_rotation_effect_animator_end_prepare(Rotation_Effect *effect) { if (!effect) return; if (!effect->targets) return; @@ -727,7 +722,7 @@ _rotation_effect_animator_end_prepare(Rotation_Effect *effect, E_Desk *desk) _rotation_effect_animator_end_context_free(effect->ctx_end); effect->ctx_end = NULL; - effect->ctx_end = _rotation_effect_end_create(effect, effect->targets, desk); + effect->ctx_end = _rotation_effect_end_create(effect, effect->targets); if (!effect->ctx_end) return; EFFINF("Rotation End Prepared", NULL, NULL); @@ -741,7 +736,6 @@ _rotation_effect_cb_zone_rotation_begin(void *data, int type, void *event) Rotation_Effect *effect; E_Event_Zone_Rotation_Change_Begin *ev = event; E_Zone *zone; - E_Desk *desk; effect = (Rotation_Effect *)data; if (!effect) return ECORE_CALLBACK_PASS_ON; @@ -758,8 +752,7 @@ _rotation_effect_cb_zone_rotation_begin(void *data, int type, void *event) _rotation_zone->curr_angle = zone->rot.curr; _rotation_zone->prev_angle = zone->rot.prev; - desk = e_desk_current_get(zone); - _rotation_effect_animator_begin_prepare(effect, desk); + _rotation_effect_animator_begin_prepare(effect); if (effect->targets) _rotation_effect_ready_send(zone); @@ -773,7 +766,6 @@ _rotation_effect_cb_zone_rotation_end(void *data, int type, void *event) Rotation_Effect *effect; E_Event_Zone_Rotation_Change_End *ev = event; E_Zone *zone; - E_Desk *desk; effect = (Rotation_Effect *)data; if (!effect) return ECORE_CALLBACK_PASS_ON; @@ -793,8 +785,7 @@ _rotation_effect_cb_zone_rotation_end(void *data, int type, void *event) if (!effect->ctx_end) { - desk = e_desk_current_get(zone); - _rotation_effect_animator_end_prepare(effect, desk); + _rotation_effect_animator_end_prepare(effect); if (!effect->ctx_end) _rotation_effect_clear(effect); @@ -831,7 +822,6 @@ _rotation_effect_cb_buffer_change(void *data, int ev_type, void *event) { E_Event_Client *ev = event; E_Client *ec; - E_Desk *desk; Rotation_Effect *effect; ec = ev->ec; @@ -847,11 +837,7 @@ _rotation_effect_cb_buffer_change(void *data, int ev_type, void *event) if (!effect->wait_for_buffer) return ECORE_CALLBACK_PASS_ON; - if (!effect->ctx_end) - { - desk = e_desk_current_get(ec->zone); - _rotation_effect_animator_end_prepare(effect, desk); - } + if (!effect->ctx_end) _rotation_effect_animator_end_prepare(effect); if (effect->ctx_end) _rotation_effect_start(effect); return ECORE_CALLBACK_PASS_ON; -- 2.7.4 From 6d8542428b443dd40dec9807eb845b506ad1ba04 Mon Sep 17 00:00:00 2001 From: Gwanglim Lee Date: Mon, 12 Dec 2016 22:41:19 +0900 Subject: [PATCH 15/16] Packaging: update version to 0.1.15 Change-Id: I742174fce158549887576bfec8d86f5aebf98316 --- 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 dc37e73..b70c030 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.14 +Version: 0.1.15 Release: 1 Summary: The effect module for the enlightenment URL: http://www.enlightenment.org -- 2.7.4 From 9fe8dfb98eeb4d5bda634bae6e912fb616675f7c Mon Sep 17 00:00:00 2001 From: MinJeong Kim Date: Fri, 9 Dec 2016 23:23:28 +0900 Subject: [PATCH 16/16] Exclude alpha windows on visibility check Change-Id: I076ae6508a65e0ab702c661af34322b89ec448e0 Signed-off-by: MinJeong Kim --- src/e_mod_effect.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/e_mod_effect.c b/src/e_mod_effect.c index 18c3851..ae58589 100644 --- a/src/e_mod_effect.c +++ b/src/e_mod_effect.c @@ -362,6 +362,7 @@ _eff_visibility_stack_check(E_Client *ec, Eina_List *stack) if (_ec->iconic && _ec->exp_iconify.by_client) continue; } if (!e_pixmap_resource_get(_ec->pixmap)) continue; + if ((_ec->argb) && (_ec->visibility.opaque != 1)) continue; e_client_geometry_get(_ec, &x, &y, &w, &h); -- 2.7.4