summaryrefslogtreecommitdiffstats
path: root/data/themes/default/edc/elm/focus.edc
diff options
context:
space:
mode:
Diffstat (limited to 'data/themes/default/edc/elm/focus.edc')
-rw-r--r--data/themes/default/edc/elm/focus.edc304
1 files changed, 304 insertions, 0 deletions
diff --git a/data/themes/default/edc/elm/focus.edc b/data/themes/default/edc/elm/focus.edc
new file mode 100644
index 0000000..5c06179
--- /dev/null
+++ b/data/themes/default/edc/elm/focus.edc
@@ -0,0 +1,304 @@
+group { name: "elm/focus_highlight/top/default";
+ 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 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);
+ }
+
+ 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;
+
+ 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(0.2, "animator1", 1);
+ }
+ }
+ }
+ parts {
+ part { name: "base"; type: RECT;
+ clip_to: "clip";
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+ description { state: "move_down" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0 1;
+ rel2.relative: 1 2;
+ }
+ description { state: "move_up" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 0 -1;
+ rel2.relative: 1 0;
+ }
+ description { state: "move_left" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: -1 0;
+ rel2.relative: 0 1;
+ }
+ description { state: "move_right" 0.0;
+ inherit: "default" 0.0;
+ rel1.relative: 1 0;
+ rel2.relative: 2 1;
+ }
+ }
+ part { name: "clip"; type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ color: 255 255 255 255;
+ rel1.relative: -1 -1;
+ rel2.relative: 2 2;
+ }
+ description { state: "move_down" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 0;
+ }
+ description { state: "move_up" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 0 ;
+ }
+ description { state: "move_left" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 0;
+ }
+ description { state: "move_right" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 0 ;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ }
+ description { state: "invisible" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 0;
+ }
+ }
+ 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;
+ }
+ }
+ 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 "invisible" 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";
+ }
+ program { name: "move_down";
+ signal: "elm,action,focus,move,down";
+ source: "elm";
+ transition: LIN 0.3;
+ action: STATE_SET "move_down" 0.0;
+ target: "base";
+ target: "clip";
+ after: "move_down_end";
+ }
+ program { name: "move_down_end";
+ action: SIGNAL_EMIT "elm,focus,move,down,end" "elm";
+ }
+ program { name: "move_up";
+ signal: "elm,action,focus,move,up";
+ source: "elm";
+ transition: LIN 0.3;
+ action: STATE_SET "move_up" 0.0;
+ target: "base";
+ target: "clip";
+ after: "move_up_end";
+ }
+ program { name: "move_up_end";
+ action: SIGNAL_EMIT "elm,focus,move,up,end" "elm";
+ }
+ program { name: "move_home_from_up";
+ signal: "elm,action,focus,move,home,up";
+ source: "elm";
+ action: STATE_SET "move_up" 0.0;
+ target: "base";
+ target: "clip";
+ after: "move_home_from_up2";
+ }
+ program { name: "move_home_from_up2";
+ action: STATE_SET "default" 0.0;
+ transition: LIN 0.3;
+ target: "base";
+ target: "clip";
+ }
+ program { name: "move_home_from_down";
+ signal: "elm,action,focus,move,home,down";
+ source: "elm";
+ action: STATE_SET "move_down" 0.0;
+ target: "base";
+ target: "clip";
+ after: "move_home_from_down2";
+ }
+ program { name: "move_home_from_down2";
+ action: STATE_SET "default" 0.0;
+ transition: LIN 0.3;
+ target: "base";
+ target: "clip";
+ }
+ program { name: "move_left";
+ signal: "elm,action,focus,move,left";
+ source: "elm";
+ transition: LIN 0.3;
+ action: STATE_SET "move_left" 0.0;
+ target: "base";
+ target: "clip";
+ after: "move_left_end";
+ }
+ program { name: "move_left_end";
+ action: SIGNAL_EMIT "elm,focus,move,left,end" "elm";
+ }
+ program { name: "move_right";
+ signal: "elm,action,focus,move,right";
+ source: "elm";
+ transition: LIN 0.3;
+ action: STATE_SET "move_right" 0.0;
+ target: "base";
+ target: "clip";
+ after: "move_right_end";
+ }
+ program { name: "move_right_end";
+ action: SIGNAL_EMIT "elm,focus,move,right,end" "elm";
+ }
+ program { name: "move_home_from_right";
+ signal: "elm,action,focus,move,home,right";
+ source: "elm";
+ action: STATE_SET "move_right" 0.0;
+ target: "base";
+ target: "clip";
+ after: "move_home_from_right2";
+ }
+ program { name: "move_home_from_right2";
+ action: STATE_SET "default" 0.0;
+ transition: LIN 0.3;
+ target: "base";
+ target: "clip";
+ }
+ program { name: "move_home_from_left";
+ signal: "elm,action,focus,move,home,left";
+ source: "elm";
+ action: STATE_SET "move_left" 0.0;
+ target: "base";
+ target: "clip";
+ after: "move_home_from_left2";
+ }
+ program { name: "move_home_from_left2";
+ action: STATE_SET "default" 0.0;
+ transition: LIN 0.3;
+ target: "base";
+ target: "clip";
+ }
+ }
+}