}
group { name: "elm/toolbar/base/tabbar";
+ images {
+ image: "00_effect_tab_bounce_left.png" COMP;
+ image: "00_effect_tab_bounce_right.png" COMP;
+ }
+ script {
+ public left_timer, right_timer;
+ public l_timer(val) {
+ emit("do-hide-left-shadow", "");
+ set_int(left_timer, 0);
+ return 0;
+ }
+ public r_timer(val) {
+ emit("do-hide-right-shadow", "");
+ set_int(right_timer, 0);
+ return 0;
+ }
+ }
parts {
part { name: "base";
type: RECT;
rel2.to: "clipper";
}
}
- part { name: "event";
+ part { name: "left_shadow_clip";
type: RECT;
- mouse_events: 1;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ }
+ description { state: "show" 0.0;
+ }
+ }
+ part { name: "right_shadow_clip";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ visible: 0;
+ color: 255 255 255 0;
+ }
+ description { state: "show" 0.0;
+ }
+ }
+ part { name: "shadow_left";
+ clip_to: "left_shadow_clip";
+ type: IMAGE;
+ scale: 1;
repeat_events: 1;
+ description { state: "default" 0.0;
+ min: 162 0;
+ fixed: 1 1;
+ align: 0.0 0.5;
+ color: 255 255 255 255;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 0.0 1.0;
+ image.normal: "00_effect_tab_bounce_left.png";
+ }
+ }
+ part { name: "shadow_right";
+ clip_to: "right_shadow_clip";
+ type: IMAGE;
scale: 1;
+ repeat_events: 1;
description { state: "default" 0.0;
- color: 0 0 0 0;
+ min: 162 0;
+ fixed: 1 1;
+ align: 1.0 0.5;
+ color: 255 255 255 255;
+ rel1.relative: 1.0 0.0;
+ rel2.relative: 1.0 1.0;
+ image.normal: "00_effect_tab_bounce_right.png";
+ }
+ }
+ }
+ programs {
+ program { name: "load";
+ script {
+ set_int(left_timer, 0);
+ set_int(right_timer, 0);
+ }
+ }
+ program { name: "left_shadow_show";
+ signal: "do-show-left-shadow";
+ source: "";
+ action: STATE_SET "show" 0.0;
+ transition: LINEAR 0.3;
+ target: "left_shadow_clip";
+ }
+ program { name: "left_shadow_hide";
+ signal: "do-hide-left-shadow";
+ source: "";
+ action: STATE_SET "default" 0.0;
+ transition: LINEAR 0.3;
+ target: "left_shadow_clip";
+ }
+ program { name: "right_shadow_show";
+ signal: "do-show-right-shadow";
+ source: "";
+ action: STATE_SET "show" 0.0;
+ transition: LINEAR 0.3;
+ target: "right_shadow_clip";
+ }
+ program { name: "right_shadow_hide";
+ signal: "do-hide-right-shadow";
+ source: "";
+ action: STATE_SET "default" 0.0;
+ transition: LINEAR 0.3;
+ target: "right_shadow_clip";
+ }
+ program { name: "edge_left";
+ signal: "elm,edge,left";
+ source: "elm";
+ script {
+ new v;
+ v = get_int(left_timer);
+ if (!v) {
+ emit("do-show-left-shadow", "");
+ }
+ if (v > 0) cancel_timer(v);
+ v = timer(0.5, "l_timer", 0);
+ set_int(left_timer, v);
+ }
+ }
+ program { name: "edge_right";
+ signal: "elm,edge,right";
+ source: "elm";
+ script {
+ new v;
+ v = get_int(right_timer);
+ if (!v) {
+ emit("do-show-right-shadow", "");
+ }
+ if (v > 0) cancel_timer(v);
+ v = timer(0.5, "r_timer", 0);
+ set_int(right_timer, v);
}
}
}
group { name: "elm/toolbar/item/tabbar";
images {
image: "00_tab_press.png" COMP;
- image: "00_divider_line.png" COMP;
image: "00_badge_bg.png" COMP;
}
mouse_events: 0;
description { state: "default" 0.0;
min: 172 0;
- color: 248 246 239 255;
+ visible: 0;
}
description { state: "icon_text" 0.0;
inherit: "default" 0.0;
min: 229 0;
}
- description { state: "moving" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
}
part { name: "bg_cover";
type: IMAGE;
}
}
part { name: "divider";
- type: IMAGE;
+ type: RECT;
scale: 1;
description { state: "default" 0.0;
min: 4 26;
relative: 1.0 0.5;
to_y: "elm.swallow.icon";
}
- image {
- normal: "00_divider_line.png";
- border: 0 0 2 2;
- }
}
description { state: "hidden" 0.0;
inherit: "default" 0.0;
visible: 0;
}
}
+ part { name: "divider_left";
+ type: RECT;
+ clip_to: "divider";
+ description { state: "default" 0.0;
+ color: TABBAR_ITEM_DIVIDER_LEFT_COLOR_INC;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "divider";
+ }
+ rel2 {
+ relative: 0.5 1.0;
+ to: "divider";
+ }
+ }
+ }
+ part { name: "divider_right";
+ type: RECT;
+ clip_to: "divider";
+ description { state: "default" 0.0;
+ color: TABBAR_ITEM_DIVIDER_RIGHT_COLOR_INC;
+ rel1 {
+ relative: 0.5 0.0;
+ to: "divider";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "divider";
+ }
+ }
+ }
part { name: "event";
type: RECT;
mouse_events: 1;
+ dragable {
+ x: 1 0 0;
+ y: 1 0 0;
+ }
description { state: "default" 0.0;
color: 0 0 0 0;
}
signal: "elm,state,moving";
source: "elm";
action: STATE_SET "moving" 0.0;
- target: "bg";
target: "bg_cover";
}
- program { name: "pressed";
+ program { name: "pressed";
signal: "mouse,down,1";
source: "event";
action: STATE_SET "pressed" 0.0;
target: "bg_cover";
}
+ program {
+ name: "drag";
+ signal: "drag";
+ source: "event";
+ script {
+ new st[31];
+ new Float:vl;
+ new Float:dx, Float:dy;
+ get_state(PART:"bg_cover", st, 30, vl);
+ if (strcmp(st, "moving"))
+ {
+ get_drag(PART:"event", dx, dy);
+ if ((abs(dx)*abs(dx))+(abs(dy)*abs(dy)) > 400)
+ {
+ set_drag(PART:"event", 0.0, 0.0);
+ set_state(PART:"bg_cover", "default", 0.0);
+ }
+ set_drag(PART:"event", 0.0, 0.0);
+ }
+ }
+ }
program { name: "unpressed";
signal: "mouse,up,1";
source: "event";
- action: STATE_SET "default" 0.0;
- target: "bg_cover";
+ script {
+ set_drag(PART:"event", 0.0, 0.0);
+ set_state(PART:"bg_cover", "default", 0.0);
+ }
}
program { name: "go";
signal: "mouse,clicked,1";