From 1fef418d4acc3a75501101b8a111cce6af371aa9 Mon Sep 17 00:00:00 2001 From: Gwanglim Lee Date: Mon, 12 Dec 2016 22:40:32 +0900 Subject: [PATCH 01/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 02/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 03/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 From c7addb6180259e4c565edab48d03b1fc3db44c6d Mon Sep 17 00:00:00 2001 From: MinJeong Kim Date: Tue, 13 Dec 2016 16:49:34 +0900 Subject: [PATCH 04/16] Packaging: update version to 0.1.16 Change-Id: I7391f1cab9f52b61549d63e4f50701ce5fe056c9 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 b70c030..0f86ac9 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.15 +Version: 0.1.16 Release: 1 Summary: The effect module for the enlightenment URL: http://www.enlightenment.org -- 2.7.4 From d243f30f7cd4b2bdf6744554393b71f4001ad313 Mon Sep 17 00:00:00 2001 From: Seunghun Lee Date: Tue, 13 Dec 2016 13:47:59 +0900 Subject: [PATCH 05/16] Revert "Revert "rotation: Packing effect objects to the desk's smart object."" This reverts commit 1fef418d4acc3a75501101b8a111cce6af371aa9. Change-Id: I4737e998a528ef25a95935a31ea21207394a6d17 --- 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 1ad3b1d98ebcb4406fb8823b0e691d31315be797 Mon Sep 17 00:00:00 2001 From: MinJeong Kim Date: Tue, 10 Jan 2017 16:02:30 +0900 Subject: [PATCH 06/16] rotation: fixed waiting for buffer change of hidden client Change-Id: I2274d5b95069f6a99d948f03ce9422eaf7df737f Signed-off-by: MinJeong Kim --- src/e_mod_effect_rotation.c | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/src/e_mod_effect_rotation.c b/src/e_mod_effect_rotation.c index 12c5056..ffb203e 100644 --- a/src/e_mod_effect_rotation.c +++ b/src/e_mod_effect_rotation.c @@ -858,6 +858,37 @@ _rotation_effect_cb_buffer_change(void *data, int ev_type, void *event) } static Eina_Bool +_rotation_effect_cb_client_hide(void *data, int ev_type, void *event) +{ + E_Event_Client *ev = event; + E_Client *ec; + Rotation_Effect *effect; + E_Desk *desk; + + ec = ev->ec; + if (!ec) return ECORE_CALLBACK_PASS_ON; + + effect = (Rotation_Effect *)data; + if (!effect) return ECORE_CALLBACK_PASS_ON; + if (!effect->ctx_begin) return ECORE_CALLBACK_PASS_ON; + if (!effect->waiting_list) return ECORE_CALLBACK_PASS_ON; + + effect->waiting_list = eina_list_remove(effect->waiting_list, ec); + if (effect->waiting_list) return ECORE_CALLBACK_PASS_ON; + + 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_start(effect); + + return ECORE_CALLBACK_PASS_ON; +} + +static Eina_Bool _rotation_effect_cb_client_remove(void *data, int ev_type, void *event) { E_Event_Client *ev = event; @@ -973,6 +1004,10 @@ _rotation_zone_create(E_Zone *zone) _rotation_effect_cb_buffer_change, rotation_zone->effect); E_LIST_HANDLER_APPEND(rotation_zone->event_hdlrs, + E_EVENT_CLIENT_HIDE, + _rotation_effect_cb_client_hide, rotation_zone->effect); + + E_LIST_HANDLER_APPEND(rotation_zone->event_hdlrs, E_EVENT_CLIENT_REMOVE, _rotation_effect_cb_client_remove, rotation_zone->effect); -- 2.7.4 From 442c98e830da25eb8ff83292d4082610bece6858 Mon Sep 17 00:00:00 2001 From: Gwanglim Lee Date: Tue, 10 Jan 2017 19:23:22 +0900 Subject: [PATCH 07/16] Packaging: update version to 0.1.17 Change-Id: I81d43e26fc2fb6a7d44c5af1643afc688428d538 --- 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 0f86ac9..dc4d767 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.16 +Version: 0.1.17 Release: 1 Summary: The effect module for the enlightenment URL: http://www.enlightenment.org -- 2.7.4 From 26d642aff10e3ad78741853eab246db832b85600 Mon Sep 17 00:00:00 2001 From: parksanghee Date: Tue, 31 Jan 2017 20:28:05 +0900 Subject: [PATCH 08/16] fade.edc: use map for smooth animation Change-Id: I89a856cac35f3db6e1e1973a5b9a6f5759c38555 --- data/group/fade.edc | 36 +++++++++++++++++++++++++++++++----- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/data/group/fade.edc b/data/group/fade.edc index 10b8b26..f81fd58 100644 --- a/data/group/fade.edc +++ b/data/group/fade.edc @@ -67,8 +67,8 @@ group { name: "e/comp/effects/fade"; part { name: "shower"; type: SPACER; description { state: "default" 0.0; - rel1.relative: 0.05 0.05; - rel2.relative: 0.95 0.95; + rel1.relative: 0 0; + rel2.relative: 1 1; } description { state: "visible" 0.0; inherit: "default" 0.0; @@ -95,16 +95,36 @@ group { name: "e/comp/effects/fade"; description { state: "default" 0.0; rel1.to: "shower"; rel2.to: "shower"; + map { + on: 1; + smooth: 1; + zoom.x: 0.9; + zoom.y: 0.9; + } } description { state: "visible" 0.0; rel1.to: "shower"; rel2.to: "shower"; + map { + on: 1; + smooth: 1; + zoom.x: 1; + zoom.y: 1; + } } description { state: "hide" 0.0; - rel1.to: "shower"; - rel2.to: "shower"; + inherit: "default" 0.0; + } + description { state: "restack_visible" 0.0; + inherit: "visible" 0.0; + } + description { state: "restack_hidden" 0.0; + inherit: "default" 0.0; } - } + description { state: "restack_done" 0.0; + inherit: "visible" 0.0; + } + } } programs { program { name: "show1"; @@ -134,6 +154,7 @@ group { name: "e/comp/effects/fade"; transition: LINEAR 0.01; target: "shower"; target: "clipper"; + target: "e.swallow.content"; after: "hide2"; } program { name: "hide2"; @@ -141,12 +162,14 @@ group { name: "e/comp/effects/fade"; transition: ACCEL_FAC 0.20 1.5; target: "shower"; target: "clipper"; + target: "e.swallow.content"; after: "hide3"; } program { name: "hide3"; action: STATE_SET "default" 0.0; target: "shower"; target: "clipper"; + target: "e.swallow.content"; after: "done"; } program { name: "restack,show1"; @@ -157,6 +180,7 @@ group { name: "e/comp/effects/fade"; transition: LINEAR 0.01; target: "shower"; target: "clipper"; + target: "e.swallow.content"; after: "restack,show2"; } program { name: "restack,show2"; @@ -175,6 +199,7 @@ group { name: "e/comp/effects/fade"; transition: LINEAR 0.01; target: "shower"; target: "clipper"; + target: "e.swallow.content"; after: "restack,hide2"; } program { name: "restack,hide2"; @@ -182,6 +207,7 @@ group { name: "e/comp/effects/fade"; transition: ACCEL_FAC 0.20 1.5; target: "shower"; target: "clipper"; + target: "e.swallow.content"; after: "done"; } program { name: "restack,finish"; -- 2.7.4 From 0b636348c77d748208f7e1ed2f421365747072be Mon Sep 17 00:00:00 2001 From: MinJeong Kim Date: Tue, 31 Jan 2017 21:59:25 +0900 Subject: [PATCH 09/16] Packaging: update version to 0.1.18 Change-Id: I25f3983e49486d2e31d8e26fe4f4dbaec7f7677c 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 dc4d767..4310f5a 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.17 +Version: 0.1.18 Release: 1 Summary: The effect module for the enlightenment URL: http://www.enlightenment.org -- 2.7.4 From 750928f204a0d2d96b0f6899909eab1e28e83ae5 Mon Sep 17 00:00:00 2001 From: MinJeong Kim Date: Fri, 3 Feb 2017 13:42:16 +0900 Subject: [PATCH 10/16] fade.edc: disable map at end of visible effect Change-Id: I0c6e445b48a365c3231e96666bd8a4b81e2795bb Signed-off-by: MinJeong Kim --- data/group/fade.edc | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/data/group/fade.edc b/data/group/fade.edc index f81fd58..47f9cb1 100644 --- a/data/group/fade.edc +++ b/data/group/fade.edc @@ -112,6 +112,13 @@ group { name: "e/comp/effects/fade"; zoom.y: 1; } } + description { state: "visible_default" 0.0; + rel1.to: "shower"; + rel2.to: "shower"; + rel1.relative: 0 0; + rel2.relative: 1 1; + map.on : 0; + } description { state: "hide" 0.0; inherit: "default" 0.0; } @@ -144,6 +151,11 @@ group { name: "e/comp/effects/fade"; target: "shower"; target: "clipper"; target: "e.swallow.content"; + after: "show3"; + } + program { name: "show3"; + action: STATE_SET "visible_default" 0.0; + target: "e.swallow.content"; after: "done"; } program { name: "hide1"; @@ -189,6 +201,11 @@ group { name: "e/comp/effects/fade"; target: "shower"; target: "clipper"; target: "e.swallow.content"; + after: "restack,show3"; + } + program { name: "restack,show3"; + action: STATE_SET "visible_default" 0.0; + target: "e.swallow.content"; after: "done"; } program { name: "restack,hide1"; -- 2.7.4 From 286cce0f5c8ae397a21d9c0ff1fe3991f899f311 Mon Sep 17 00:00:00 2001 From: MinJeong Kim Date: Fri, 3 Feb 2017 13:44:15 +0900 Subject: [PATCH 11/16] Packaging: update version to 0.1.19 Change-Id: I8e0bc6d885dd1aef375ebcb199cf04ae4b55f2c1 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 4310f5a..5f4b2e6 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.18 +Version: 0.1.19 Release: 1 Summary: The effect module for the enlightenment URL: http://www.enlightenment.org -- 2.7.4 From 77a9fcbbf84ad53cd517cda3eb5b18646174eff9 Mon Sep 17 00:00:00 2001 From: parksanghee Date: Tue, 14 Feb 2017 20:18:25 +0900 Subject: [PATCH 12/16] fade.edc: set state of e.swallow.content by message Change-Id: I5534b90b5edc5c567674e9ad65f0a8fa948deea6 --- data/group/fade.edc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/data/group/fade.edc b/data/group/fade.edc index 47f9cb1..c68fda2 100644 --- a/data/group/fade.edc +++ b/data/group/fade.edc @@ -9,26 +9,31 @@ group { name: "e/comp/effects/fade"; { set_state(PART:"clipper", "default", 0.0); set_state(PART:"shower", "default", 0.0); + set_state(PART:"e.swallow.content", "default", 0.0); } else if (st == 1) { set_state(PART:"clipper", "visible", 0.0); set_state(PART:"shower", "visible", 0.0); + set_state(PART:"e.swallow.content", "visible", 0.0); } else if (st == 2) { set_state(PART:"clipper", "restack_hidden", 0.0); set_state(PART:"shower", "restack_hidden", 0.0); + set_state(PART:"e.swallow.content", "restack_hidden", 0.0); } else if (st == 3) { set_state(PART:"clipper", "restack_visible", 0.0); set_state(PART:"shower", "restack_visible", 0.0); + set_state(PART:"e.swallow.content", "restack_visible", 0.0); } else if (st == 4) { set_state(PART:"clipper", "restack_done", 0.0); set_state(PART:"shower", "restack_done", 0.0); + set_state(PART:"e.swallow.content", "restack_done", 0.0); } } else if ((type == MSG_INT_SET) && (id == 1)) { -- 2.7.4 From 6949d18e3435e5db77b1b7c7ccd56d2083dd132f Mon Sep 17 00:00:00 2001 From: MinJeong Kim Date: Tue, 14 Feb 2017 20:22:50 +0900 Subject: [PATCH 13/16] Packaging: update version to 0.1.20 Change-Id: If0857473ac529e5d7d071b0e1e44a9446fd202f0 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 5f4b2e6..a9d5467 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.19 +Version: 0.1.20 Release: 1 Summary: The effect module for the enlightenment URL: http://www.enlightenment.org -- 2.7.4 From d80cc0c98899a162bd9ed6aeceaa927f39382994 Mon Sep 17 00:00:00 2001 From: parksanghee Date: Mon, 13 Feb 2017 16:20:57 +0900 Subject: [PATCH 14/16] Implement depth-in effect [Model] Tizen3.0 [BinType] AP [Customer] N/A [Issue#] N/A [Request] Support depth-in [Occurrence Version] N/A [Problem] Not support dpeth-in concept [Cause & Measure] There is no interface to support concept [Checking Method] Setting > Wifi [Team] Window Manager [Developer] Sanghee Park [Solution company] Samsung [Change Type] New feature Change-Id: I5448f435684c4d306d5321637f1767a8be28d2eb --- data/effect.edc | 5 ++ data/group/fade.edc | 25 +----- data/group/zoom.edc | 249 ++++++++++++++++++++++++++++++++++++++++++++++++++++ src/e_mod_effect.c | 4 +- 4 files changed, 261 insertions(+), 22 deletions(-) create mode 100644 data/group/zoom.edc diff --git a/data/effect.edc b/data/effect.edc index 81ed67b..bd616bb 100644 --- a/data/effect.edc +++ b/data/effect.edc @@ -14,6 +14,11 @@ collections { #include "group/fade.edc" /*-----------------------------------------------------*/ + /* group "e/comp/effects/zoom" */ + /*-----------------------------------------------------*/ + #include "group/zoom.edc" + + /*-----------------------------------------------------*/ /* group "e/comp/effects/keyboard" */ /*-----------------------------------------------------*/ #include "group/keyboard.edc" diff --git a/data/group/fade.edc b/data/group/fade.edc index c68fda2..802ed60 100644 --- a/data/group/fade.edc +++ b/data/group/fade.edc @@ -100,29 +100,16 @@ group { name: "e/comp/effects/fade"; description { state: "default" 0.0; rel1.to: "shower"; rel2.to: "shower"; - map { - on: 1; - smooth: 1; - zoom.x: 0.9; - zoom.y: 0.9; - } } description { state: "visible" 0.0; rel1.to: "shower"; rel2.to: "shower"; - map { - on: 1; - smooth: 1; - zoom.x: 1; - zoom.y: 1; - } } description { state: "visible_default" 0.0; rel1.to: "shower"; rel2.to: "shower"; rel1.relative: 0 0; rel2.relative: 1 1; - map.on : 0; } description { state: "hide" 0.0; inherit: "default" 0.0; @@ -144,7 +131,6 @@ group { name: "e/comp/effects/fade"; source: "e"; filter: "shower" "default"; action: STATE_SET "default" 0.0; - transition: LINEAR 0.01; target: "shower"; target: "clipper"; target: "e.swallow.content"; @@ -152,7 +138,7 @@ group { name: "e/comp/effects/fade"; } program { name: "show2"; action: STATE_SET "visible" 0.0; - transition: DECEL_FAC 0.10 0.8; + transition: CUBIC_BEZIER 0.15 0.25 0.46 0.45 1.0; target: "shower"; target: "clipper"; target: "e.swallow.content"; @@ -168,7 +154,6 @@ group { name: "e/comp/effects/fade"; source: "e"; filter: "shower" "visible"; action: STATE_SET "visible" 0.0; - transition: LINEAR 0.01; target: "shower"; target: "clipper"; target: "e.swallow.content"; @@ -176,7 +161,7 @@ group { name: "e/comp/effects/fade"; } program { name: "hide2"; action: STATE_SET "hide" 0.0; - transition: ACCEL_FAC 0.20 1.5; + transition: CUBIC_BEZIER 0.15 0.25 0.46 0.45 1.0; target: "shower"; target: "clipper"; target: "e.swallow.content"; @@ -194,7 +179,6 @@ group { name: "e/comp/effects/fade"; source: "e"; filter: "shower" "restack_hidden"; action: STATE_SET "restack_hidden" 0.0; - transition: LINEAR 0.01; target: "shower"; target: "clipper"; target: "e.swallow.content"; @@ -202,7 +186,7 @@ group { name: "e/comp/effects/fade"; } program { name: "restack,show2"; action: STATE_SET "visible" 0.0; - transition: DECEL_FAC 0.10 0.8; + transition: CUBIC_BEZIER 0.15 0.25 0.46 0.45 1.0; target: "shower"; target: "clipper"; target: "e.swallow.content"; @@ -218,7 +202,6 @@ group { name: "e/comp/effects/fade"; source: "e"; filter: "shower" "restack_visible"; action: STATE_SET "restack_visible" 0.0; - transition: LINEAR 0.01; target: "shower"; target: "clipper"; target: "e.swallow.content"; @@ -226,7 +209,7 @@ group { name: "e/comp/effects/fade"; } program { name: "restack,hide2"; action: STATE_SET "hide" 0.0; - transition: ACCEL_FAC 0.20 1.5; + transition: CUBIC_BEZIER 0.15 0.25 0.46 0.45 1.0; target: "shower"; target: "clipper"; target: "e.swallow.content"; diff --git a/data/group/zoom.edc b/data/group/zoom.edc new file mode 100644 index 0000000..e82b0a8 --- /dev/null +++ b/data/group/zoom.edc @@ -0,0 +1,249 @@ +group { name: "e/comp/effects/zoom"; + script { + public message(Msg_Type:type, id, ...) { + if ((type == MSG_INT_SET) && (id == 0)) { + /*set state */ + new st; + st = getarg(2); + if (st == 0) + { + set_state(PART:"clipper", "default", 0.0); + set_state(PART:"shower", "default", 0.0); + set_state(PART:"e.swallow.content", "default", 0.0); + } + else if (st == 1) + { + set_state(PART:"clipper", "visible", 0.0); + set_state(PART:"shower", "visible", 0.0); + set_state(PART:"e.swallow.content", "visible", 0.0); + } + else if (st == 2) + { + set_state(PART:"clipper", "restack_hidden", 0.0); + set_state(PART:"shower", "restack_hidden", 0.0); + set_state(PART:"e.swallow.content", "restack_hidden", 0.0); + } + else if (st == 3) + { + set_state(PART:"clipper", "restack_visible", 0.0); + set_state(PART:"shower", "restack_visible", 0.0); + set_state(PART:"e.swallow.content", "restack_visible", 0.0); + } + else if (st == 4) + { + set_state(PART:"clipper", "restack_done", 0.0); + set_state(PART:"shower", "restack_done", 0.0); + set_state(PART:"e.swallow.content", "restack_done", 0.0); + } + } else if ((type == MSG_INT_SET) && (id == 1)) + { + } + } + } + parts { + part { name: "clipper"; + type: RECT; + mouse_events: 0; + description { state: "default" 0.0; + color: 255 255 255 0; + rel1.relative: -1.0 -1.0; + rel1.offset: -9999 -9999; + rel2.relative: 2.0 2.0; + rel2.offset: 9999 9999; + visible: 1; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + } + description { state: "hide" 0.0; + inherit: "default" 0.0; + } + description { state: "restack_visible" 0.0; + inherit: "visible" 0.0; + } + description { state: "restack_hidden" 0.0; + inherit: "default" 0.0; + } + description { state: "restack_done" 0.0; + inherit: "visible" 0.0; + } + } + part { name: "shower"; + type: SPACER; + description { state: "default" 0.0; + rel1.relative: 0 0; + rel2.relative: 1 1; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + rel1.relative: 0 0; + rel1.offset: 0 0; + rel2.relative: 1 1; + } + description { state: "hide" 0.0; + inherit: "default" 0.0; + } + description { state: "restack_visible" 0.0; + inherit: "visible" 0.0; + } + description { state: "restack_hidden" 0.0; + inherit: "default" 0.0; + } + description { state: "restack_done" 0.0; + inherit: "visible" 0.0; + } + } + part { name: "e.swallow.content"; type: SWALLOW; + type: SWALLOW; + clip_to: "clipper"; + description { state: "default" 0.0; + rel1.to: "shower"; + rel2.to: "shower"; + map { + on: 1; + smooth: 1; + zoom.x: 0.9; + zoom.y: 0.9; + } + } + description { state: "visible" 0.0; + rel1.to: "shower"; + rel2.to: "shower"; + map { + on: 1; + smooth: 1; + zoom.x: 1; + zoom.y: 1; + } + } + description { state: "visible_default" 0.0; + rel1.to: "shower"; + rel2.to: "shower"; + rel1.relative: 0 0; + rel2.relative: 1 1; + map.on : 0; + } + description { state: "hide" 0.0; + inherit: "default" 0.0; + } + description { state: "restack_visible" 0.0; + inherit: "visible" 0.0; + } + description { state: "restack_hidden" 0.0; + inherit: "default" 0.0; + } + description { state: "restack_done" 0.0; + inherit: "visible" 0.0; + } + } + } + programs { + program { name: "show1"; + signal: "e,action,go"; + source: "e"; + filter: "shower" "default"; + action: STATE_SET "default" 0.0; + transition: LINEAR 0.01; + target: "shower"; + target: "clipper"; + target: "e.swallow.content"; + after: "show2"; + } + program { name: "show2"; + action: STATE_SET "visible" 0.0; + transition: DECEL_FAC 0.10 0.8; + target: "shower"; + target: "clipper"; + target: "e.swallow.content"; + after: "show3"; + } + program { name: "show3"; + action: STATE_SET "visible_default" 0.0; + target: "e.swallow.content"; + after: "done"; + } + program { name: "hide1"; + signal: "e,action,go"; + source: "e"; + filter: "shower" "visible"; + action: STATE_SET "visible" 0.0; + transition: LINEAR 0.01; + target: "shower"; + target: "clipper"; + target: "e.swallow.content"; + after: "hide2"; + } + program { name: "hide2"; + action: STATE_SET "hide" 0.0; + transition: ACCEL_FAC 0.20 1.5; + target: "shower"; + target: "clipper"; + target: "e.swallow.content"; + after: "hide3"; + } + program { name: "hide3"; + action: STATE_SET "default" 0.0; + target: "shower"; + target: "clipper"; + target: "e.swallow.content"; + after: "done"; + } + program { name: "restack,show1"; + signal: "e,action,go"; + source: "e"; + filter: "shower" "restack_hidden"; + action: STATE_SET "restack_hidden" 0.0; + transition: LINEAR 0.01; + target: "shower"; + target: "clipper"; + target: "e.swallow.content"; + after: "restack,show2"; + } + program { name: "restack,show2"; + action: STATE_SET "visible" 0.0; + transition: DECEL_FAC 0.10 0.8; + target: "shower"; + target: "clipper"; + target: "e.swallow.content"; + after: "restack,show3"; + } + program { name: "restack,show3"; + action: STATE_SET "visible_default" 0.0; + target: "e.swallow.content"; + after: "done"; + } + program { name: "restack,hide1"; + signal: "e,action,go"; + source: "e"; + filter: "shower" "restack_visible"; + action: STATE_SET "restack_visible" 0.0; + transition: LINEAR 0.01; + target: "shower"; + target: "clipper"; + target: "e.swallow.content"; + after: "restack,hide2"; + } + program { name: "restack,hide2"; + action: STATE_SET "hide" 0.0; + transition: ACCEL_FAC 0.20 1.5; + target: "shower"; + target: "clipper"; + target: "e.swallow.content"; + after: "done"; + } + program { name: "restack,finish"; + signal: "e,action,go"; + source: "e"; + filter: "shower" "restack_done"; + action: STATE_SET "visible" 0.0; + target: "shower"; + target: "clipper"; + target: "e.swallow.content"; + after: "done"; + } + program { name: "done"; + action: SIGNAL_EMIT "e,action,done" "e"; + } + } +} diff --git a/src/e_mod_effect.c b/src/e_mod_effect.c index ae58589..89ad4e9 100644 --- a/src/e_mod_effect.c +++ b/src/e_mod_effect.c @@ -243,7 +243,9 @@ _eff_object_setup(E_Client *ec, E_Effect_Group group) e_comp_object_effect_set(ec->frame, "keyboard"); else { - if ((cfg) && (cfg->effect_style)) + if ((cfg) && (cfg->depth_in_style) && (ec->effect_type)) + e_comp_object_effect_set(ec->frame, cfg->depth_in_style); + else 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"); -- 2.7.4 From 83efe72f2f5e3ede057f16e8a8b96eceb066108c Mon Sep 17 00:00:00 2001 From: parksanghee Date: Wed, 15 Feb 2017 18:10:52 +0900 Subject: [PATCH 15/16] Packaging: update version to 0.1.21 Change-Id: If793d9d37b0b344e2d4bf159b87fe679319da999 --- 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 a9d5467..ddf90e0 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.20 +Version: 0.1.21 Release: 1 Summary: The effect module for the enlightenment URL: http://www.enlightenment.org -- 2.7.4 From a69631fde36b382795ca06f59030f19eeaae3f42 Mon Sep 17 00:00:00 2001 From: parksanghee Date: Tue, 21 Feb 2017 18:26:43 +0900 Subject: [PATCH 16/16] Fix wrong VI issues related to depth-in senario Change-Id: I2e452aafa731474a7cec9223fb461fe7c9e3191e --- src/e_mod_effect.c | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/src/e_mod_effect.c b/src/e_mod_effect.c index 89ad4e9..9b619e9 100644 --- a/src/e_mod_effect.c +++ b/src/e_mod_effect.c @@ -243,12 +243,30 @@ _eff_object_setup(E_Client *ec, E_Effect_Group group) e_comp_object_effect_set(ec->frame, "keyboard"); else { - if ((cfg) && (cfg->depth_in_style) && (ec->effect_type)) + E_Effect_Client *efc = NULL; + E_Client *parent_ec = ec; + + efc = _eff_client_get(ec); + + while (parent_ec->parent) + parent_ec = parent_ec->parent; + + if ((parent_ec) && (parent_ec != ec) && (parent_ec->launching)) // Launchig case with parent at same time + e_comp_object_effect_set(ec->frame, cfg->effect_style); + else if ((efc) && (e_policy_client_is_home_screen(efc->reverse_ec))) // Home key effect senario + e_comp_object_effect_set(ec->frame, cfg->effect_style); + else if ((cfg) && (cfg->depth_in_style) && (ec->effect_type)) //depth-in senario e_comp_object_effect_set(ec->frame, cfg->depth_in_style); - else if ((cfg) && (cfg->effect_style)) + else if ((cfg) && (cfg->effect_style)) // normal launching case e_comp_object_effect_set(ec->frame, cfg->effect_style); else e_comp_object_effect_set(ec->frame, "no-effect"); + + EFFINF("eff Setup efc(%p) home(%d) type(%d) parent(%d)", + ec->pixmap, ec, efc, + efc? e_policy_client_is_home_screen(efc->reverse_ec) : 0, + ec->effect_type, + parent_ec == ec ? -1 : parent_ec->launching); } } @@ -824,6 +842,7 @@ _eff_cb_restack_finish_done(void *data, Evas_Object *obj, const char *sig, const } _eff_unref(ec_home); } + efc->reverse_ec = NULL; } _eff_unref(ec); -- 2.7.4