efl/data/elementary/themes/edc/elm/hover.edc

1080 lines
34 KiB
Plaintext

/* TODO: replicate diagonal swallow slots to the other hover styles */
group { name: "elm/hover/base/default";
data.item: "dismiss" "on";
script {
public on_dismiss = 0;
}
parts {
part { name: "elm.swallow.offset"; type: SWALLOW;
description { state: "default" 0.0;
align: 0.0 0.0;
fixed: 1 1;
rel1.relative: 0.0 0.0;
rel2.relative: 0.0 0.0;
}
}
part { name: "elm.swallow.size"; type: SWALLOW;
description { state: "default" 0.0;
align: 0.0 0.0;
fixed: 1 1;
rel1.to: "elm.swallow.offset";
rel1.relative: 1.0 1.0;
rel2.to: "elm.swallow.offset";
rel2.relative: 1.0 1.0;
}
}
part { name: "base"; type: RECT; mouse_events: 1;
description { state: "default" 0.0;
color_class: "/dim/normal/hover";
}
}
part { name: "box"; type: RECT; mouse_events: 0;
description { state: "default" 0.0;
color: 0 0 0 0; // no cc
rel1.to: "elm.swallow.size";
rel1.offset: -2 -2;
rel2.to: "elm.swallow.size";
rel2.offset: 1 1;
}
}
part { name: "elm.swallow.slot.left"; type: SWALLOW;
description { state: "default" 0.0;
align: 1.0 0.5;
fixed: 1 0;
rel1.to: "elm.swallow.slot.middle";
rel1.relative: 0.0 0.0;
rel1.offset: -1 0;
rel2.to: "elm.swallow.slot.middle";
rel2.relative: 0.0 1.0;
rel2.offset: -1 -1;
}
}
part { name: "elm.swallow.slot.top-left"; type: SWALLOW;
description { state: "default" 0.0;
align: 1.0 1.0;
fixed: 1 1;
rel1.to: "elm.swallow.slot.middle";
rel1.relative: 0.0 0.0;
rel1.offset: 0 0;
rel2.to: "elm.swallow.slot.middle";
rel2.relative: 0.0 0.0;
rel2.offset: -1 -1;
}
}
part { name: "elm.swallow.slot.top"; type: SWALLOW;
description { state: "default" 0.0;
align: 0.5 1.0;
fixed: 0 1;
rel1.to: "elm.swallow.slot.middle";
rel1.relative: 0.0 0.0;
rel1.offset: 0 -1;
rel2.to: "elm.swallow.slot.middle";
rel2.relative: 1.0 0.0;
rel2.offset: -1 -1;
}
}
part { name: "elm.swallow.slot.top-right"; type: SWALLOW;
description { state: "default" 0.0;
align: 0.0 1.0;
fixed: 1 1;
rel1.to: "elm.swallow.slot.middle";
rel1.relative: 1.0 0.0;
rel1.offset: 0 0;
rel2.to: "elm.swallow.slot.middle";
rel2.relative: 1.0 0.0;
rel2.offset: -1 -1;
}
}
part { name: "elm.swallow.slot.right"; type: SWALLOW;
description { state: "default" 0.0;
align: 0.0 0.5;
fixed: 1 0;
rel1.to: "elm.swallow.slot.middle";
rel1.relative: 1.0 0.0;
rel1.offset: 0 0;
rel2.to: "elm.swallow.slot.middle";
rel2.relative: 1.0 1.0;
rel2.offset: 0 -1;
}
}
part { name: "elm.swallow.slot.bottom-right"; type: SWALLOW;
description { state: "default" 0.0;
align: 0.0 0.0;
fixed: 1 1;
rel1.to: "elm.swallow.slot.middle";
rel1.relative: 1.0 1.0;
rel1.offset: 0 0;
rel2.to: "elm.swallow.slot.middle";
rel2.relative: 1.0 1.0;
rel2.offset: -1 -1;
}
}
part { name: "elm.swallow.slot.bottom"; type: SWALLOW;
description { state: "default" 0.0;
align: 0.5 0.0;
fixed: 0 1;
rel1.to: "elm.swallow.slot.middle";
rel1.relative: 0.0 1.0;
rel1.offset: 0 0;
rel2.to: "elm.swallow.slot.middle";
rel2.relative: 1.0 1.0;
rel2.offset: -1 0;
}
}
part { name: "elm.swallow.slot.bottom-left"; type: SWALLOW;
description { state: "default" 0.0;
align: 1.0 0.0;
fixed: 1 1;
rel1.to: "elm.swallow.slot.middle";
rel1.relative: 0.0 1.0;
rel1.offset: 0 0;
rel2.to: "elm.swallow.slot.middle";
rel2.relative: 0.0 1.0;
rel2.offset: -1 0;
}
}
part { name: "elm.swallow.slot.middle"; type: SWALLOW;
description { state: "default" 0.0;
rel.to: "elm.swallow.size";
}
}
}
programs {
program { name: "end";
signal: "mouse,up,*"; source: "base";
script {
if (get_int(on_dismiss) == 0) {
emit("elm,action,dismiss", "elm");
set_int(on_dismiss, 1);
}
}
}
program { name: "hide";
signal: "elm,action,hide"; source: "elm";
after: "hidefinished";
}
program { name: "hidefinished";
script {
set_int(on_dismiss, 0);
emit("elm,action,hide,finished", "elm");
}
}
}
}
group { name: "elm/hover/base/popout";
data.item: "dismiss" "on";
images.image: "shad_angle_l.png" COMP;
images.image: "shad_angle_r.png" COMP;
images.image: "shad_angle_t.png" COMP;
images.image: "shad_angle_b.png" COMP;
script {
public on_dismiss = 0;
}
parts {
part { name: "elm.swallow.offset"; type: SWALLOW;
description { state: "default" 0.0;
fixed: 1 1;
align: 0.0 0.0;
rel2.relative: 0.0 0.0;
}
}
part { name: "elm.swallow.size"; type: SWALLOW;
description { state: "default" 0.0;
fixed: 1 1;
align: 0.0 0.0;
rel.to: "elm.swallow.offset";
rel1.relative: 1.0 1.0;
}
}
part { name: "base"; type: RECT;
description { state: "default" 0.0;
color: 255 255 255 0; // no cc
color_class: "/dim/normal/hover";
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255; // no cc
}
}
part { name: "leftclip"; type: RECT;
description { state: "default" 0.0;
rel2.to_x: "pop";
rel2.relative: 0.0 1.0;
rel2.offset: 1 -1;
}
}
part { name: "shad_left"; nomouse;
scale: 1;
clip_to: "leftclip";
description { state: "default" 0.0;
visible: 0;
rel.to: "left";
WIN_SHADOW_ANGLE_SMALL("shad_angle_l.png");
color_class: "/shadow/normal/hover";
color: 255 255 255 0; // no cc
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
color: 255 255 255 255; // no cc
}
}
part { name: "shad_right"; nomouse;
scale: 1;
clip_to: "rightclip";
description { state: "default" 0.0;
visible: 0;
rel.to: "right";
WIN_SHADOW_ANGLE_SMALL("shad_angle_r.png");
color_class: "/shadow/normal/hover";
color: 255 255 255 0; // no cc
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
color: 255 255 255 255; // no cc
}
}
part { name: "shad_top"; nomouse;
scale: 1;
clip_to: "topclip";
description { state: "default" 0.0;
visible: 0;
rel.to: "top";
WIN_SHADOW_ANGLE_SMALL("shad_angle_t.png");
color_class: "/shadow/normal/hover";
color: 255 255 255 0; // no cc
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
color: 255 255 255 255; // no cc
}
}
part { name: "shad_bottom"; nomouse;
scale: 1;
clip_to: "bottomclip";
description { state: "default" 0.0;
visible: 0;
rel.to: "bottom";
WIN_SHADOW_ANGLE_SMALL("shad_angle_b.png");
color_class: "/shadow/normal/hover";
color: 255 255 255 0; // no cc
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
color: 255 255 255 255; // no cc
}
}
part { name: "left"; type: RECT;
clip_to: "leftclip";
description { state: "default" 0.0;
visible: 0;
rel.to: "elm.swallow.slot.left";
rel1.offset: -6 -6;
rel2.offset: -1 5;
color_class: "/bg/normal/hover";
color: 255 255 255 0; // no cc
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
color: 255 255 255 255; // no cc
}
}
part { name: "elm.swallow.slot.left"; type: SWALLOW;
clip_to: "leftclip";
description { state: "default" 0.0;
fixed: 1 0;
align: 0.0 0.5;
rel.to: "elm.swallow.slot.middle";
rel1.offset: -1 0;
rel2.relative: 0.0 1.0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
rel1.offset: -7 0;
rel2.offset: -7 -1;
align: 1.0 0.5;
}
}
part { name: "rightclip"; type: RECT;
description { state: "default" 0.0;
rel1.to_x: "pop";
rel1.relative: 1.0 0.0;
rel1.offset: -2 0;
}
}
part { name: "right"; type: RECT;
clip_to: "rightclip";
description { state: "default" 0.0;
visible: 0;
rel.to: "elm.swallow.slot.right";
rel1.offset: 0 -6;
rel2.offset: 5 5;
color_class: "/bg/normal/hover/base";
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
}
}
part { name: "elm.swallow.slot.right"; type: SWALLOW;
clip_to: "rightclip";
description { state: "default" 0.0;
fixed: 1 0;
align: 1.0 0.5;
rel.to: "elm.swallow.slot.middle";
rel1.relative: 1.0 0.0;
rel2.offset: 0 -1;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
rel1.offset: 6 0;
rel2.offset: 6 -1;
align: 0.0 0.5;
}
}
part { name: "topclip"; type: RECT;
description { state: "default" 0.0;
rel2.to_y: "pop";
rel2.relative: 1.0 0.0;
rel2.offset: -1 1;
}
}
part { name: "top"; type: RECT;
clip_to: "topclip";
description { state: "default" 0.0;
visible: 0;
rel.to: "elm.swallow.slot.top";
rel1.offset: -6 -6;
rel2.offset: 5 -1;
color_class: "/bg/normal/hover/base";
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
}
}
part { name: "elm.swallow.slot.top"; type: SWALLOW;
clip_to: "topclip";
description { state: "default" 0.0;
fixed: 0 1;
align: 0.5 0.0;
rel.to: "elm.swallow.slot.middle";
rel1.offset: 0 -1;
rel2.relative: 1.0 0.0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
rel1.offset: 0 -7;
rel2.offset: -1 -7;
align: 0.5 1.0;
}
}
part { name: "bottomclip"; type: RECT;
description { state: "default" 0.0;
rel1.to_y: "pop";
rel1.relative: 0.0 1.0;
rel1.offset: -1 -2;
}
}
part { name: "bottom"; type: RECT;
clip_to: "bottomclip";
description { state: "default" 0.0;
visible: 0;
rel.to: "elm.swallow.slot.bottom";
rel1.offset: -6 0;
rel2.offset: 5 5;
color_class: "/bg/normal/hover/base";
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
}
}
part { name: "elm.swallow.slot.bottom"; type: SWALLOW;
clip_to: "bottomclip";
description { state: "default" 0.0;
fixed: 0 1;
align: 0.5 1.0;
rel.to: "elm.swallow.slot.middle";
rel1.relative: 0.0 1.0;
rel2.offset: -1 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
rel1.offset: 0 6;
rel2.offset: -1 6;
align: 0.5 0.0;
}
}
part { name: "pop"; type: RECT;
description { state: "default" 0.0;
rel.to: "elm.swallow.slot.middle";
rel1.offset: -6 -6;
rel2.offset: 5 5;
color_class: "/bg/normal/hover/base";
}
}
part { name: "elm.swallow.slot.middle"; type: SWALLOW;
description { state: "default" 0.0;
rel.to: "elm.swallow.size";
}
}
}
programs {
program { name: "end";
signal: "mouse,up,*"; source: "base";
script {
if (get_int(on_dismiss) == 0) {
emit("elm,action,dismiss", "elm");
set_int(on_dismiss, 1);
}
}
}
program { name: "show";
signal: "elm,action,show"; source: "elm";
action: STATE_SET "visible" 0.0;
target: "base";
}
program { name: "hide";
signal: "elm,action,hide"; source: "elm";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.5;
target: "base";
after: "hidefinished";
}
program { name: "hidefinished";
script {
set_int(on_dismiss, 0);
emit("elm,action,hide,finished", "elm");
}
}
program { name: "leftshow";
signal: "elm,action,slot,left,show"; source: "elm";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.2;
target: "left";
target: "shad_left";
target: "elm.swallow.slot.left";
}
program { name: "lefthide";
signal: "elm,action,slot,left,hide"; source: "elm";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.2;
target: "left";
target: "shad_left";
target: "elm.swallow.slot.left";
}
program { name: "rightshow";
signal: "elm,action,slot,right,show"; source: "elm";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.2;
target: "right";
target: "shad_right";
target: "elm.swallow.slot.right";
}
program { name: "righthide";
signal: "elm,action,slot,right,hide"; source: "elm";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.2;
target: "right";
target: "shad_right";
target: "elm.swallow.slot.right";
}
program { name: "topshow";
signal: "elm,action,slot,top,show"; source: "elm";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.2;
target: "top";
target: "shad_top";
target: "elm.swallow.slot.top";
}
program { name: "tophide";
signal: "elm,action,slot,top,hide"; source: "elm";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.2;
target: "top";
target: "shad_top";
target: "elm.swallow.slot.top";
}
program { name: "bottomshow";
signal: "elm,action,slot,bottom,show"; source: "elm";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.2;
target: "bottom";
target: "shad_bottom";
target: "elm.swallow.slot.bottom";
}
program { name: "bottomhide";
signal: "elm,action,slot,bottom,hide"; source: "elm";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.2;
target: "bottom";
target: "shad_bottom";
target: "elm.swallow.slot.bottom";
}
}
}
group { name: "elm/hover/base/hoversel_vertical/default";
alias: "elm/hover/base/hoversel_vertical/entry";
alias: "elm/hover/base/combobox_vertical/entry";
alias: "elm/hover/base/combobox_vertical/default";
images.image: "shad_angle_t.png" COMP;
images.image: "shad_angle_b.png" COMP;
data.item: "dismiss" "on";
// max_size limits the maximum size of expanded hoversel
// when it's scrollable.
//data.item: "max_size" "60";
script {
public visible = 0;
public right = 0;
public on_dismiss = 0;
public topshow2() {
if (get_int(right) == 0)
run_program(PROGRAM:"topshow_default");
else
run_program(PROGRAM:"topshow_right");
set_int(visible, 1);
set_int(on_dismiss, 0);
}
public bottomshow2() {
if (get_int(right) == 0)
run_program(PROGRAM:"bottomshow_default");
else
run_program(PROGRAM:"bottomshow_right");
set_int(visible, 1);
set_int(on_dismiss, 0);
}
}
parts {
part { name: "elm.swallow.offset"; type: SWALLOW;
description { state: "default" 0.0;
fixed: 1 1;
align: 0.0 0.0;
rel2.relative: 0.0 0.0;
}
}
part { name: "elm.swallow.size"; type: SWALLOW;
description { state: "default" 0.0;
fixed: 1 1;
align: 0.0 0.0;
rel.to: "elm.swallow.offset";
rel1.relative: 1.0 1.0;
}
}
part { name: "base"; type: RECT;
description { state: "default" 0.0;
color: 0 0 0 0; // no cc
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
}
}
part { name: "shad"; nomouse;
scale: 1;
description { state: "default" 0.0;
rel.to: "button_image";
WIN_SHADOW_ANGLE_SMALL("shad_angle_t.png");
color_class: "/bg/normal/hoversel";
}
description { state: "bottom" 0.0;
rel.to: "button_image";
WIN_SHADOW_ANGLE_SMALL("shad_angle_b.png");
color_class: "/bg/normal/hoversel";
}
}
part { name: "button_image"; type: RECT;
scale: 1;
description { state: "default" 0.0;
rel1.to_x: "limit0";
rel2.to_x: "limit1";
rel1.to_y: "elm.swallow.slot.top";
rel2.to_y: "elm.swallow.slot.middle";
rel2.relative: 1.0 0.0;
color_class: "/bg/normal/hoversel/menu";
offscale;
rel1.offset: -5 -4;
rel2.offset: 9 1;
}
description { state: "bottom" 0.0;
inherit: "default" 0.0;
rel1.to_y: "elm.swallow.slot.middle";
rel1.relative: 0.0 1.0;
rel2.to_y: "elm.swallow.slot.bottom";
rel2.relative: 1.0 1.0;
rel1.offset: -5 -2;
rel2.offset: 9 3;
}
}
part { name: "limit0"; type: SPACER;
scale: 1;
description { state: "default" 0.0;
rel1.to_x: "elm.swallow.slot.top";
rel1.offset: 1 0;
rel2.to_x: "elm.swallow.slot.middle";
rel2.offset: 0 0;
rel2.relative: 0.0 1.0;
align: 0.0 0.5;
min: 1 1;
max: 1 99999;
offscale;
}
description { state: "bottom" 0.0;
inherit: "default" 0.0;
rel1.to_x: "elm.swallow.slot.bottom";
}
}
part { name: "limit1"; type: SPACER;
scale: 1;
description { state: "default" 0.0;
rel1.to_x: "elm.swallow.slot.middle";
rel1.offset: -1 0;
rel1.relative: 1.0 0.0;
rel2.to_x: "elm.swallow.slot.top";
rel2.offset: -2 0;
align: 1.0 0.5;
min: 1 1;
max: 1 99999;
offscale;
}
description { state: "bottom" 0.0;
inherit: "default" 0.0;
rel2.to_x: "elm.swallow.slot.bottom";
}
}
part { name: "select_line"; type: RECT; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
align: 1.0 0.5;
min: 5 0;
rel.to: "button_image";
rel1.relative: 1.0 0.0;
color_class: "/bg/selected/hoversel/menu/bar";
}
}
part { name: "topclip"; type: RECT;
description { state: "default" 0.0;
rel2.to_y: "button_image";
}
}
part { name: "elm.swallow.slot.top"; type: SWALLOW;
clip_to: "topclip";
scale: 1;
description { state: "default" 0.0;
visible: 1;
align: 0.0 0.0;
fixed: 0 1;
rel1.to: "elm.swallow.slot.middle";
rel1.relative: 0.0 0.0;
rel1.offset: 6 -4;
rel2.to: "elm.swallow.slot.middle";
rel2.relative: 1.0 0.0;
/* set negative offset along x axis not to make
"select_line" part exceed parent's width */
rel2.offset: -12 3;
offscale;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
align: 0.0 1.0;
}
description { state: "right" 0.0;
inherit: "default" 0.0;
align: 1.0 0.0;
}
description { state: "right_visible" 0.0;
inherit: "default" 0.0;
align: 1.0 1.0;
}
}
part { name: "bottomclip"; type: RECT;
description { state: "default" 0.0;
rel1.to_y: "button_image";
}
}
part { name: "elm.swallow.slot.bottom"; type: SWALLOW;
clip_to: "bottomclip";
scale: 1;
description { state: "default" 0.0;
align: 0.0 1.0;
fixed: 0 1;
rel1.to: "elm.swallow.slot.middle";
rel1.relative: 0.0 1.0;
rel1.offset: 6 -2;
rel2.to: "elm.swallow.slot.middle";
rel2.relative: 1.0 1.0;
/* set negative offset along x axis not to make
"select_line" part exceed parent's width */
rel2.offset: -12 -5;
offscale;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
align: 0.0 0.0;
}
description { state: "right" 0.0;
inherit: "default" 0.0;
align: 1.0 1.0;
}
description { state: "right_visible" 0.0;
inherit: "default" 0.0;
align: 1.0 0.0;
}
}
part { name: "elm.swallow.slot.middle"; type: SWALLOW;
description { state: "default" 0.0;
rel.to: "elm.swallow.size";
}
}
}
programs {
program { name: "end";
signal: "mouse,up,*"; source: "base";
script {
if (get_int(on_dismiss) == 0) {
emit("elm,action,dismiss", "elm");
set_int(on_dismiss, 1);
}
}
}
program { name: "show";
signal: "elm,action,show"; source: "elm";
action: STATE_SET "visible" 0.0;
target: "base";
}
program { name: "hide";
signal: "elm,action,hide"; source: "elm";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.3;
target: "base";
after: "hidefinished";
}
program { name: "hide_no_animate";
signal: "elm,action,hide,no_animate"; source: "elm";
action: STATE_SET "default" 0.0;
target: "base";
after: "hidefinished";
}
program { name: "hidefinished";
script {
set_int(on_dismiss, 0);
emit("elm,action,hide,finished", "elm");
}
}
program { name: "topshow";
signal: "elm,action,slot,top,show"; source: "elm";
script {
set_state(PART:"limit0", "default", 0.0);
set_state(PART:"limit1", "default", 0.0);
set_state(PART:"button_image", "default", 0.0);
set_state(PART:"shad", "default", 0.0);
topshow2();
}
}
program { name: "topshow_default";
action: STATE_SET "visible" 0.0;
target: "elm.swallow.slot.top";
transition: DECELERATE 0.2;
}
program { name: "topshow_right";
action: STATE_SET "right_visible" 0.0;
target: "elm.swallow.slot.top";
transition: DECELERATE 0.2;
}
program { name: "tophide";
signal: "elm,action,slot,top,hide";
source: "elm";
script {
if (get_int(right) == 0)
run_program(PROGRAM:"tophide_default");
else
run_program(PROGRAM:"tophide_right");
set_int(visible, 0);
}
}
program { name: "tophide_default";
action: STATE_SET "default" 0.0;
target: "elm.swallow.slot.top";
transition: DECELERATE 0.2;
}
program { name: "tophide_right";
action: STATE_SET "right" 0.0;
target: "elm.swallow.slot.top";
transition: DECELERATE 0.2;
}
program { name: "bottomshow";
signal: "elm,action,slot,bottom,show"; source: "elm";
script {
set_state(PART:"limit0", "bottom", 0.0);
set_state(PART:"limit1", "bottom", 0.0);
set_state(PART:"button_image", "bottom", 0.0);
set_state(PART:"shad", "bottom", 0.0);
bottomshow2();
}
}
program { name: "bottomshow_default";
action: STATE_SET "visible" 0.0;
target: "elm.swallow.slot.bottom";
transition: DECELERATE 0.2;
}
program { name: "bottomshow_right";
action: STATE_SET "right_visible" 0.0;
target: "elm.swallow.slot.bottom";
transition: DECELERATE 0.2;
}
program { name: "bottomhide";
signal: "elm,action,slot,bottom,hide"; source: "elm";
script {
if (get_int(right) == 0) {
run_program(PROGRAM:"bottomhide_default");
}
else {
run_program(PROGRAM:"bottomhide_right");
}
set_int(visible, 0);
}
}
program { name: "bottomhide_default";
action: STATE_SET "default" 0.0;
target: "elm.swallow.slot.bottom";
transition: DECELERATE 0.2;
}
program { name: "bottomhide_right";
action: STATE_SET "right" 0.0;
target: "elm.swallow.slot.bottom";
transition: DECELERATE 0.2;
}
program { name: "align_right";
signal: "elm,state,align,right"; source: "elm";
script {
set_int(right, 1);
if (get_int(visible) == 0) {
set_state(PART:"elm.swallow.slot.top", "right", 0.0);
set_state(PART:"elm.swallow.slot.bottom", "right", 0.0);
}
else {
set_state(PART:"elm.swallow.slot.top", "right_visible", 0.0);
set_state(PART:"elm.swallow.slot.bottom", "right_visible", 0.0);
}
}
}
program { name: "align_default";
signal: "elm,state,align,default"; source: "elm";
script {
set_int(right, 0);
if (get_int(visible) == 0) {
set_state(PART:"elm.swallow.slot.top", "default", 0.0);
set_state(PART:"elm.swallow.slot.bottom", "default", 0.0);
}
else {
set_state(PART:"elm.swallow.slot.top", "visible", 0.0);
set_state(PART:"elm.swallow.slot.bottom", "visible", 0.0);
}
}
}
}
}
group { name: "elm/hover/base/hoversel_horizontal/default";
alias: "elm/hover/base/hoversel_horizontal/entry";
data.item: "dismiss" "on";
images.image: "shad_angle_l.png" COMP;
images.image: "shad_angle_r.png" COMP;
script {
public on_dismiss = 0;
}
// max_size limits the maximum size of expanded hoversel
// when it's scrollable.
//data.item: "max_size" "120";
parts {
part { name: "elm.swallow.offset"; type: SWALLOW;
description { state: "default" 0.0;
align: 0.0 0.0;
fixed: 1 1;
rel1.relative: 0.0 0.0;
rel2.relative: 0.0 0.0;
}
}
part { name: "elm.swallow.size"; type: SWALLOW;
description { state: "default" 0.0;
align: 0.0 0.0;
fixed: 1 1;
rel.to: "elm.swallow.offset";
rel1.relative: 1.0 1.0;
rel2.relative: 1.0 1.0;
}
}
part { name: "base"; type: RECT;
description { state: "default" 0.0;
color: 0 0 0 0; // no cc
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
}
}
part { name: "shad"; nomouse;
scale: 1;
description { state: "default" 0.0;
rel.to: "button_image";
WIN_SHADOW_ANGLE_SMALL("shad_angle_l.png");
color_class: "/shadow/normal/hoversel";
}
description { state: "right" 0.0;
rel.to: "button_image";
WIN_SHADOW_ANGLE_SMALL("shad_angle_r.png");
color_class: "/shadow/normal/hoversel";
}
}
part { name: "button_image"; type: RECT; nomouse;
description { state: "default" 0.0;
rel1.to_x: "elm.swallow.slot.left";
rel1.to_y: "elm.swallow.slot.left";
rel2.to_x: "elm.swallow.slot.middle";
rel2.to_y: "elm.swallow.slot.left";
rel2.relative: 0.0 1.0;
rel1.offset: -4 0;
rel2.offset: 1 -1;
color_class: "/bg/normal/hoversel";
}
description { state: "right" 0.0;
inherit: "default" 0.0;
rel1.to_x: "elm.swallow.slot.middle";
rel1.to_y: "elm.swallow.slot.right";
rel2.to_x: "elm.swallow.slot.right";
rel2.to_y: "elm.swallow.slot.right";
rel1.relative: 1.0 0.0;
rel2.relative: 1.0 1.0;
rel1.offset: -2 0;
rel2.offset: 3 -1;
}
}
part { name: "leftclip"; type: RECT;
description { state: "default" 0.0;
rel2.to_x: "elm.swallow.slot.middle";
rel2.relative: 0.0 1.0;
}
}
part { name: "elm.swallow.slot.left"; type: SWALLOW;
clip_to: "leftclip";
description { state: "default" 0.0;
align: 0.0 0.0;
fixed: 1 0;
rel1.to: "elm.swallow.slot.middle";
rel1.relative: 0.0 0.0;
rel1.offset: -1 2;
rel2.to: "elm.swallow.slot.middle";
rel2.relative: 0.0 1.0;
rel2.offset: -1 -3;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
align: 1.0 0.0;
}
}
part { name: "rightclip"; type: RECT;
description { state: "default" 0.0;
rel1.to_x: "elm.swallow.slot.middle";
rel1.relative: 1.0 0.0;
}
}
part { name: "elm.swallow.slot.right"; type: SWALLOW;
clip_to: "rightclip";
description { state: "default" 0.0;
align: 1.0 0.0;
fixed: 1 0;
rel1.to: "elm.swallow.slot.middle";
rel1.relative: 1.0 0.0;
rel1.offset: -2 2;
rel2.to: "elm.swallow.slot.middle";
rel2.offset: -1 -3;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
align: 0.0 0.0;
}
}
part { name: "elm.swallow.slot.middle"; type: SWALLOW;
description { state: "default" 0.0;
rel.to: "elm.swallow.size";
}
}
}
programs {
program { name: "end";
signal: "mouse,up,*"; source: "base";
script {
if (get_int(on_dismiss) == 0) {
emit("elm,action,dismiss", "elm");
set_int(on_dismiss, 1);
}
}
}
program { name: "show";
signal: "elm,action,show"; source: "elm";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.2;
target: "base";
}
program { name: "hide";
signal: "elm,action,hide"; source: "elm";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.2;
target: "base";
after: "hidefinished";
}
program { name: "hidefinished";
script {
set_int(on_dismiss, 0);
emit("elm,action,hide,finished", "elm");
}
}
program { name: "leftshow";
signal: "elm,action,slot,left,show"; source: "elm";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.2;
target: "elm.swallow.slot.left";
}
program { name: "leftshow3";
signal: "elm,action,slot,left,show"; source: "elm";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.2;
target: "button_image";
target: "shad";
}
program { name: "lefthide";
signal: "elm,action,slot,left,hide"; source: "elm";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.2;
target: "elm.swallow.slot.left";
}
program { name: "rightshow";
signal: "elm,action,slot,right,show"; source: "elm";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.2;
target: "elm.swallow.slot.right";
}
program { name: "rightshow3";
signal: "elm,action,slot,right,show"; source: "elm";
action: STATE_SET "right" 0.0;
transition: DECELERATE 0.2;
target: "button_image";
target: "shad";
}
program { name: "righthide";
signal: "elm,action,slot,right,hide"; source: "elm";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.2;
target: "elm.swallow.slot.right";
}
}
}