Rage video and audio player https://www.enlightenment.org
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.
 
 
 

2174 lines
69 KiB

collections {
group { name: "rage/core";
images.image: "pm_fill.png" COMP;
images.image: "vg1.png" COMP;
images.image: "vg2.png" COMP;
images.image: "shadow_circle_horiz.png" COMP;
images.image: "shadow_circle_vert.png" COMP;
images.image: "icon_exclamation.png" COMP;
images.image: "icon_eject.png" COMP;
images.image: "icon_mute.png" COMP;
images.image: "icon_volume.png" COMP;
images.image: "icon_prev.png" COMP;
images.image: "icon_next.png" COMP;
images.image: "icon_rewind.png" COMP;
images.image: "icon_forward.png" COMP;
images.image: "icon_stop.png" COMP;
images.image: "icon_pause.png" COMP;
images.image: "icon_play.png" COMP;
images.image: "icon_refresh.png" COMP;
images.image: "icon_arrow_right.png" COMP;
images.image: "icon_spanner.png" COMP;
images.image: "icon_fullscreen.png" COMP;
images.image: "icon_unfullscreen.png" COMP;
images.image: "icon_close.png" COMP;
images.image: "win_shadow.png" COMP;
images.image: "speaker-base.png" COMP;
images.image: "speaker-over.png" COMP;
images.image: "speaker-shadow.png" COMP;
images.image: "tv-bg.png" COMP;
images.image: "tv-over.png" COMP;
images.image: "r-0.png" COMP;
images.image: "r-1.png" COMP;
images.image: "r-2.png" COMP;
images.image: "r-3.png" COMP;
images.image: "r-4.png" COMP;
script {
public pos_visible;
public pos_timer;
public drag_is_down;
public novideo;
public pos_timeout(val) {
set_int(pos_visible, 0);
set_int(pos_timer, 0);
stop_program(PROGRAM:"posshow");
run_program(PROGRAM:"poshide");
if (!get_int(novideo)) {
stop_program(PROGRAM:"cbarshow");
run_program(PROGRAM:"cbarhide");
}
}
}
parts {
//// -- BACKGROUND
part { name: "bg"; type: RECT; mouse_events: 0;
description { state: "default" 0.0;
color: 64 64 64 255;
}
}
part { name: "fill"; mouse_events: 0;
description { state: "default" 0.0;
fixed: 1 1;
image.normal: "pm_fill.png";
color: 56 56 56 255;
fill {
size.relative: 0.0 0.0;
size.offset: 256 256;
}
}
}
part { name: "vg1"; mouse_events: 0;
description { state: "default" 0.0;
fixed: 1 1;
rel2.relative: 1.0 0.0;
rel2.to: "vg2";
image.normal: "vg1.png";
color: 64 64 64 255;
fill {
size.relative: 0.0 1.0;
size.offset: 256 0;
smooth: 0;
}
}
description { state: "focused" 0.0;
inherit: "default" 0.0;
color: 32 32 32 255;
}
}
part { name: "vg2"; mouse_events: 0;
description { state: "default" 0.0;
fixed: 1 1;
align: 0.5 1.0;
image.normal: "vg2.png";
color: 64 64 64 255;
max: 99999 32;
fill {
size.relative: 0.0 1.0;
size.offset: 256 0;
smooth: 0;
}
}
}
program {
signal: "state,win,focused"; source: "rage";
action: STATE_SET "focused" 0.0;
target: "vg1";
}
program {
signal: "state,win,unfocused"; source: "rage";
action: STATE_SET "default" 0.0;
target: "vg1";
}
part { name: "shadow"; type: RECT;
description { state: "default" 0.0;
visible: 0;
}
description { state: "video" 0.0;
inherit: "default" 0.0;
visible: 1;
}
description { state: "novideo" 0.0;
inherit: "default" 0.0;
visible: 0;
}
}
part { name: "sh_t"; nomouse;
scale: 1;
clip_to: "shadow";
description { state: "default" 0.0;
rel1.to: "rage.content";
rel2.to: "rage.content";
rel2.relative: 1.0 0.0;
image.normal: "shadow_circle_horiz.png";
min: 0 32;
color: 255 255 255 128;
}
}
part { name: "sh_b"; nomouse;
scale: 1;
clip_to: "shadow";
description { state: "default" 0.0;
rel1.to: "rage.content";
rel2.to: "rage.content";
rel1.relative: 0.0 1.0;
image.normal: "shadow_circle_horiz.png";
min: 0 32;
color: 255 255 255 128;
}
}
part { name: "sh_l"; nomouse;
scale: 1;
clip_to: "shadow";
description { state: "default" 0.0;
rel1.to: "rage.content";
rel2.to: "rage.content";
rel2.relative: 0.0 1.0;
image.normal: "shadow_circle_vert.png";
min: 32 0;
color: 255 255 255 128;
}
}
part { name: "sh_r"; nomouse;
scale: 1;
clip_to: "shadow";
description { state: "default" 0.0;
rel1.to: "rage.content";
rel2.to: "rage.content";
rel1.relative: 1.0 0.0;
image.normal: "shadow_circle_vert.png";
min: 32 0;
color: 255 255 255 128;
}
}
part { name: "black"; type: RECT; mouse_events: 0;
description { state: "default" 0.0;
color: 0 0 0 0;
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
color: 0 0 0 255;
visible: 1;
}
}
program {
signal: "state,win,fullscreen"; source: "rage";
action: STATE_SET "visible" 0.0;
transition: SINUSOIDAL 0.2;
target: "black";
}
program {
signal: "state,win,normal"; source: "rage";
action: STATE_SET "default" 0.0;
transition: SINUSOIDAL 1.0;
target: "black";
}
part { name: "base"; type: RECT; mouse_events: 0;
description { state: "default" 0.0;
rel1.to: "rage.content";
rel2.to: "rage.content";
color: 0 0 0 255;
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
color: 32 32 32 255;
}
description { state: "play" 0.0;
inherit: "default" 0.0;
visible: 0;
}
}
part { name: "exclam"; mouse_events: 0;
scale: 1;
clip_to: "novid_clip";
description { state: "default" 0.0;
rel1.to: "base";
rel2.to: "base";
fixed: 1 1;
image.normal: "icon_exclamation.png";
max: 24 24;
aspect: 1.0 1.0; aspect_preference: BOTH;
color: 255 255 255 0;
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
visible: 1;
}
description { state: "play" 0.0;
inherit: "default" 0.0;
visible: 0;
}
}
program {
signal: "action,newvid"; source: "rage";
action: STATE_SET "default" 0.0;
target: "exclam";
target: "base";
after: "newvid2";
}
program { name: "newvid2";
action: STATE_SET "visible" 0.0;
in: 2.0 0.0;
transition: SINUSOIDAL 1.0;
target: "exclam";
target: "base";
}
program {
signal: "action,frame"; source: "rage";
action: STATE_SET "play" 0.0;
target: "exclam";
target: "base";
}
part { name: "rage.content"; type: SWALLOW;
description { state: "default" 0.0;
visible: 0;
}
description { state: "novideo" 0.0;
visible: 0;
}
description { state: "video" 0.0;
visible: 1;
}
}
part { name: "controlbar_shadow_clip"; type: RECT;
clip_to: "controlbar_clip";
description { state: "default" 0.0;
rel2.relative: 1.0 0.0;
rel2.to_y: "controlbar";
}
}
part { name: "controlbar_shadow"; mouse_events: 0;
scale: 1;
clip_to: "controlbar_shadow_clip";
description { state: "default" 0.0;
fixed: 1 1;
rel1.to: "controlbar";
rel2.to: "controlbar";
rel2.relative: 1.0 0.0;
image.normal: "shadow_circle_horiz.png";
min: 0 32;
color: 255 255 255 128;
}
}
part { name: "prefsize"; type: SPACER;
scale: 1;
description { state: "default" 0.0;
rel2.to: "controlbar";
rel2.relative: 1.0 0.0;
}
description { state: "pref" 0.0;
inherit: "default" 0.0;
min: 160 160;
}
}
program {
signal: "pref,size,on"; source: "rage";
action: STATE_SET "pref" 0.0;
target: "prefsize";
}
program {
signal: "pref,size,off"; source: "rage";
action: STATE_SET "default" 0.0;
target: "prefsize";
}
part { name: "novid_clip"; type: RECT;
description { state: "default" 0.0;
}
description { state: "novideo" 0.0;
inherit: "default" 0.0;
visible: 0;
}
}
part { name: "speaker_clip"; type: RECT;
description { state: "default" 0.0;
visible: 0;
}
description { state: "novideo" 0.0;
inherit: "default" 0.0;
visible: 1;
}
description { state: "video" 0.0;
inherit: "default" 0.0;
visible: 0;
}
}
part { name: "speaker_bg"; type: RECT;
clip_to: "speaker_clip";
description { state: "default" 0.0;
color: 64 64 64 255;
}
}
part { name: "speaker_base"; type: RECT;
clip_to: "speaker_clip";
description { state: "default" 0.0;
rel2.to: "controlbar";
rel2.relative: 1.0 0.0;
aspect: 1.0 1.0; aspect_preference: BOTH;
max: 160 160;
color: 32 32 32 255;
}
}
part { name: "speaker_cone";
clip_to: "speaker_clip";
description { state: "default" 0.0;
rel1.to: "speaker_base";
rel2.to: "speaker_base";
image.normal: "speaker-base.png";
}
}
part { name: "art_clip"; type: RECT;
clip_to: "speaker_clip";
description { state: "default" 0.0;
visible: 0;
color: 255 255 255 0;
rel1.to: "speaker_base";
rel2.to: "speaker_base";
rel1.relative: -0.5 -0.5;
rel2.relative: 1.5 1.5;
fixed: 1 1;
aspect: 1.0 1.0; aspect_preference: BOTH;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
rel1.relative: 0.0 0.0;
rel2.relative: 1.0 1.0;
visible: 1;
color: 255 255 255 255;
}
}
part { name: "art_clip2"; type: RECT;
clip_to: "art_clip";
description { state: "default" 0.0;
rel1.to: "speaker_base";
rel2.to: "speaker_base";
fixed: 1 1;
}
}
part { name: "rage.art"; type: SWALLOW; mouse_events: 0;
clip_to: "art_clip2";
description { state: "default" 0.0;
rel1.to: "art_clip";
rel2.to: "art_clip";
}
}
part { name: "speaker_shadow";
clip_to: "speaker_clip";
description { state: "default" 0.0;
rel1.to: "speaker_base";
rel2.to: "speaker_base";
image.normal: "speaker-shadow.png";
color: 255 255 255 128;
}
}
part { name: "speaker_cover";
clip_to: "speaker_clip";
description { state: "default" 0.0;
rel1.to: "speaker_base";
rel2.to: "speaker_base";
image.normal: "speaker-over.png";
color: 64 64 64 255;
}
}
program {
signal: "state,novideo"; source: "rage";
action: STATE_SET "novideo" 0.0;
target: "speaker_clip";
target: "shadow";
target: "statusloc";
target: "rage.content";
}
program {
signal: "state,default"; source: "rage";
action: STATE_SET "default" 0.0;
target: "speaker_clip";
target: "shadow";
target: "statusloc";
target: "rage.content";
}
program {
signal: "state,video"; source: "rage";
action: STATE_SET "video" 0.0;
target: "speaker_clip";
target: "shadow";
target: "statusloc";
target: "rage.content";
}
program {
signal: "state,novideo"; source: "rage";
script {
set_int(novideo, 1);
}
}
program {
signal: "state,video"; source: "rage";
script {
set_int(novideo, 0);
}
}
program {
signal: "action,newvid"; source: "rage";
action: STATE_SET "default" 0.0;
transition: ACCELERATE 0.2;
target: "art_clip";
}
program {
signal: "state,noart"; source: "rage";
action: STATE_SET "default" 0.0;
transition: ACCELERATE 0.3;
target: "art_clip";
}
program {
signal: "state,art"; source: "rage";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.3;
target: "art_clip";
}
part { name: "rage.gesture"; type: SWALLOW;
description { state: "default" 0.0;
rel2.to_y: "controlbar";
rel2.relative: 1.0 0.0;
}
}
part { name: "rage.browser"; type: SWALLOW;
description { state: "default" 0.0;
rel1.relative: 1.0 0.0;
rel1.offset: 40 0;
rel2.relative: 2.0 0.0;
rel2.offset: -41 -1;
rel2.to_y: "controlbar";
fixed: 1 1;
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
rel1.relative: 0.0 0.0;
rel2.relative: 1.0 0.0;
color: 255 255 255 255;
visible: 1;
}
}
program {
signal: "browser,state,visible"; source: "rage";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.3;
target: "rage.browser";
}
program {
signal: "browser,state,hidden"; source: "rage";
action: STATE_SET "default" 0.0;
transition: ACCELERATE 0.5;
target: "rage.browser";
after: "browser_hidden";
}
program { name: "browser_hidden";
action: SIGNAL_EMIT "browser,state,hidden,finished" "rage";
}
part { name: "rage.list"; type: SWALLOW;
description { state: "default" 0.0;
align: 0.0 0.5;
rel1.relative: 1.0 0.0;
rel2.relative: 1.0 0.0;
rel2.to_y: "controlbar";
fixed: 1 1;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
align: 1.0 0.5;
visible: 1;
}
}
program {
signal: "list,state,visible"; source: "rage";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.3;
target: "rage.list";
}
program {
signal: "list,state,hidden"; source: "rage";
action: STATE_SET "default" 0.0;
transition: ACCELERATE 0.5;
target: "rage.list";
after: "list_hidden";
}
program { name: "list_hidden";
action: SIGNAL_EMIT "list,state,hidden,finished" "rage";
}
part { name: "controlbar_clip"; type: RECT;
description { state: "default" 0.0;
color: 255 255 255 0;
visible: 0;
}
description { state: "visible" 0.0;
color: 255 255 255 255;
visible: 1;
}
}
part { name: "controlbar"; type: RECT; mouse_events: 0;
clip_to: "controlbar_clip";
description { state: "default" 0.0;
color: 64 64 64 128;
rel1.to: "rage.pos.prev.swallow";
}
description { state: "novideo" 0.0;
inherit: "default" 0.0;
color: 64 64 64 255;
}
}
program {
signal: "state,novideo"; source: "rage";
action: STATE_SET "novideo" 0.0;
target: "controlbar";
}
program {
signal: "state,video"; source: "rage";
action: STATE_SET "default" 0.0;
target: "controlbar";
}
part { name: "posclip"; type: RECT;
description { state: "default" 0.0;
color: 255 255 255 0;
visible: 0;
}
description { state: "visible" 0.0;
color: 255 255 255 255;
visible: 1;
}
}
part { name: "bar_bg"; type: SPACER;
description { state: "default" 0.0;
fixed: 1 1;
rel1.offset: 0 -1;
rel1.relative: 0.0 1.0;
min: 1 1;
}
}
part { name: "rage.dragable.pos"; type: RECT; mouse_events: 0;
clip_to: "controlbar_clip";
dragable.x: 1 1 0;
dragable.y: 0 0 0;
dragable.confine: "bar_bg";
description { state: "default" 0.0;
min: 1 1;
max: 1 1;
rel1.relative: 0.5 0.0;
rel1.to_x: "bar_bg";
rel2.relative: 0.5 1.0;
rel2.to_x: "bar_bg";
color: 0 0 0 0;
fixed: 1 1;
}
}
part { name: "bar"; type: RECT; mouse_events: 0;
clip_to: "controlbar_clip";
description { state: "default" 0.0;
fixed: 1 1;
color: 51 153 255 255;
rel1.offset: 0 -5;
rel1.relative: 0.0 1.0;
rel1.to_x: "bar_bg";
rel2.to_x: "rage.dragable.pos";
min: 0 5;
}
}
part { name: "rage.pos.swallow"; type: SWALLOW;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
rel1.to: "rage.dragable.pos";
rel2.to: "rage.dragable.pos";
align: 0.5 1.0;
min: 20 20;
}
}
part { name: "posevent"; type: RECT;
clip_to: "controlbar_clip";
scale: 1;
ignore_flags: ON_HOLD;
dragable.events: "rage.dragable.pos";
description { state: "default" 0.0;
fixed: 1 1;
rel1.to: "rage.pos.swallow";
rel2.to: "rage.pos.swallow";
color: 0 0 0 0;
min: 20 20;
align: 0.5 1.0;
}
}
part { name: "rage.pos.prev.swallow"; type: SWALLOW;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
rel1.relative: 0.0 0.0;
rel1.to_y: "dragover_event";
rel2.relative: 0.0 0.0;
rel2.to_y: "dragover_event";
min: 20 20;
align: 0.0 1.0;
}
}
part { name: "rage.pos.play.swallow"; type: SWALLOW;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
rel1.to_x: "rage.pos.prev.swallow";
rel1.to_y: "dragover_event";
rel1.relative: 1.0 0.0;
rel2.to_x: "rage.pos.prev.swallow";
rel2.to_y: "dragover_event";
rel2.relative: 1.0 0.0;
min: 20 20;
align: 0.0 1.0;
}
}
part { name: "rage.pos.next.swallow"; type: SWALLOW;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
rel1.to_x: "rage.pos.play.swallow";
rel1.to_y: "dragover_event";
rel1.relative: 1.0 0.0;
rel2.to_x: "rage.pos.play.swallow";
rel2.to_y: "dragover_event";
rel2.relative: 1.0 0.0;
min: 20 20;
align: 0.0 1.0;
}
}
part { name: "rage.vol.swallow"; type: SWALLOW;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
rel1.to_y: "dragover_event";
rel1.relative: 1.0 0.0;
rel2.to_y: "dragover_event";
rel2.relative: 1.0 0.0;
min: 20 20;
align: 1.0 1.0;
}
}
part { name: "pos_prev";
scale: 1;
clip_to: "controlbar_clip";
description { state: "default" 0.0;
fixed: 1 1;
rel1.to: "rage.pos.prev.swallow";
rel2.to: "rage.pos.prev.swallow";
image.normal: "icon_prev.png";
min: 20 20; max: 20 20;
}
description { state: "active" 0.0;
inherit: "default" 0.0;
color: 160 160 160 255;
}
}
part { name: "pos_prevev"; type: RECT;
description { state: "default" 0.0;
rel1.to: "rage.pos.prev.swallow";
rel2.to: "rage.pos.prev.swallow";
color: 0 0 0 0;
}
}
program {
signal: "mouse,down,1"; source: "pos_prevev";
action: STATE_SET "active" 0.0;
target: "pos_prev";
}
program {
signal: "mouse,up,1"; source: "pos_prevev";
action: STATE_SET "default" 0.0;
target: "pos_prev";
}
part { name: "playpause"; type: RECT;
clip_to: "controlbar_clip";
description { state: "default" 0.0;
visible: 0;
}
description { state: "pause" 0.0;
visible: 1;
}
}
part { name: "playpause2"; type: RECT;
clip_to: "controlbar_clip";
description { state: "default" 0.0;
visible: 1;
}
description { state: "pause" 0.0;
visible: 0;
}
}
part { name: "pos_pause";
scale: 1;
clip_to: "playpause";
description { state: "default" 0.0;
fixed: 1 1;
rel1.to: "rage.pos.play.swallow";
rel2.to: "rage.pos.play.swallow";
image.normal: "icon_play.png";
min: 20 20; max: 20 20;
}
description { state: "active" 0.0;
inherit: "default" 0.0;
color: 160 160 160 255;
}
}
part { name: "pos_pauseev"; type: RECT;
clip_to: "playpause";
description { state: "default" 0.0;
rel1.to: "rage.pos.play.swallow";
rel2.to: "rage.pos.play.swallow";
color: 0 0 0 0;
}
}
program {
signal: "mouse,down,1"; source: "pos_pauseev";
action: STATE_SET "active" 0.0;
target: "pos_pause";
}
program {
signal: "mouse,up,1"; source: "pos_pauseev";
action: STATE_SET "default" 0.0;
target: "pos_pause";
}
part { name: "pos_play";
scale: 1;
clip_to: "playpause2";
description { state: "default" 0.0;
fixed: 1 1;
rel1.to: "rage.pos.play.swallow";
rel2.to: "rage.pos.play.swallow";
min: 20 20; max: 20 20;
image.normal: "icon_pause.png";
}
description { state: "active" 0.0;
inherit: "default" 0.0;
color: 160 160 160 255;
}
}
part { name: "pos_playev"; type: RECT;
clip_to: "playpause2";
description { state: "default" 0.0;
rel1.to: "rage.pos.play.swallow";
rel2.to: "rage.pos.play.swallow";
color: 0 0 0 0;
}
}
program {
signal: "mouse,down,1"; source: "pos_playev";
action: STATE_SET "active" 0.0;
target: "pos_play";
}
program {
signal: "mouse,up,1"; source: "pos_playev";
action: STATE_SET "default" 0.0;
target: "pos_play";
}
program {
signal: "action,play"; source: "rage";
action: STATE_SET "default" 0.0;
target: "playpause";
target: "playpause2";
}
program {
signal: "action,pause"; source: "rage";
action: STATE_SET "pause" 0.0;
target: "playpause";
target: "playpause2";
}
part { name: "pos_next";
scale: 1;
clip_to: "controlbar_clip";
description { state: "default" 0.0;
fixed: 1 1;
rel1.to: "rage.pos.next.swallow";
rel2.to: "rage.pos.next.swallow";
image.normal: "icon_next.png";
min: 20 20; max: 20 20;
}
description { state: "active" 0.0;
inherit: "default" 0.0;
color: 160 160 160 255;
}
}
part { name: "pos_nextev"; type: RECT;
description { state: "default" 0.0;
rel1.to: "rage.pos.next.swallow";
rel2.to: "rage.pos.next.swallow";
color: 0 0 0 0;
}
}
program {
signal: "mouse,down,1"; source: "pos_nextev";
action: STATE_SET "active" 0.0;
target: "pos_next";
}
program {
signal: "mouse,up,1"; source: "pos_nextev";
action: STATE_SET "default" 0.0;
target: "pos_next";
}
part { name: "vol"; scale: 1;
clip_to: "controlbar_clip";
description { state: "default" 0.0;
fixed: 1 1;
rel1.to: "rage.vol.swallow";
rel2.to: "rage.vol.swallow";
image.normal: "icon_volume.png";
min: 20 20; max: 20 20;
}
description { state: "active" 0.0;
inherit: "default" 0.0;
color: 160 160 160 255;
}
}
part { name: "volev"; type: RECT;
clip_to: "controlbar_clip";
description { state: "default" 0.0;
rel1.to: "rage.vol.swallow";
rel2.to: "rage.vol.swallow";
color: 0 0 0 0;
}
}
program {
signal: "mouse,down,1"; source: "volev";
action: STATE_SET "active" 0.0;
target: "vol";
}
program {
signal: "mouse,up,1"; source: "volev";
action: STATE_SET "default" 0.0;
target: "vol";
}
program {
signal: "mouse,clicked,1"; source: "optev";
action: SIGNAL_EMIT "pos,action,options" "rage";
}
program {
signal: "mouse,clicked,1"; source: "fullscreenev";
action: SIGNAL_EMIT "win,fullscreen" "rage";
}
program {
signal: "mouse,clicked,1"; source: "unfullscreenev";
action: SIGNAL_EMIT "win,unfullscreen" "rage";
}
program {
signal: "mouse,clicked,1"; source: "closeev";
action: SIGNAL_EMIT "win,close" "rage";
}
program {
signal: "mouse,clicked,1"; source: "pos_prevev";
action: SIGNAL_EMIT "pos,action,prev" "rage";
}
program {
signal: "mouse,clicked,1"; source: "pos_nextev";
action: SIGNAL_EMIT "pos,action,next" "rage";
}
program {
signal: "mouse,clicked,1"; source: "pos_playev";
action: SIGNAL_EMIT "pos,action,pause" "rage";
}
program {
signal: "mouse,clicked,1"; source: "pos_pauseev";
action: SIGNAL_EMIT "pos,action,play" "rage";
}
part { name: "rage.pos"; type: TEXT; mouse_events: 0;
clip_to: "controlbar_clip";
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
rel1.to: "slash";
rel1.relative: 0.0 0.0;
rel1.offset: -5 0;
rel2.to: "slash";
rel2.relative: 0.0 1.0;
rel2.offset: -5 -1;
color: 255 255 255 255;
align: 1.0 0.5;
text { font: "Sans"; size: 8;
align: 1.0 0.5;
min: 1 1;
elipsis: -1;
}
}
}
part { name: "slash"; type: TEXT; mouse_events: 0;
clip_to: "controlbar_clip";
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
rel1.to: "rage.length";
rel1.relative: 0.0 0.0;
rel1.offset: -5 0;
rel2.to: "rage.length";
rel2.relative: 0.0 1.0;
rel2.offset: -5 -1;
color: 255 255 255 255;
align: 1.0 0.5;
text { font: "Sans"; size: 8;
align: 1.0 0.5;
min: 1 1;
text: "/";
elipsis: -1;
}
}
}
part { name: "rage.length"; type: TEXT; mouse_events: 0;
clip_to: "controlbar_clip";
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
rel1.to_y: "pos_next";
rel1.to_x: "vol";
rel1.relative: 0.0 0.0;
rel1.offset: -1 0;
rel2.to_y: "pos_next";
rel2.to_x: "vol";
rel2.relative: 0.0 1.0;
rel2.offset: -1 -1;
color: 255 255 255 255;
align: 1.0 0.5;
text { font: "Sans"; size: 8;
align: 1.0 0.5;
min: 1 1;
elipsis: -1;
}
}
}
#define STATE_FADE_PROG(_name) \
program { \
signal: "action,"_name; source: "rage"; \
action: STATE_SET "visible" 0.0; \
transition: SINUSOIDAL 0.2 CURRENT; \
target: _name; \
after: _name"2"; \
} \
program { name: _name"2"; \
action: STATE_SET "default" 0.0; \
in: 1.0 0.0; \
transition: SINUSOIDAL 1.0 CURRENT; \
target: _name""; \
}
part { name: "mute"; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
rel2.relative: 0.0 0.0;
rel2.offset: 0 0;
align: 0.0 0.0;
image.normal: "icon_mute.png";
min: 20 20; max: 20 20;
aspect: 1.0 1.0; aspect_preference: BOTH;
color: 255 255 255 0;
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
visible: 1;
}
}
STATE_FADE_PROG("mute")
part { name: "unmute"; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
rel2.relative: 0.0 0.0;
rel2.offset: 0 0;
align: 0.0 0.0;
image.normal: "icon_volume.png";
min: 20 20; max: 20 20;
aspect: 1.0 1.0; aspect_preference: BOTH;
color: 255 255 255 0;
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
visible: 1;
}
}
STATE_FADE_PROG("unmute")
part { name: "loop"; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
rel1.relative: 1.0 0.0;
rel1.offset: 0 0;
rel1.to_x: "mute";
rel2.relative: 1.0 0.0;
rel2.offset: 0 0;
rel2.to_x: "mute";
align: 0.0 0.0;
image.normal: "icon_refresh.png";
min: 20 20; max: 20 20;
aspect: 1.0 1.0; aspect_preference: BOTH;
color: 255 255 255 0;
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
visible: 1;
}
}
STATE_FADE_PROG("loop")
part { name: "sequential"; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
rel1.relative: 1.0 0.0;
rel1.offset: 0 0;
rel1.to_x: "mute";
rel2.relative: 1.0 0.0;
rel2.offset: 0 0;
rel2.to_x: "mute";
align: 0.0 0.0;
image.normal: "icon_arrow_right.png";
min: 20 20; max: 20 20;
aspect: 1.0 1.0; aspect_preference: BOTH;
color: 255 255 255 0;
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
visible: 1;
}
}
STATE_FADE_PROG("sequential")
part { name: "statusloc"; type: SPACER;
description { state: "default" 0.0;
rel1.to: "rage.content";
rel2.to: "rage.content";
}
description { state: "novideo" 0.0;
rel1.to: "speaker_base";
rel2.to: "speaker_base";
}
}
part { name: "play"; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
rel1.relative: 0.5 0.5;
rel2.relative: 0.5 0.5;
rel1.to: "statusloc";
rel2.to: "statusloc";
image.normal: "icon_play.png";
min: 40 40; max: 40 40;
aspect: 1.0 1.0; aspect_preference: BOTH;
color: 255 255 255 0;
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
visible: 1;
}
}
STATE_FADE_PROG("play")
part { name: "pause"; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
rel1.relative: 0.5 0.5;
rel2.relative: 0.5 0.5;
rel1.to: "statusloc";
rel2.to: "statusloc";
image.normal: "icon_pause.png";
min: 40 40; max: 40 40;
aspect: 1.0 1.0; aspect_preference: BOTH;
color: 255 255 255 0;
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
visible: 1;
}
}
STATE_FADE_PROG("pause")
part { name: "stop"; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
rel1.relative: 0.5 0.5;
rel2.relative: 0.5 0.5;
rel1.to: "statusloc";
rel2.to: "statusloc";
image.normal: "icon_stop.png";
min: 40 40; max: 40 40;
aspect: 1.0 1.0; aspect_preference: BOTH;
color: 255 255 255 0;
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
visible: 1;
}
}
STATE_FADE_PROG("stop")
part { name: "eject"; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
rel1.relative: 0.5 0.5;
rel2.relative: 0.5 0.5;
rel1.to: "statusloc";
rel2.to: "statusloc";
image.normal: "icon_eject.png";
min: 40 40; max: 40 40;
aspect: 1.0 1.0; aspect_preference: BOTH;
color: 255 255 255 0;
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
visible: 1;
}
}
STATE_FADE_PROG("eject")
part { name: "forward"; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
rel1.relative: 0.5 0.5;
rel2.relative: 0.5 0.5;
rel1.to: "statusloc";
rel2.to: "statusloc";
image.normal: "icon_forward.png";
min: 40 40; max: 40 40;
aspect: 1.0 1.0; aspect_preference: BOTH;
color: 255 255 255 0;
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
visible: 1;
}
}
STATE_FADE_PROG("forward")
part { name: "next"; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
rel1.relative: 0.5 0.5;
rel2.relative: 0.5 0.5;
rel1.to: "statusloc";
rel2.to: "statusloc";
image.normal: "icon_next.png";
min: 40 40; max: 40 40;
aspect: 1.0 1.0; aspect_preference: BOTH;
color: 255 255 255 0;
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
visible: 1;
}
}
STATE_FADE_PROG("next")
part { name: "rewind"; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
rel1.relative: 0.5 0.5;
rel2.relative: 0.5 0.5;
rel1.to: "statusloc";
rel2.to: "statusloc";
image.normal: "icon_rewind.png";
min: 40 40; max: 40 40;
aspect: 1.0 1.0; aspect_preference: BOTH;
color: 255 255 255 0;
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
visible: 1;
}
}
STATE_FADE_PROG("rewind")
part { name: "prev"; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
rel1.relative: 0.5 0.5;
rel2.relative: 0.5 0.5;
rel1.to: "statusloc";
rel2.to: "statusloc";
image.normal: "icon_prev.png";
min: 40 40; max: 40 40;
aspect: 1.0 1.0; aspect_preference: BOTH;
color: 255 255 255 0;
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
visible: 1;
}
}
STATE_FADE_PROG("prev")
part { name: "rage.options.swallow"; type: SWALLOW;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
rel1.relative: 0.0 0.0;
rel1.offset: -1 0;
rel1.to: "rage.win.fullscreen";
rel2.relative: 0.0 1.0;
rel2.offset: -1 -1;
rel2.to: "rage.win.fullscreen";
min: 20 20;
align: 1.0 0.0;
}
}
part { name: "rage.win.fullscreen"; type: SWALLOW;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
rel1.relative: 0.0 0.0;
rel1.offset: -1 0;
rel1.to: "rage.win.close";
rel2.relative: 0.0 1.0;
rel2.offset: -1 -1;
rel2.to: "rage.win.close";
min: 20 20;
align: 1.0 0.0;
}
}
part { name: "rage.win.close"; type: SWALLOW;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
rel1.relative: 1.0 0.0;
rel1.offset: 0 0;
rel2.relative: 1.0 0.0;
rel2.offset: 0 0;
min: 20 20;
align: 0.0 0.0;
}
description { state: "fullscreen" 0.0;
fixed: 1 1;
rel1.relative: 1.0 0.0;
rel1.offset: -1 0;
rel2.relative: 1.0 0.0;
rel2.offset: -1 0;
min: 20 20;
align: 1.0 0.0;
}
}
part { name: "close";
scale: 1;
clip_to: "posclip";
description { state: "default" 0.0;
fixed: 1 1;
rel1.to: "rage.win.close";
rel2.to: "rage.win.close";
image.normal: "icon_close.png";
min: 20 20; max: 20 20;
}
description { state: "active" 0.0;
inherit: "default" 0.0;
color: 160 160 160 255;
}
}
part { name: "closeev"; type: RECT;
description { state: "default" 0.0;
rel1.to: "rage.win.close";
rel2.to: "rage.win.close";
color: 0 0 0 0;
}
}
program {
signal: "mouse,down,1"; source: "closeev";
action: STATE_SET "active" 0.0;
target: "close";
}
program {
signal: "mouse,up,1"; source: "closeev";
action: STATE_SET "default" 0.0;
target: "close";
}
part { name: "fullscreenclip"; type: RECT;
clip_to: "posclip";
description { state: "default" 0.0;
rel1.to: "fullscreen";
rel2.to: "fullscreen";
visible: 1;
}
description { state: "fullscreen" 0.0;
inherit: "default" 0.0;
visible: 0;
}
}
part { name: "unfullscreenclip"; type: RECT;
clip_to: "posclip";
description { state: "default" 0.0;
rel1.to: "unfullscreen";
rel2.to: "unfullscreen";
visible: 0;
}
description { state: "fullscreen" 0.0;
inherit: "default" 0.0;
visible: 1;
}
}
program {
signal: "state,win,fullscreen"; source: "rage";
action: STATE_SET "fullscreen" 0.0;
target: "fullscreenclip";
target: "unfullscreenclip";
target: "rage.win.close";
}
program {
signal: "state,win,normal"; source: "rage";
action: STATE_SET "default" 0.0;
target: "fullscreenclip";
target: "unfullscreenclip";
target: "rage.win.close";
}
part { name: "fullscreen";
scale: 1;
clip_to: "fullscreenclip";
description { state: "default" 0.0;
fixed: 1 1;
rel1.to: "rage.win.fullscreen";
rel2.to: "rage.win.fullscreen";
image.normal: "icon_fullscreen.png";
min: 20 20; max: 20 20;
}
description { state: "active" 0.0;
inherit: "default" 0.0;
color: 160 160 160 255;
}
}
part { name: "fullscreenev"; type: RECT;
clip_to: "fullscreenclip";
description { state: "default" 0.0;
rel1.to: "rage.win.fullscreen";
rel2.to: "rage.win.fullscreen";
color: 0 0 0 0;
}
}
program {
signal: "mouse,down,1"; source: "fullscreenev";
action: STATE_SET "active" 0.0;
target: "fullscreen";
}
program {
signal: "mouse,up,1"; source: "fullscreenev";
action: STATE_SET "default" 0.0;
target: "fullscreen";
}
part { name: "unfullscreen";
scale: 1;
clip_to: "unfullscreenclip";
description { state: "default" 0.0;
fixed: 1 1;
rel1.to: "rage.win.fullscreen";
rel2.to: "rage.win.fullscreen";
image.normal: "icon_unfullscreen.png";
min: 20 20; max: 20 20;
}
description { state: "active" 0.0;
inherit: "default" 0.0;
color: 160 160 160 255;
}
}
part { name: "unfullscreenev"; type: RECT;
clip_to: "unfullscreenclip";
description { state: "default" 0.0;
rel1.to: "rage.win.fullscreen";
rel2.to: "rage.win.fullscreen";
color: 0 0 0 0;
}
}
program {
signal: "mouse,down,1"; source: "unfullscreenev";
action: STATE_SET "active" 0.0;
target: "unfullscreen";
}
program {
signal: "mouse,up,1"; source: "unfullscreenev";
action: STATE_SET "default" 0.0;
target: "unfullscreen";
}
part { name: "opt";
scale: 1;
clip_to: "posclip";
description { state: "default" 0.0;
fixed: 1 1;
rel1.to: "rage.options.swallow";
rel2.to: "rage.options.swallow";
image.normal: "icon_spanner.png";
min: 20 20; max: 20 20;
}
description { state: "active" 0.0;
inherit: "default" 0.0;
color: 160 160 160 255;
}
}
part { name: "optev"; type: RECT;
description { state: "default" 0.0;
rel1.to: "rage.options.swallow";
rel2.to: "rage.options.swallow";
color: 0 0 0 0;
}
}
program {
signal: "mouse,down,1"; source: "optev";
action: STATE_SET "active" 0.0;
target: "opt";
}
program {
signal: "mouse,up,1"; source: "optev";
action: STATE_SET "default" 0.0;
target: "opt";
}
part { name: "dragover_master"; type: RECT;
clip_to: "posclip";
description { state: "default" 0.0;
visible: 1;
}
description { state: "novideo" 0.0;
visible: 0;
}
}
program {
signal: "state,novideo"; source: "rage";
action: STATE_SET "novideo" 0.0;
target: "dragover_master";
}
program {
signal: "state,video"; source: "rage";
action: STATE_SET "default" 0.0;
target: "dragover_master";
}
part { name: "dragover_active"; type: RECT;
clip_to: "dragover_master";
description { state: "default" 0.0;
color: 255 255 255 0;
visible: 0;
}
description { state: "visible" 0.0;
color: 255 255 255 255;
visible: 1;
}
}
part { name: "dragover_event"; type: RECT; repeat_events: 1;
clip_to: "posclip";
description { state: "default" 0.0;
rel1.to_x: "bar_bg";
rel1.to_y: "posevent";
rel2.to_x: "bar_bg";
color: 0 0 0 0;
fixed: 1 1;
}
}
program {
signal: "mouse,in"; source: "dragover_event";
action: STATE_SET "visible" 0.0;
transition: SINUSOIDAL 0.5;
target: "dragover_active";
}
program {
signal: "mouse,out"; source: "dragover_event";
action: STATE_SET "default" 0.0;
transition: SINUSOIDAL 1.0;
target: "dragover_active";
}
part { name: "dragover"; type: SPACER;
description { state: "default" 0.0;
rel1.to: "dragover_event";
rel1.relative: 0.5 0.0;
rel2.to: "dragover_event";
rel2.relative: 0.5 0.0;
fixed: 1 1;
}
}
part { name: "dragshadow"; mouse_events: 0;
clip_to: "dragover_active";
description { state: "default" 0.0;
fixed: 1 1;
rel1.to: "rage.dragable.content";
rel2.to: "rage.dragable.content";
color: 255 255 255 128;
image.normal: "win_shadow.png";
image.border: 14 14 14 14;
image.middle: 0;
rel1.offset: -7 -3;
rel2.offset: 6 11;
fill.smooth: 0;
}
}
part { name: "dragover_fill"; type: RECT; mouse_events: 0;
clip_to: "dragover_active";
description { state: "default" 0.0;
fixed: 1 1;
color: 32 32 32 255;
rel1.to: "rage.dragable.content";
rel2.to: "rage.dragable.content";
}
}
part { name: "rage.dragable.content"; type: SWALLOW; mouse_events: 0;
clip_to: "dragover_active";
description { state: "default" 0.0;
rel1.to: "dragover";
rel2.to: "dragover";
align: 0.5 1.0;
fixed: 1 1;
}
}
program { name: "dragmove";
signal: "mouse,move"; source: "dragover_event";
script {
new mx, my, x, y, w, h;
new Float:pos, Float:px, Float:pw;
get_mouse(mx, my);
get_geometry(PART:"dragover_event", x, y, w, h);
x = mx - x;
y = my - y;
px = x;
pw = w;
if (w > 0) pos = px / pw;
else pos = 0.5;
custom_state(PART:"dragover", "default", 0.0);
set_state_val(PART:"dragover", STATE_REL1, pos, 0.0);
set_state_val(PART:"dragover", STATE_REL2, pos, 0.0);
set_state(PART:"dragover", "custom", 0.0);
send_message(MSG_FLOAT, 13, pos);
if (get_int(drag_is_down) == 1)
send_message(MSG_FLOAT, 10, pos);
}
}
program { name: "dragdown";
signal: "mouse,down,1"; source: "dragover_event";
script {
new mx, my, x, y, w, h;
new Float:pos, Float:px, Float:pw;
set_int(drag_is_down, 1);
get_mouse(mx, my);
get_geometry(PART:"dragover_event", x, y, w, h);
x = mx - x;
y = my - y;
px = x;
pw = w;
if (w > 0) pos = px / pw;
else pos = 0.5;
custom_state(PART:"dragover", "default", 0.0);
set_state_val(PART:"dragover", STATE_REL1, pos, 0.0);
set_state_val(PART:"dragover", STATE_REL2, pos, 0.0);
set_state(PART:"dragover", "custom", 0.0);
send_message(MSG_FLOAT, 10, pos);
}
}
program { name: "dragup";
signal: "mouse,up,1"; source: "dragover_event";
script {
set_int(drag_is_down, 0);
}
}
part { name: "event"; type: RECT; repeat_events: 1;
description { state: "default" 0.0;
color: 0 0 0 0;
}
}
program { name: "move1";
signal: "mouse,move"; source: "event";
script {
new t;
if (!get_int(pos_visible)) {
stop_program(PROGRAM:"poshide");
run_program(PROGRAM:"posshow");
if (!get_int(novideo)) {
stop_program(PROGRAM:"cbarhide");
run_program(PROGRAM:"cbarshow");
}
set_int(pos_visible, 1);
}
t = get_int(pos_timer);
if (t) cancel_timer(t);
t = timer(5.0, "pos_timeout", 1);
set_int(pos_timer, t);
}
}
program { name: "posshow";
action: STATE_SET "visible" 0.0;
transition: SINUSOIDAL 0.3;
target: "posclip";
}
program { name: "cbarshow";
action: STATE_SET "visible" 0.0;
transition: SINUSOIDAL 0.3;
target: "controlbar_clip";
}
program { name: "poshide";
action: STATE_SET "default" 0.0;
transition: SINUSOIDAL 1.0;
target: "posclip";
}
program { name: "cbarhide";
action: STATE_SET "default" 0.0;
transition: SINUSOIDAL 1.0;
target: "controlbar_clip";
}
part { name: "listevent"; type: RECT; repeat_events: 1;
description { state: "default" 0.0;
color: 0 0 0 0;
rel1.relative: 0.8 0.0;
rel2.relative: 1.0 0.0;
rel2.to_y: "controlbar";
}
}
part { name: "listevent2"; type: RECT; repeat_events: 1;
description { state: "default" 0.0;
color: 0 0 0 0;
rel2.relative: 0.8 1.0;
}
}
program {
signal: "mouse,in"; source: "listevent";
action: SIGNAL_EMIT "list,show" "rage";
}
program {
signal: "mouse,in"; source: "listevent2";
action: SIGNAL_EMIT "list,hide" "rage";
}
program {
signal: "action,newvid"; source: "rage";
action: SIGNAL_EMIT "mouse,move" "event";
}
program {
signal: "action,rewind"; source: "rage";
action: SIGNAL_EMIT "mouse,move" "event";
}
program {
signal: "action,forward"; source: "rage";
action: SIGNAL_EMIT "mouse,move" "event";
}
program {
signal: "action,next"; source: "rage";
action: SIGNAL_EMIT "mouse,move" "event";
}
program {
signal: "action,prev"; source: "rage";
action: SIGNAL_EMIT "mouse,move" "event";
}
program {
signal: "action,play"; source: "rage";
action: SIGNAL_EMIT "mouse,move" "event";
}
program {
signal: "action,pause"; source: "rage";
action: SIGNAL_EMIT "mouse,move" "event";
}
//// -- ABOUT IMAGE
part { name: "tv-bg";
clip_to: "tv-clip";
description { state: "default" 0.0;
rel1.to: "tv";
rel1.relative: (40/256) (120/256);
rel2.to: "tv";
rel2.relative: (174/256) (222/256);
image.normal: "tv-bg.png";
}
}
part { name: "tv-anim";
clip_to: "tv-clip";
description { state: "default" 0.0;
rel1.to: "tv-bg";
rel2.to: "tv-bg";
image.tween: "r-4.png";
image.tween: "r-3.png";
image.tween: "r-2.png";
image.tween: "r-1.png";
image.normal: "r-0.png";
}
}
part { name: "tv";
clip_to: "tv-clip";
description { state: "default" 0.0;
aspect: 1.0 1.0; aspect_preference: BOTH;
max: 256 256;
image.normal: "tv-over.png";
}
}
program {
signal: "mouse,clicked,1"; source: "tv";
action: SIGNAL_EMIT "about,hide" "rage";
}
part { name: "tv-clip"; type: RECT;
description { state: "default" 0.0;
visible: 0;
color: 255 255 255 0;
}
description { state: "visible" 0.0;
visible: 1;
color: 255 255 255 255;
}
}
program {
signal: "about,show"; source: "rage";
action: STATE_SET "visible" 0.0;
transition: SINUSOIDAL 0.5;
target: "tv-clip";
}
program {
signal: "about,hide"; source: "rage";
action: STATE_SET "default" 0.0;
transition: SINUSOIDAL 1.0;
target: "tv-clip";
after: "tv-hide2";
}
program { name: "tv-hide2";
action: ACTION_STOP;
target: "tv-anim";
}
program { name: "tv-anim";
signal: "about,show"; source: "rage";
action: STATE_SET "default" 0.0;
transition: LINEAR 0.5;
target: "tv-anim";
after: "tv-anim";
}
}
}
group { name: "rage/list/item";
images.image: "win_shadow.png" COMP;
parts {
part { name: "shadow"; mouse_events: 0;
description { state: "default" 0.0;
fixed: 1 1;
rel1.to: "clip";
rel2.to: "clip";
color: 255 255 255 128;
image.normal: "win_shadow.png";
image.border: 14 14 14 14;
image.middle: 0;
rel1.offset: -7 -3;
rel2.offset: 6 11;
fill.smooth: 0;
}
}
part { name: "glow"; type: RECT; mouse_events: 0;
description { state: "default" 0.0;
rel1.to: "clip";
rel2.to: "clip";
color: 51 153 255 0;
visible: 0;
}
description { state: "selected" 0.0;
inherit: "default" 0.0;
rel1.offset: -4 -4;
rel2.offset: 3 3;
color: 51 153 255 255;
visible: 1;
}
}
program {
signal: "rage,state,selected"; source: "rage";
action: STATE_SET "selected" 0.0;
transition: SINUSOIDAL 0.1;
target: "glow";
target: "clip";
}
program {
signal: "rage,state,unselected"; source: "rage";
action: STATE_SET "default" 0.0;
transition: SINUSOIDAL 0.3;
target: "glow";
target: "clip";
}
part { name: "base"; type: RECT; mouse_events: 0;
description { state: "default" 0.0;
color: 32 32 32 255;
rel1.to: "clip";
rel2.to: "clip";
}
}
part { name: "clip"; type: RECT;
description { state: "default" 0.0;
rel1.offset: 4 4;
rel2.offset: -5 -5;
}
}
part { name: "rage.sizer"; type: SWALLOW;
description { state: "default" 0.0;
min: 16 16;
rel1.to: "clip";
rel2.to: "clip";
}
}
part { name: "rage.content"; type: SWALLOW;
clip_to: "clip";
description { state: "default" 0.0;
rel1.to: "clip";
rel2.to: "clip";
}
}
part { name: "rage.title"; type: TEXT; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
align: 0.0 1.0;
rel1.to: "clip";
rel1.offset: 4 4;
rel2.to: "clip";
rel2.offset: -5 -5;
color: 255 255 255 255;
text { font: "Sans"; size: 8;
align: 0.0 1.0;
min: 0 1;
elipsis: 0;
}
}
}
part { name: "event"; type: RECT;
ignore_flags: ON_HOLD;
description { state: "default" 0.0;
color: 0 0 0 0;
}
}
program {
signal: "mouse,clicked,1"; source: "event";
action: SIGNAL_EMIT "rage,selected" "rage";
}
}
}
group { name: "rage/browser/entry";
parts {
part { name: "rage.title"; type: TEXT; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
fixed: 0 1;
align: 0.0 0.0;
rel1.offset: 0 10;
rel2.offset: -1 10;
rel2.relative: 1.0 0.0;
color: 255 255 255 255;
text { font: "Sans:style=Bold"; size: 10;
align: 0.0 0.0;
min: 0 1;
elipsis: 0;
}
}
description { state: "fullscreen" 0.0;
inherit: "default" 0.0;
rel1.offset: 0 40;
rel2.offset: -1 40;
text.size: 40;
}
}
part { name: "rage.content"; type: SWALLOW;
description { state: "default" 0.0;
rel1.to_y: "rage.title";
rel1.relative: 0.0 1.0;
rel1.offset: 0 10;
rel2.offset: -1 -1;
}
description { state: "fullscreen" 0.0;
inherit: "default" 0.0;
rel1.offset: 0 40;
rel2.offset: -1 -11;
}
}
}
programs {
program { signal: "state,fullscreen"; source: "rage";
action: STATE_SET "fullscreen" 0.0;
target: "rage.title";
target: "rage.content";
}
program { signal: "state,normal"; source: "rage";
action: STATE_SET "default" 0.0;
target: "rage.title";
target: "rage.content";
}
}
}
group { name: "rage/browser/item";
images.image: "win_shadow.png" COMP;
images.image: "dimmer.png" COMP;
styles {
style { name: "browser_item_label";
base: "font=Sans font_size=10 color=#ffffffff wrap=mixed ellipsis=1.0";
}
style { name: "browser_item_label_fullscreen";
base: "font=Sans font_size=20 color=#ffffffff wrap=mixed ellipsis=1.0";
}
}
parts {
part { name: "shadow"; mouse_events: 0;
description { state: "default" 0.0;
fixed: 1 1;
rel1.to: "clip";
rel2.to: "clip";
color: 255 255 255 128;
image.normal: "win_shadow.png";
image.border: 14 14 14 14;
image.middle: 0;
rel1.offset: -7 -3;
rel2.offset: 6 11;
fill.smooth: 0;
}
}
part { name: "base"; type: RECT; mouse_events: 0;
description { state: "default" 0.0;
color: 0 0 0 255;
rel1.to: "clip";
rel2.to: "clip";
}
}
part { name: "glow"; type: RECT; mouse_events: 0;
description { state: "default" 0.0;
rel1.to: "clip";
rel2.to: "clip";
color: 51 153 255 0;
visible: 0;
}
description { state: "selected" 0.0;
inherit: "default" 0.0;
rel1.to: "p1";
rel1.relative: 0.75 0.75;
rel2.to: "p2";
rel2.relative: 0.25 0.25;
color: 51 153 255 255;
visible: 1;
}
}
program {
signal: "rage,state,selected"; source: "rage";
action: STATE_SET "selected" 0.0;
transition: SINUSOIDAL 0.1;
target: "glow";
target: "clip";
}
program {
signal: "rage,state,unselected"; source: "rage";
action: STATE_SET "default" 0.0;
transition: SINUSOIDAL 0.3;
target: "glow";
target: "clip";
}
part { name: "p1"; type: SPACER;
scale: 1;
description { state: "default" 0.0;
rel2.relative: 0.0 0.0;
align: 0.0 0.0;
min: 8 8;
fixed: 1 1;
}
description { state: "fullscreen" 0.0;
inherit: "default" 0.0;
min: 16 16;
}
}
part { name: "p2"; type: SPACER;
scale: 1;
description { state: "default" 0.0;
rel1.relative: 1.0 1.0;
align: 1.0 1.0;
min: 8 8;
fixed: 1 1;
}
description { state: "fullscreen" 0.0;
inherit: "default" 0.0;
min: 16 16;
}
}
part { name: "clip"; type: RECT;
description { state: "default" 0.0;
rel1.to: "p1";
rel1.relative: 1.0 1.0;
rel2.to: "p2";
rel2.relative: 0.0 0.0;
color: 192 192 192 255;
}
description { state: "selected" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
}
}
part { name: "rage.content"; type: SWALLOW;
clip_to: "clip";
description { state: "default" 0.0;
rel1.to: "clip";
rel2.to: "clip";
}
}
part { name: "dimmer"; mouse_events: 0;
clip_to: "clip";
description { state: "default" 0.0;
image.normal: "dimmer.png";
fill.smooth: 0;
rel1.to: "clip";
rel2.to: "clip";
}
}
part { name: "rage.title"; type: TEXTBLOCK; mouse_events: 0;
clip_to: "clip";
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
align: 0.0 1.0;
rel1.offset: 2 2;
rel1.to: "clip";
rel2.offset: -3 -3;
rel2.to: "clip";
color: 255 255 255 255;
text { font: "Sans"; size: 20;
style: "browser_item_label";
align: 0.0 1.0;
min: 0 1;
elipsis: 0;
}
}
description { state: "fullscreen" 0.0;
inherit: "default" 0.0;
rel1.offset: 8 8;
rel2.offset: -9 -9;
text.style: "browser_item_label_fullscreen";
}
}
part { name: "event"; type: RECT;
ignore_flags: ON_HOLD;
description { state: "default" 0.0;
color: 0 0 0 0;
}
}
program {
signal: "mouse,clicked,1"; source: "event";
action: SIGNAL_EMIT "rage,selected" "rage";
}
}
programs {
program { signal: "state,fullscreen"; source: "rage";
action: STATE_SET "fullscreen" 0.0;
target: "rage.title";
target: "p1";
target: "p2";
}
program { signal: "state,normal"; source: "rage";
action: STATE_SET "default" 0.0;
target: "rage.title";
target: "p1";
target: "p2";
}
}
}
}