efl/data/elementary/themes/edc/efl/button.edc

784 lines
24 KiB
Plaintext

group { name: "efl/button";
images.image: "button_normal.png" COMP;
images.image: "button_clicked.png" COMP;
#undef ICON
#define ICON 1
#define LABEL 2
#define MASK 3
#define DISABLE 4
#define PRESSED 8
#define BACKGROUND 16
script {
public btmode;
public eval_mode(m) {
new m1 = m & MASK;
new d = m & DISABLE;
new p = m & PRESSED;
new bg = m & BACKGROUND;
if (bg) {
set_state(PART:"base", "hidden", 0.0);
set_state(PART:"elm.swallow.background", "visible", 0.0);
} else {
set_state(PART:"elm.swallow.background", "default", 0.0);
if (!d) {
if (!p)
{
set_state(PART:"base", "default", 0.0);
set_state(PART:"base", "default", 0.0);
}
else {
set_state(PART:"base", "pressed", 0.0);
}
} else {
set_state(PART:"base", "disabled", 0.0);
}
}
if (m1 == (ICON | LABEL)) {
if (!d) {
set_state(PART:"elm.swallow.content", "visible", 0.0);
set_state(PART:"sizer.content", "visible", 0.0);
set_state(PART:"event", "default", 0.0);
if (!p) {
set_state(PART:"elm.text", "visible", 0.0);
set_state(PART:"icon_clip", "default", 0.0);
} else {
set_state(PART:"elm.text", "pressed_visible", 0.0);
set_state(PART:"icon_clip", "pressed", 0.0);
}
} else {
set_state(PART:"elm.swallow.content", "visible", 0.0);
set_state(PART:"sizer.content", "visible", 0.0);
set_state(PART:"elm.text", "disabled_visible", 0.0);
set_state(PART:"icon_clip", "disabled", 0.0);
set_state(PART:"event", "disabled", 0.0);
}
} else if (m1 == (ICON)) {
if (!d) {
set_state(PART:"elm.swallow.content", "icononly", 0.0);
set_state(PART:"sizer.content", "icononly", 0.0);
set_state(PART:"event", "default", 0.0);
set_state(PART:"elm.text", "default", 0.0);
if (!p)
set_state(PART:"icon_clip", "default", 0.0);
else
set_state(PART:"icon_clip", "pressed", 0.0);
} else {
set_state(PART:"elm.swallow.content", "icononly", 0.0);
set_state(PART:"sizer.content", "icononly", 0.0);
set_state(PART:"elm.text", "default", 0.0);
set_state(PART:"icon_clip", "disabled", 0.0);
set_state(PART:"event", "disabled", 0.0);
}
} else if (m1 == (LABEL)) {
if (!d) {
set_state(PART:"elm.swallow.content", "default", 0.0);
set_state(PART:"sizer.content", "default", 0.0);
set_state(PART:"icon_clip", "default", 0.0);
set_state(PART:"event", "default", 0.0);
if (!p)
set_state(PART:"elm.text", "textonly", 0.0);
else
set_state(PART:"elm.text", "pressed_textonly", 0.0);
} else {
set_state(PART:"elm.swallow.content", "default", 0.0);
set_state(PART:"sizer.content", "default", 0.0);
set_state(PART:"elm.text", "disabled_textonly", 0.0);
set_state(PART:"icon_clip", "disabled", 0.0);
set_state(PART:"event", "disabled", 0.0);
}
} else {
if (!d) {
set_state(PART:"elm.swallow.content", "default", 0.0);
set_state(PART:"sizer.content", "default", 0.0);
set_state(PART:"icon_clip", "default", 0.0);
set_state(PART:"event", "default", 0.0);
} else {
set_state(PART:"elm.swallow.content", "default", 0.0);
set_state(PART:"sizer.content", "default", 0.0);
set_state(PART:"icon_clip", "disabled", 0.0);
set_state(PART:"event", "disabled", 0.0);
}
}
}
}
parts {
image { "base";
desc { "default";
image.normal: "button_normal.png";
image.border: 4 4 3 5;
image.middle: SOLID;
rel1.offset: -1 0;
rel2.offset: 0 1;
fill.smooth: 0;
color_class: "button_bg";
}
desc { "pressed";
inherit: "default";
image.normal: "button_clicked.png";
image.border: 5 5 4 6;
color_class: "button_bg_pressed";
}
desc { "disabled";
inherit: "default";
color_class: "button_bg_disabled";
}
desc { "hidden";
inherit: "default";
visible: 0;
}
}
swallow { "elm.swallow.background"; nomouse;
required;
desc { "default";
rel1.to: "base";
rel2.to: "base";
visible: 0;
}
desc { "visible";
inherit: "default";
visible: 1;
}
}
rect { "icon_clip";
desc { "default";
color_class: "button_icon";
}
desc { "pressed";
inherit: "default";
color_class: "button_icon_pressed";
}
desc { "disabled";
inherit: "default";
color_class: "button_icon_disabled";
}
}
swallow { "elm.swallow.content"; nomouse;
clip_to: "icon_clip";
required;
desc { "default";
fixed: 1 0;
align: 0.0 0.5;
rel1.offset: 6 5;
rel1.to: "base";
rel2.relative: 0.0 1.0;
rel2.offset: 6 -8;
rel2.to: "base";
visible: 0;
}
desc { "visible";
inherit: "default";
fixed: 1 0;
aspect: 1.0 1.0;
visible: 1;
}
desc { "icononly";
inherit: "default";
fixed: 0 0;
align: 0.5 0.5;
rel2.relative: 1.0 1.0;
rel2.offset: -7 -8;
visible: 1;
}
}
text { "sizer.content"; nomouse;
scale: 1;
desc { "default";
// fixed: 1 1;
visible: 0;
text { font: FN; size: 10;
min: 0 0;
text_class: "button_text";
}
}
desc { "visible";
inherit: "default";
rel1.to: "elm.swallow.content";
rel2.to: "elm.swallow.content";
text {
min: 1 1;
ellipsis: -1;
text: "M";
}
}
desc { "icononly";
inherit: "default";
rel1.to: "elm.swallow.content";
rel2.to: "elm.swallow.content";
text {
min: 1 1;
ellipsis: -1;
text: "M";
}
}
}
text { "elm.text"; nomouse;
effect: SHADOW BOTTOM;
scale;
required;
desc { "default";
rel1.offset: 0 5;
rel1.relative: 1.0 0.0;
rel1.to_x: "elm.swallow.content";
rel1.to_y: "base";
rel2.offset: -8 -8;
rel2.to: "base";
color_class: "button_text";
color3: 255 255 255 255;
text { font: FN; size: 10;
align: 0.5 0.5;
min: 0 0;
text_class: "button";
}
visible: 0;
fixed: 1 1;
}
desc { "visible";
inherit: "default";
rel1.offset: 2 5;
text.min: 1 1;
text.ellipsis: -1;
visible: 1;
fixed: 0 0;
}
desc { "pressed_visible";
inherit: "default";
rel1.offset: 2 5;
text.min: 1 1;
text.ellipsis: -1;
visible: 1;
fixed: 0 0;
color_class: "button_text_pressed";
}
desc { "textonly";
inherit: "default";
text.min: 1 1;
text.ellipsis: -1;
visible: 1;
fixed: 0 0;
}
desc { "pressed_textonly";
inherit: "default";
text.min: 1 1;
text.ellipsis: -1;
visible: 1;
fixed: 0 0;
color_class: "button_text_pressed";
}
desc { "disabled_visible";
inherit: "default";
rel1.offset: 2 5;
color_class: "button_text_disabled";
color3: 255 255 255 255;
text.min: 1 1;
text.ellipsis: -1;
visible: 1;
fixed: 0 0;
}
desc { "disabled_textonly";
inherit: "default";
color_class: "button_text_disabled";
color3: 255 255 255 255;
text.min: 1 1;
text.ellipsis: -1;
visible: 1;
fixed: 0 0;
}
}
rect { "event";
desc { "default";
color: 0 0 0 0;
}
desc { "disabled";
inherit: "default";
visible: 0;
}
}
}
programs {
program {
signal: "mouse,down,1"; source: "event";
action: SIGNAL_EMIT "action,press" "efl";
after: "button_click_anim";
}
program { name: "button_click_anim";
script {
new m = get_int(btmode);
m |= PRESSED; set_int(btmode, m);
eval_mode(m);
}
}
program { name: "button_unclick";
signal: "mouse,up,1"; source: "event";
action: SIGNAL_EMIT "action,unpress" "efl";
after: "button_unclick_anim";
}
program { name: "button_unclick_anim";
script {
new m = get_int(btmode);
m &= ~PRESSED; set_int(btmode, m);
eval_mode(m);
}
}
program { name: "buttonactivate";
signal: "anim,activate"; source: "efl";
action: STATE_SET "pressed" 0.0;
target: "base";
after: "button_unpressed_anim";
}
program { name: "button_unpressed_anim";
action: STATE_SET "default" 0.0;
in: 0.5 0.0;
target: "base";
}
program {
signal: "mouse,clicked,1"; source: "event";
action: SIGNAL_EMIT "action,click" "efl";
}
program { name: "button_text_visible";
signal: "state,text,set"; source: "efl";
script {
new m = get_int(btmode);
m |= LABEL; set_int(btmode, m);
eval_mode(m);
}
}
program { name: "button_text_hidden";
signal: "state,text,unset"; source: "efl";
script {
new m = get_int(btmode);
m &= ~LABEL; set_int(btmode, m);
eval_mode(m);
}
}
program { name: "button_icon_visible";
signal: "state,content,set"; source: "efl";
script {
new m = get_int(btmode);
m |= ICON; set_int(btmode, m);
eval_mode(m);
}
}
program { name: "button_icon_hidden";
signal: "state,content,unset"; source: "efl";
script {
new m = get_int(btmode);
m &= ~ICON; set_int(btmode, m);
eval_mode(m);
}
}
program { name: "button_background_visible";
signal: "state,background,set"; source: "efl";
script {
new m = get_int(btmode);
m |= BACKGROUND; set_int(btmode, m);
eval_mode(m);
}
}
program { name: "button_background_hidden";
signal: "state,background,unset"; source: "efl";
script {
new m = get_int(btmode);
m &= ~BACKGROUND; set_int(btmode, m);
eval_mode(m);
}
}
program { name: "button_state_disabled";
signal: "state,disabled"; source: "efl";
script {
new m = get_int(btmode);
m |= DISABLE; set_int(btmode, m);
eval_mode(m);
}
}
program { name: "button_state_enabled";
signal: "state,enabled"; source: "efl";
script {
new m = get_int(btmode);
m &= ~DISABLE; set_int(btmode, m);
eval_mode(m);
}
}
}
#undef ICON
#undef LABEL
#undef MASK
#undef DISABLE
#undef PRESSED
#undef BACKGROUND
}
group { name: "efl/button:anchor";
images.image: "horizontal_separated_bar_small_glow.png" COMP;
#define ICON 1
#define LABEL 2
#define MASK 3
#define DISABLE 4
script {
public btmode;
public eval_mode(m) {
new m1 = m & MASK;
new d = m & DISABLE;
if (m1 == (ICON | LABEL)) {
if (!d) {
set_state(PART:"elm.swallow.content", "visible", 0.0);
set_state(PART:"sizer.content", "visible", 0.0);
set_state(PART:"elm.text", "visible", 0.0);
set_state(PART:"icon_clip", "default", 0.0);
set_state(PART:"bar", "default", 0.0);
set_state(PART:"event", "default", 0.0);
} else {
set_state(PART:"elm.swallow.content", "visible", 0.0);
set_state(PART:"sizer.content", "visible", 0.0);
set_state(PART:"elm.text", "disabled_visible", 0.0);
set_state(PART:"icon_clip", "disabled", 0.0);
set_state(PART:"bar", "disabled", 0.0);
set_state(PART:"event", "disabled", 0.0);
}
} else if (m1 == (ICON)) {
if (!d) {
set_state(PART:"elm.swallow.content", "icononly", 0.0);
set_state(PART:"sizer.content", "icononly", 0.0);
set_state(PART:"elm.text", "default", 0.0);
set_state(PART:"icon_clip", "default", 0.0);
set_state(PART:"bar", "default", 0.0);
set_state(PART:"event", "default", 0.0);
} else {
set_state(PART:"elm.swallow.content", "icononly", 0.0);
set_state(PART:"sizer.content", "icononly", 0.0);
set_state(PART:"elm.text", "default", 0.0);
set_state(PART:"icon_clip", "disabled", 0.0);
set_state(PART:"bar", "disabled", 0.0);
set_state(PART:"event", "disabled", 0.0);
}
} else if (m1 == (LABEL)) {
if (!d) {
set_state(PART:"elm.swallow.content", "default", 0.0);
set_state(PART:"sizer.content", "default", 0.0);
set_state(PART:"elm.text", "textonly", 0.0);
set_state(PART:"icon_clip", "default", 0.0);
set_state(PART:"bar", "default", 0.0);
set_state(PART:"event", "default", 0.0);
} else {
set_state(PART:"elm.swallow.content", "default", 0.0);
set_state(PART:"sizer.content", "default", 0.0);
set_state(PART:"elm.text", "disabled_textonly", 0.0);
set_state(PART:"icon_clip", "disabled", 0.0);
set_state(PART:"bar", "disabled", 0.0);
set_state(PART:"event", "disabled", 0.0);
}
} else {
if (!d) {
set_state(PART:"elm.swallow.content", "default", 0.0);
set_state(PART:"sizer.content", "default", 0.0);
set_state(PART:"icon_clip", "default", 0.0);
set_state(PART:"bar", "default", 0.0);
set_state(PART:"event", "default", 0.0);
} else {
set_state(PART:"elm.swallow.content", "default", 0.0);
set_state(PART:"sizer.content", "default", 0.0);
set_state(PART:"icon_clip", "disabled", 0.0);
set_state(PART:"bar", "disabled", 0.0);
set_state(PART:"event", "disabled", 0.0);
}
}
}
}
parts {
rect { "base";
desc { "default";
color: 0 0 0 0;
}
}
rect { "icon_clip";
desc { "default";
}
desc { "disabled";
inherit: "default";
color: 255 255 255 64;
}
}
swallow { "elm.swallow.background"; nomouse;
desc { "default";
rel1.to: "base";
rel2.to: "base";
visible: 0;
}
desc { "visible";
inherit: "default";
visible: 1;
}
}
swallow { "elm.swallow.content"; nomouse;
clip_to: "icon_clip";
desc { "default";
fixed: 1 0;
align: 0.0 0.5;
rel1.offset: 0 4;
rel1.to: "base";
rel2.relative: 0.0 1.0;
rel2.offset: 0 -5;
rel2.to: "base";
visible: 0;
}
desc { "visible";
inherit: "default";
fixed: 1 0;
aspect: 1.0 1.0;
visible: 1;
}
desc { "icononly";
inherit: "default";
fixed: 0 0;
align: 0.5 0.5;
rel2.relative: 1.0 1.0;
rel2.offset: -1 -5;
visible: 1;
}
}
text { "sizer.content"; nomouse;
scale: 1;
desc { "default";
visible: 0;
text { font: FN; size: 10;
min: 0 0;
text_class: "button_text";
}
}
desc { "visible";
inherit: "default";
rel1.to: "elm.swallow.content";
rel2.to: "elm.swallow.content";
text {
min: 1 1;
ellipsis: -1;
text: "M";
}
}
desc { "icononly";
inherit: "default";
rel1.to: "elm.swallow.content";
rel2.to: "elm.swallow.content";
text {
min: 1 1;
ellipsis: -1;
text: "M";
}
}
}
text { "elm.text"; nomouse;
effect: GLOW;
scale: 1;
desc { "default";
rel1.offset: -2 0;
rel1.relative: 1.0 0.0;
rel1.to_x: "elm.swallow.content";
rel1.to_y: "base";
rel2.offset: -1 -1;
rel2.to: "base";
color_class: "button_text_anchor";
color2: 255 255 255 255;
color3: 255 255 255 255;
text { font: FN; size: 10;
align: 0.5 0.5;
min: 0 0;
text_class: "button_anchor";
}
visible: 0;
}
desc { "visible";
inherit: "default";
rel1.offset: 0 0;
text.min: 1 1;
text.ellipsis: -1;
visible: 1;
}
desc { "textonly";
inherit: "default";
text.min: 1 1;
text.ellipsis: -1;
visible: 1;
}
desc { "disabled_visible";
inherit: "default";
rel1.offset: 0 0;
color_class: "button_text_anchor_disabled";
text.min: 1 1;
text.ellipsis: -1;
visible: 1;
}
desc { "disabled_textonly";
inherit: "default";
color_class: "button_text_anchor_disabled";
text.min: 1 1;
text.ellipsis: -1;
visible: 1;
}
}
text { "text2"; nomouse;
effect: GLOW;
scale: 1;
desc { "default";
fixed: 1 1;
rel1.to: "elm.text";
rel2.to: "elm.text";
color_class: "button_text_anchor";
color2: 255 255 255 255;
color3: 255 255 255 255;
text { font: FN; size: 10;
text_source: "elm.text";
min: 1 1;
ellipsis: -1;
text_class: "button_anchor";
}
visible: 0;
}
desc { "clicked";
inherit: "default";
visible: 1;
}
}
image { "bar"; nomouse;
desc { "default";
image.normal: "horizontal_separated_bar_small_glow.png";
image.border: 4 4 4 4;
fill.smooth: 0;
fixed: 0 1;
rel1.relative: 0.0 1.0;
rel1.offset: -3 -6;
rel2.offset: 2 3;
}
desc { "disabled";
inherit: "default";
color: 255 255 255 64;
}
}
image { "bar2"; nomouse;
desc { "default";
image.normal: "horizontal_separated_bar_small_glow.png";
image.border: 4 4 4 4;
fill.smooth: 0;
rel1.to: "bar";
rel2.to: "bar";
color: 255 255 255 0;
visible: 0;
}
desc { "clicked";
inherit: "default";
color: 255 255 255 255;
visible: 1;
}
}
rect { "event";
desc { "default";
color: 0 0 0 0;
}
desc { "disabled";
inherit: "default";
visible: 0;
}
}
}
programs {
program {
signal: "mouse,down,1"; source: "event";
action: SIGNAL_EMIT "action,press" "efl";
after: "button_click_anim";
}
program { name: "button_click_anim";
action: STATE_SET "clicked" 0.0;
target: "bar2";
target: "text2";
}
program {
signal: "mouse,up,1"; source: "event";
action: SIGNAL_EMIT "action,unpress" "efl";
after: "button_unclick_anim";
}
program { name: "button_unclick_anim";
action: STATE_SET "default" 0.0;
target: "bar2";
target: "text2";
}
program {
signal: "anim,activate"; source: "efl";
action: STATE_SET "clicked" 0.0;
target: "bar2";
target: "text2";
after: "button_unpressed_anim";
}
program { name: "button_unpressed_anim";
action: STATE_SET "default" 0.0;
in: 0.5 0.0;
target: "bar2";
target: "text2";
}
program {
signal: "mouse,clicked,1"; source: "event";
action: SIGNAL_EMIT "action,click" "efl";
}
program { name: "button_text_visible";
signal: "state,text,set"; source: "efl";
script {
new m = get_int(btmode);
m |= LABEL; set_int(btmode, m);
eval_mode(m);
}
}
program { name: "button_text_hidden";
signal: "state,text,unset"; source: "efl";
script {
new m = get_int(btmode);
m &= ~LABEL; set_int(btmode, m);
eval_mode(m);
}
}
program { name: "button_icon_visible";
signal: "state,content,set"; source: "efl";
script {
new m = get_int(btmode);
m |= ICON; set_int(btmode, m);
eval_mode(m);
}
}
program { name: "button_icon_hidden";
signal: "state,content,unset"; source: "efl";
script {
new m = get_int(btmode);
m &= ~ICON; set_int(btmode, m);
eval_mode(m);
}
}
program { name: "button_background_visible";
signal: "state,background,set"; source: "efl";
action: STATE_SET "visible" 0.0;
target: "elm.swallow.background";
}
program { name: "button_background_hidden";
signal: "state,background,unset"; source: "efl";
action: STATE_SET "default" 0.0;
target: "elm.swallow.background";
}
program { name: "button_state_disabled";
signal: "state,disabled"; source: "efl";
script {
new m = get_int(btmode);
m |= DISABLE; set_int(btmode, m);
eval_mode(m);
}
}
program { name: "button_state_enabled";
signal: "state,enabled"; source: "efl";
script {
new m = get_int(btmode);
m &= ~DISABLE; set_int(btmode, m);
eval_mode(m);
}
}
}
#undef ICON
#undef LABEL
#undef MASK
#undef DISABLE
}