forked from enlightenment/efl
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
456 lines
15 KiB
456 lines
15 KiB
// c1 - c4 |
|
// |base| |
|
// | | |
|
// c3 - c2 |
|
#define OUTER_BASE_PARTS(w, h) \ |
|
part { name: "base"; type: SPACER; \ |
|
description { \ |
|
state: "default" 0.0; } } \ |
|
part { name: "c1"; type: SPACER; \ |
|
description { state: "default" 0.0; \ |
|
rel1.to: "base"; \ |
|
rel2.to: "base"; \ |
|
rel2.relative: 0 0; \ |
|
align: 1 1; \ |
|
min: w h; \ |
|
max: w h; } } \ |
|
part { name: "c3"; type: SPACER; \ |
|
description { state: "default" 0.0; \ |
|
rel1.to: "base"; \ |
|
rel2.to: "base"; \ |
|
rel1.relative: 0 1; \ |
|
rel2.relative: 0 1; \ |
|
align: 1 0; \ |
|
min: w h; \ |
|
max: w h; } } \ |
|
part { name: "c4"; type: SPACER; \ |
|
description { state: "default" 0.0; \ |
|
rel1.to: "base"; \ |
|
rel2.to: "base"; \ |
|
rel1.relative: 1 0; \ |
|
rel2.relative: 1 0; \ |
|
min: w h; \ |
|
max: w h; } } \ |
|
part { name: "c2"; type: SPACER; \ |
|
mouse_events: 0; \ |
|
description { state: "default" 0.0; \ |
|
rel1.to: "base"; \ |
|
rel1.relative: 1 1; \ |
|
rel2.to: "base"; \ |
|
rel2.relative: 1 1; \ |
|
align: 0 0; \ |
|
min: w h; \ |
|
max: w h; } } |
|
|
|
collections { |
|
group { name: "elm/focus_highlight/top/glow"; |
|
images { |
|
image: "border6.png" COMP; |
|
} |
|
data.item: "animate" "on"; |
|
|
|
script { |
|
public src_x, src_y, src_w, src_h; |
|
public diffx, diffy, diffw, diffh; |
|
public anim_highlight(val, Float:pos) { |
|
new x, y, w, h, dx, dy, dw, dh; |
|
|
|
dx = round(float_mul(float(get_int(diffx)), pos)); |
|
x = get_int(src_x) + dx; |
|
dy = round(float_mul(float(get_int(diffy)), pos)); |
|
y = get_int(src_y) + dy; |
|
dw = round(float_mul(float(get_int(diffw)), pos)); |
|
w = get_int(src_w) + dw; |
|
dh = round(float_mul(float(get_int(diffh)), pos)); |
|
h = get_int(src_h) + dh; |
|
|
|
update_offset(x, y, w, h); |
|
|
|
if(pos >= 1.0) { |
|
emit("elm,action,focus,anim,end", ""); |
|
set_state(PART:"highlight", "default", 0.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; |
|
|
|
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(src_x, x1); |
|
set_int(src_y, y1); |
|
set_int(src_w, w1); |
|
set_int(src_h, h1); |
|
set_int(diffx, x2 - x1); |
|
set_int(diffy, y2 - y1); |
|
set_int(diffw, w2 - w1); |
|
set_int(diffh, 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, "anim_highlight", 0); |
|
} |
|
} |
|
} //script ends |
|
parts { |
|
OUTER_BASE_PARTS(12, 12); |
|
part { name: "highlight"; type: IMAGE; |
|
mouse_events: 0; |
|
description { state: "default" 0.0; |
|
image.normal: "border6.png"; |
|
image.border: 20 20 20 20; |
|
rel1.to: "c1"; |
|
rel2.to: "c2"; |
|
} |
|
description { state: "visible" 0.0; |
|
inherit: "default" 0.0; |
|
} |
|
description { state: "invisible" 0.0; |
|
inherit: "default" 0.0; |
|
visible: 0; |
|
} |
|
} |
|
} //parts ends |
|
programs { |
|
program { name: "show"; |
|
signal: "elm,action,focus,show"; |
|
source: "elm"; |
|
action: ACTION_STOP; |
|
target: "hide"; |
|
target: "hide_start"; |
|
target: "hide_end"; |
|
after: "show_start"; |
|
} |
|
program { name: "show_start"; |
|
action: STATE_SET "visible" 0.0; |
|
transition: SIN 0.2; |
|
target: "highlight"; |
|
after: "show_end"; |
|
} |
|
program { name: "show_end"; |
|
action: SIGNAL_EMIT "elm,action,focus,show,end" ""; |
|
} |
|
program { name: "hide"; |
|
signal: "elm,action,focus,hide"; |
|
source: "elm"; |
|
action: ACTION_STOP; |
|
target: "show"; |
|
target: "show_start"; |
|
target: "show_end"; |
|
after: "hide_start"; |
|
} |
|
program { name: "hide_start"; |
|
action: STATE_SET "invisible" 0.0; |
|
transition: SIN 0.2; |
|
target: "highlight"; |
|
after: "hide_end"; |
|
} |
|
program { name: "hide_end"; |
|
action: SIGNAL_EMIT "elm,action,focus,hide,end" ""; |
|
} |
|
} //programs ends |
|
} //group ends |
|
|
|
group { name: "elm/focus_highlight/top/glow_effect"; |
|
inherit: "elm/focus_highlight/top/glow"; |
|
images { |
|
image: "border.png" COMP; |
|
image: "border2.png" COMP; |
|
image: "border3.png" COMP; |
|
image: "border4.png" COMP; |
|
image: "border5.png" COMP; |
|
image: "border6.png" COMP; |
|
} |
|
data.item: "animate" "on"; |
|
|
|
script { |
|
public src_x, src_y, src_w, src_h; |
|
public diffx, diffy, diffw, diffh; |
|
public anim_highlight(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(diffx)), p)); |
|
x = get_int(src_x) + dx; |
|
dy = round(float_mul(float(get_int(diffy)), p)); |
|
y = get_int(src_y) + dy; |
|
dw = round(float_mul(float(get_int(diffw)), p)); |
|
w = get_int(src_w) + dw; |
|
dh = round(float_mul(float(get_int(diffh)), p)); |
|
h = get_int(src_h) + dh; |
|
|
|
update_offset(x, y, w, h); |
|
|
|
if(pos >= 1.0) { |
|
emit("elm,action,focus,anim,end", ""); |
|
set_state(PART:"highlight", "default", 0.0); |
|
emit("dim", ""); |
|
} |
|
} |
|
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(src_x, x1); |
|
set_int(src_y, y1); |
|
set_int(src_w, w1); |
|
set_int(src_h, h1); |
|
set_int(diffx, x2 - x1); |
|
set_int(diffy, y2 - y1); |
|
set_int(diffw, w2 - w1); |
|
set_int(diffh, 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, "anim_highlight", 0); |
|
} |
|
} |
|
} //script ends |
|
parts { |
|
part { name: "highlight"; type: IMAGE; |
|
mouse_events: 0; |
|
description { state: "default" 0.0; |
|
image.normal: "border6.png"; |
|
image.border: 16 16 16 16; |
|
rel1.to: "c1"; |
|
rel2.to: "c2"; |
|
visible: 1; |
|
} |
|
description { state: "visible" 0.0; |
|
inherit: "default" 0.0; |
|
} |
|
description { state: "visible" 0.1; |
|
inherit: "visible" 0.0; |
|
image.normal: "border2.png"; |
|
image.border: 18 18 18 18; |
|
} |
|
description { state: "visible" 0.2; |
|
inherit: "visible" 0.0; |
|
image.normal: "border3.png"; |
|
image.border: 19 19 19 19; |
|
} |
|
description { state: "visible" 0.3; |
|
inherit: "visible" 0.0; |
|
image.normal: "border4.png"; |
|
image.border: 20 20 20 20; |
|
} |
|
description { state: "visible" 0.4; |
|
inherit: "visible" 0.0; |
|
image.normal: "border5.png"; |
|
image.border: 21 21 21 21; |
|
} |
|
description { state: "visible" 0.5; |
|
inherit: "visible" 0.0; |
|
image.normal: "border6.png"; |
|
image.border: 25 25 25 25; |
|
} |
|
description { state: "invisible" 0.0; |
|
inherit: "default" 0.0; |
|
visible: 0; |
|
} |
|
} |
|
}//parts ends |
|
programs { |
|
program { name: "show"; |
|
signal: "elm,action,focus,show"; |
|
source: "elm"; |
|
action: ACTION_STOP; |
|
target: "hide"; |
|
target: "hide_start"; |
|
target: "hide_end"; |
|
after: "show_start"; |
|
} |
|
program { name: "show_start"; |
|
action: SIGNAL_EMIT "dim" ""; |
|
after: "show_end"; |
|
} |
|
program { name: "dim_start"; |
|
signal: "dim"; |
|
in: 2 0.4; |
|
source: ""; |
|
action: STATE_SET "visible" 0.4; |
|
transition: SINUSOIDAL 0.2; |
|
target: "highlight"; |
|
after: "dim1"; |
|
} |
|
program { name: "dim1"; |
|
action: STATE_SET "visible" 0.3; |
|
transition: SINUSOIDAL 0.2; |
|
target: "highlight"; |
|
after: "dim2"; |
|
} |
|
program { name: "dim2"; |
|
action: STATE_SET "visible" 0.2; |
|
transition: SINUSOIDAL 0.2; |
|
target: "highlight"; |
|
after: "dim3"; |
|
} |
|
program { name: "dim3"; |
|
action: STATE_SET "visible" 0.1; |
|
transition: SINUSOIDAL 0.2; |
|
target: "highlight"; |
|
after: "dim_end"; |
|
} |
|
program { name: "dim_end"; |
|
action: SIGNAL_EMIT "glow" ""; |
|
} |
|
program { name: "glow_start"; |
|
signal: "glow"; |
|
source: ""; |
|
in: 1 0.4; |
|
action: STATE_SET "visible" 0.0; |
|
transition: SINUSOIDAL 0.2; |
|
target: "highlight"; |
|
after: "glow1"; |
|
} |
|
program { name: "glow1"; |
|
action: STATE_SET "visible" 0.1; |
|
transition: SINUSOIDAL 0.2; |
|
target: "highlight"; |
|
after: "glow2"; |
|
} |
|
program { name: "glow2"; |
|
action: STATE_SET "visible" 0.2; |
|
transition: SINUSOIDAL 0.2; |
|
target: "highlight"; |
|
after: "glow3"; |
|
} |
|
program { name: "glow3"; |
|
action: STATE_SET "visible" 0.3; |
|
transition: SINUSOIDAL 0.2; |
|
target: "highlight"; |
|
after: "glow4"; |
|
} |
|
program { name: "glow4"; |
|
action: STATE_SET "visible" 0.4; |
|
transition: SINUSOIDAL 0.2; |
|
target: "highlight"; |
|
after: "glow5"; |
|
} |
|
program { name: "glow5"; |
|
action: STATE_SET "visible" 0.5; |
|
transition: SINUSOIDAL 0.2; |
|
target: "highlight"; |
|
after: "glow1"; |
|
} |
|
program { name: "show_end"; |
|
action: SIGNAL_EMIT "elm,action,focus,show,end" ""; |
|
} |
|
program { name: "hide"; |
|
signal: "elm,action,focus,hide"; |
|
source: "elm"; |
|
action: ACTION_STOP; |
|
target: "show"; |
|
target: "show_start"; |
|
target: "show_end"; |
|
after: "hide_start"; |
|
} |
|
program { name: "hide_start"; |
|
action: STATE_SET "invisible" 0.0; |
|
transition: LIN 0.2; |
|
target: "highlight"; |
|
after: "hide_end"; |
|
} |
|
program { name: "hide_end"; |
|
action: SIGNAL_EMIT "elm,action,focus,hide,end" ""; |
|
} |
|
} //programs ends |
|
} //group ends |
|
|
|
group { name: "elm/layout/focus/example"; |
|
data.item: "focus_part" "focus_area"; |
|
parts { |
|
part { name: "bg"; type: RECT; |
|
scale: 1; |
|
description { state: "default" 0.0; |
|
color: 255 255 0 255; |
|
min: 150 40; |
|
max: 150 40; |
|
} |
|
} |
|
part { name: "elm.text"; type: TEXT; |
|
scale: 1; |
|
description { state: "default" 0.0; |
|
rel1.to: "bg"; |
|
rel2.to: "bg"; |
|
text.text: "layout"; |
|
text.size: 9; |
|
color: 0 0 0 255; |
|
} |
|
} |
|
part { name: "focus_area"; type: RECT; |
|
scale: 1; |
|
description { state: "default" 0.0; |
|
rel1.to: "bg"; |
|
rel2.to: "bg"; |
|
rel2.relative: 0 0; |
|
align: 0 0; |
|
min: 60 30; |
|
max: 60 30; |
|
fixed: 1 1; |
|
color: 125 125 125 125; |
|
} |
|
} |
|
part { name: "elm.text1"; type: TEXT; |
|
scale: 1; |
|
description { state: "default" 0.0; |
|
rel1.to: "focus_area"; |
|
rel2.to: "focus_area"; |
|
text.text: "focus_part"; |
|
text.size: 9; |
|
color: 255 0 255 255; |
|
} |
|
} |
|
} |
|
} //group ends |
|
|
|
#include "../../../data/elementary/themes/snd.edc" |
|
#include "../../../data/elementary/themes/ic.edc" |
|
#include "../../../data/elementary/themes/macros.edc" |
|
#include "../../../data/elementary/themes/fonts.edc" |
|
#include "../../../data/elementary/themes/colorclasses.edc" |
|
|
|
// to customize check default style |
|
#include "../../../data/elementary/themes/edc/elm/check.edc" |
|
group { name: "elm/check/base/focus_text"; |
|
data.item: "focus_part" "elm.text"; |
|
inherit: "elm/check/base/default"; |
|
} |
|
|
|
// to customize button default style |
|
#include "../../../data/elementary/themes/edc/elm/button.edc" |
|
group { name: "elm/button/base/focus_icon"; |
|
data.item: "focus_part" "elm.swallow.content"; |
|
inherit: "elm/button/base/default"; |
|
} |
|
}
|
|
|