From 29f7b2869df7d9f670c3d1893733b6ae3cca9eb5 Mon Sep 17 00:00:00 2001 From: Juyeon Lee Date: Mon, 3 Jul 2017 10:17:17 +0900 Subject: [PATCH] add effect style zoom-easeout-mask using circle_mask swallow contents are clip to 'clipper' which is using circle_mask to support wearable profile Change-Id: I25c12991b6709d8d11eb68961bbbac80be290968 --- data/Makefile.am | 7 +- data/effect.edc | 7 +- data/group/zoom-easeout-mask.edc | 319 +++++++++++++++++++++++++++++++++++++++ data/img/circle_mask.png | Bin 0 -> 6776 bytes 4 files changed, 329 insertions(+), 4 deletions(-) create mode 100644 data/group/zoom-easeout-mask.edc create mode 100644 data/img/circle_mask.png diff --git a/data/Makefile.am b/data/Makefile.am index d3f4d74..ff80e91 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -1,16 +1,17 @@ MAINTAINERCLEANFILES = Makefile.in EDJE_CC = @EDJE_CC@ -EDJE_CC_FLAGS = -v +EDJE_CC_FLAGS = -v -id $(top_srcdir)/data/img filesdir = /usr/share/enlightenment/data/themes files_DATA = effect.edj EXTRA_DIST = \ -effect.edc + effect.edc \ + img/circle_mask.png effect.edj: Makefile $(EXTRA_DIST) - $(EDJE_CC) $(EDJE_FLAGS) \ + $(EDJE_CC) $(EDJE_CC_FLAGS) \ $(top_srcdir)/data/effect.edc \ $(top_builddir)/data/effect.edj diff --git a/data/effect.edc b/data/effect.edc index b13b221..c050f9b 100644 --- a/data/effect.edc +++ b/data/effect.edc @@ -19,11 +19,16 @@ collections { #include "group/zoom.edc" /*-----------------------------------------------------*/ - /* group "e/comp/effects/zoom-easeout" */ + /* group "e/comp/effects/zoom-easeout" */ /*-----------------------------------------------------*/ #include "group/zoom-easeout.edc" /*-----------------------------------------------------*/ + /* group "e/comp/effects/zoom-easeout-mask" */ + /*-----------------------------------------------------*/ + #include "group/zoom-easeout-mask.edc" + + /*-----------------------------------------------------*/ /* group "e/comp/effects/keyboard" */ /*-----------------------------------------------------*/ #include "group/keyboard.edc" diff --git a/data/group/zoom-easeout-mask.edc b/data/group/zoom-easeout-mask.edc new file mode 100644 index 0000000..cd9ec3a --- /dev/null +++ b/data/group/zoom-easeout-mask.edc @@ -0,0 +1,319 @@ +group { name: "e/comp/effects/zoom-easeout-mask"; + 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); + set_state(PART:"under", "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); + set_state(PART:"under", "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); + set_state(PART:"under", "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); + set_state(PART:"under", "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); + set_state(PART:"under", "restack_done", 0.0); + } + } else if ((type == MSG_INT_SET) && (id == 1)) + { + } + } + } + images.image: "circle_mask.png" COMP; + parts { + 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.6; + zoom.y: 0.6; + } + } + 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; + } + } + part { name: "under"; + type: SWALLOW; + clip_to: "clipper"; + description { state: "default" 0.0; + rel1.to: "shower"; + rel2.to: "shower"; + map { + on: 1; + smooth: 1; + zoom.x: 0.6; + zoom.y: 0.6; + } + } + 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; + } + } + part { name: "clipper"; + type: IMAGE; + mouse_events: 0; + description { state: "default" 0.0; + color: 255 255 255 0; + image.normal: "circle_mask.png"; + visible: 1; + map { + on: 1; + smooth: 1; + zoom.x: 0.6; + zoom.y: 0.6; + } + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + map { + on: 1; + smooth: 1; + zoom.x: 1; + zoom.y: 1; + } + } + description { state: "visible_default" 0.0; + inherit: "visible" 0.0; + 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; + target: "shower"; + target: "clipper"; + target: "e.swallow.content"; + target: "under"; + after: "show2"; + } + program { name: "show2"; + action: STATE_SET "visible" 0.0; + transition: CUBIC_BEZIER 0.4 0.25 0.46 0.45 1.0; + target: "shower"; + target: "clipper"; + target: "e.swallow.content"; + target: "under"; + after: "show3"; + } + program { name: "show3"; + action: STATE_SET "visible_default" 0.0; + target: "under"; + target: "e.swallow.content"; + after: "done"; + } + program { name: "hide1"; + signal: "e,action,go"; + source: "e"; + filter: "shower" "visible"; + action: STATE_SET "visible" 0.0; + target: "shower"; + target: "clipper"; + target: "e.swallow.content"; + target: "under"; + after: "hide2"; + } + program { name: "hide2"; + action: STATE_SET "hide" 0.0; + transition: CUBIC_BEZIER 0.4 0.25 0.46 0.45 1.0; + target: "shower"; + target: "clipper"; + target: "e.swallow.content"; + target: "under"; + after: "hide3"; + } + program { name: "hide3"; + action: STATE_SET "default" 0.0; + target: "shower"; + target: "clipper"; + target: "e.swallow.content"; + target: "under"; + after: "done"; + } + program { name: "restack,show1"; + signal: "e,action,go"; + source: "e"; + filter: "shower" "restack_hidden"; + action: STATE_SET "restack_hidden" 0.0; + target: "shower"; + target: "clipper"; + target: "e.swallow.content"; + target: "under"; + after: "restack,show2"; + } + program { name: "restack,show2"; + action: STATE_SET "visible" 0.0; + transition: CUBIC_BEZIER 0.4 0.25 0.46 0.45 1.0; + target: "shower"; + target: "clipper"; + target: "e.swallow.content"; + target: "under"; + after: "restack,show3"; + } + program { name: "restack,show3"; + action: STATE_SET "visible_default" 0.0; + target: "e.swallow.content"; + target: "under"; + after: "done"; + } + program { name: "restack,hide1"; + signal: "e,action,go"; + source: "e"; + filter: "shower" "restack_visible"; + action: STATE_SET "restack_visible" 0.0; + target: "shower"; + target: "clipper"; + target: "e.swallow.content"; + target: "under"; + after: "restack,hide2"; + } + program { name: "restack,hide2"; + action: STATE_SET "hide" 0.0; + transition: CUBIC_BEZIER 0.4 0.25 0.46 0.45 1.0; + target: "shower"; + target: "clipper"; + target: "e.swallow.content"; + target: "under"; + 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"; + target: "under"; + after: "done"; + } + program { name: "done"; + action: SIGNAL_EMIT "e,action,done" "e"; + } + } +} diff --git a/data/img/circle_mask.png b/data/img/circle_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..9c42a1881153b6e27d09d7ca88952a9af1eb90d8 GIT binary patch literal 6776 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 RbRT{TGBdF