devilhorns pushed a commit to branch feature/wayland/multioutput.

http://git.enlightenment.org/core/efl.git/commit/?id=3286cbc5d9721b48f5d16d577a088460b3424963

commit 3286cbc5d9721b48f5d16d577a088460b3424963
Author: Amitesh Singh <amitesh...@samsung.com>
Date:   Wed Apr 11 17:46:37 2018 +0900

    theme: focus - remove elm focus highlight inheritance.
---
 data/elementary/themes/edc/efl/focus.edc | 178 ++++++++++++++++++++++++++++++-
 1 file changed, 174 insertions(+), 4 deletions(-)

diff --git a/data/elementary/themes/edc/efl/focus.edc 
b/data/elementary/themes/edc/efl/focus.edc
index d7c3b78f19..426f869399 100644
--- a/data/elementary/themes/edc/efl/focus.edc
+++ b/data/elementary/themes/edc/efl/focus.edc
@@ -1,7 +1,177 @@
-group { "efl/focus_highlight/top";
-   inherit: "elm/focus_highlight/top/default";
+group { name: "efl/focus_highlight/top";
+   images.image: "box_glow.png" COMP;
+   images.image: "box_outline.png" COMP;
+   data.item: "animate" "on";
+   script {
+      public s_x, s_y, s_w, s_h; /* source */
+      public difx, dify, difw, difh;
+      public g_anim_id;
+
+      public animator1(val, Float:pos) {
+         new x, y, w, h, dx, dy, dw, dh, Float:p;
+         p = 1.0 - ((1.0 - pos) * (1.0 - pos) * (1.0 - pos));
+         dx = round(float_mul(float(get_int(difx)), p));
+         x = get_int(s_x) + dx;
+         dy = round(float_mul(float(get_int(dify)), p));
+         y = get_int(s_y) + dy;
+         dw = round(float_mul(float(get_int(difw)), p));
+         w = get_int(s_w) + dw;
+         dh = round(float_mul(float(get_int(difh)), p));
+         h = get_int(s_h) + dh;
+         update_offset(x, y, w, h);
+
+         if (pos >= 1.0) {
+            set_int(g_anim_id, 0);
+         }
+      }
+
+      public update_offset(x, y, w, h) {
+         set_state_val(PART:"base", STATE_REL1_OFFSET, x, y);
+         set_state_val(PART:"base", STATE_REL2_OFFSET, x + w, y + h);
+      }
+
+      public message(Msg_Type:type, id, ...) {
+         if ((type == MSG_INT_SET) && (id == 1)) {
+            new x1, y1, w1, h1, x2, y2, w2, h2;
+            new anim_id;
+            
+            anim_id = get_int(g_anim_id);
+            if (anim_id != 0) {
+               cancel_anim(anim_id);
+            }
+
+            x1 = getarg(2);
+            y1 = getarg(3);
+            w1 = getarg(4);
+            h1 = getarg(5);
+            x2 = getarg(6);
+            y2 = getarg(7);
+            w2 = getarg(8);
+            h2 = getarg(9);
+
+            set_int(s_x, x1);
+            set_int(s_y, y1);
+            set_int(s_w, w1);
+            set_int(s_h, h1);
+            set_int(difx, x2 - x1);
+            set_int(dify, y2 - y1);
+            set_int(difw, w2 - w1);
+            set_int(difh, h2 - h1);
+
+            custom_state(PART:"base", "default", 0.0);
+            set_state_val(PART:"base", STATE_REL1, 0.0, 0.0);
+            set_state_val(PART:"base", STATE_REL2, 0.0, 0.0);
+            update_offset(x1, y1, w1, h1);
+            set_state(PART:"base", "custom", 0.0);
+            
+            anim_id = anim(0.2, "animator1", 1);
+            set_int(g_anim_id, anim_id);
+         }
+      }
+   }
+   parts {
+      part { name: "base"; type: SPACER;
+         description { state: "default" 0.0;
+            fixed: 1 1;
+         }
+      }
+      part { name: "clip"; type: RECT;
+         description { state: "default" 0.0;
+            rel1.to: "glow";
+            rel2.to: "glow";
+            color: 255 255 255 0;
+         }
+         description { state: "visible" 0.0;
+            inherit: "default" 0.0;
+            color: 255 255 255 255;
+         }
+      }
+      part { name: "glow"; mouse_events: 0;
+         clip_to: "clip";
+         description { state: "default" 0.0;
+            image.normal: "box_glow.png";
+            image.border: 12 12 12 12;
+            image.middle: 0;
+            fill.smooth: 0;
+            rel1.to: "base";
+            rel1.offset: -7 -7;
+            rel2.to: "base";
+            rel2.offset: 5 5;
+         }
+      }
+      part { name: "sel"; mouse_events: 0;
+         clip_to: "clip";
+         description { state: "default" 0.0;
+            image.normal: "box_outline.png";
+            image.border: 12 12 12 12;
+            image.middle: 0;
+            fill.smooth: 0;
+            rel1.to: "glow";
+            rel2.to: "glow";
+            color: 255 255 255 0;
+         }
+         description { state: "hi" 0.0;
+            inherit: "default" 0.0;
+            color: 255 255 255 255;
+         }
+      }
+   }
+   programs {
+      program {
+         signal: "elm,action,focus,show"; source: "elm";
+         action: ACTION_STOP;
+         target: "pulse";
+         target: "pulse2";
+         after: "go2";
+      }
+      program { name: "go2";
+         action: STATE_SET "visible" 0.0;
+         transition: DECELERATE 0.2;
+         target: "clip";
+         after: "pulse";
+         after: "go3";
+      }
+      program { name: "go3";
+         action: SIGNAL_EMIT "elm,action,focus,show,end" "elm";
+      }
+      program {
+         signal: "elm,action,focus,hide"; source: "elm";
+         action: STATE_SET "default" 0.0;
+         transition: DECELERATE 0.4;
+         target: "clip";
+         after: "stop2";
+      }
+      program { name: "stop2";
+         action: SIGNAL_EMIT "elm,action,focus,hide,end" "elm";
+         after: "stop3";
+      }
+      program { name: "stop3";
+         action: ACTION_STOP;
+         target: "pulse";
+         target: "pulse2";
+      }
+      program { name: "pulse";
+         action: STATE_SET "hi" 0.0;
+         transition: SINUSOIDAL 0.2;
+         in: 3.0 0.0;
+         target: "sel";
+         after: "pulse2";
+      }
+      program { name: "pulse2";
+         action: STATE_SET "default" 0.0;
+         transition: SINUSOIDAL 0.4;
+         target: "sel";
+         after: "pulse";
+      }
+      program {
+         signal: "elm,state,anim,stop"; source: "elm";
+         action: STATE_SET "default" 0.0;
+         target: "base";
+      }
+   }
 }
 
-group { "efl/focus_highlight/top:blank";
-   inherit: "elm/focus_highlight/top/blank";
+group { name: "efl/focus_highlight/top:blank";
+   parts {
+   }
 }

-- 


Reply via email to