diff options
Diffstat (limited to 'data/themes/default/edc/elm/focus.edc')
-rw-r--r-- | data/themes/default/edc/elm/focus.edc | 304 |
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"; + } + } +} |