collections { ////////////////////////////////////////////////////////////////////////////// //// the background and general container for the terminal group { name: "rage/core"; images.image: "bg_bevel.png" COMP; images.image: "bevel_dark_out.png" COMP; images.image: "pm_fill.png" COMP; images.image: "pm_overlay.png" COMP; images.image: "pm_shadow.png" COMP; images.image: "glow_exclam.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: "horizontal_separated_bar_small_glow.png" COMP; images.image: "vgrad_shadow_bi.png" COMP; set { name: "pos_indicator"; image { image: "pos_indicator_big.png" COMP; size: 32 28 99999 99999; } image { image: "pos_indicator.png" COMP; size: 0 0 31 27; } } images.image: "icon_next2.png" COMP; images.image: "icon_prev2.png" COMP; images.image: "icon_play2.png" COMP; images.image: "icon_pause2.png" COMP; images.image: "icon_volume2.png" COMP; images.image: "icon_spanner2.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 pos_timeout(val) { set_int(pos_visible, 0); set_int(pos_timer, 0); stop_program(PROGRAM:"posshow"); run_program(PROGRAM:"poshide"); } } parts { part { name: "fill"; mouse_events: 0; description { state: "default" 0.0; fixed: 1 1; image.normal: "pm_fill.png"; fill { size.relative: 0.0 0.0; size.offset: 64 64; } } } part { name: "popmedia_overlay"; mouse_events: 0; description { state: "default" 0.0; fixed: 1 1; image.normal: "pm_overlay.png"; fill.smooth: 0; } } part { name: "bevel"; description { state: "default" 0.0; image.normal: "bevel_dark_out.png"; image.border: 1 1 1 1; image.middle: 0; fill.smooth: 0; } } part { name: "bevel2"; description { state: "default" 0.0; image.normal: "bg_bevel.png"; image.border: 1 1 1 1; image.middle: 0; fill.smooth: 0; } } part { name: "shadow"; mouse_events: 0; description { state: "default" 0.0; fixed: 1 1; rel1.to: "rage.content"; rel2.to: "rage.content"; image.normal: "pm_shadow.png"; image.border: 64 64 64 64; rel1.offset: -32 -32; rel2.offset: 31 31; fill.smooth: 0; } } 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; } 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: "glow_exclam.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: "novid_clip"; type: RECT; description { state: "default" 0.0; } description { state: "novideo" 0.0; inherit: "default" 0.0; visible: 0; } } part { name: "novid_base"; type: RECT; mouse_events: 0; clip_to: "novid_clip2"; description { state: "default" 0.0; rel1.to: "rage.content"; rel2.to: "rage.content"; color: 32 32 32 255; } } part { name: "novid"; mouse_events: 0; scale: 1; clip_to: "novid_clip2"; description { state: "default" 0.0; rel1.to: "base"; rel2.to: "base"; fixed: 1 1; image.normal: "icon_volume.png"; max: 24 24; aspect: 1.0 1.0; aspect_preference: BOTH; } } part { name: "novid_clip2"; type: RECT; description { state: "default" 0.0; visible: 0; } description { state: "novideo" 0.0; inherit: "default" 0.0; visible: 1; } } program { signal: "state,novideo"; source: "rage"; action: STATE_SET "novideo" 0.0; target: "novid_clip"; target: "novid_clip2"; } program { signal: "state,video"; source: "rage"; action: STATE_SET "default" 0.0; target: "novid_clip"; target: "novid_clip2"; } part { name: "rage.content"; type: SWALLOW; description { state: "default" 0.0; } } part { name: "rage.list"; type: SWALLOW; description { state: "default" 0.0; align: 0.0 0.5; rel1.relative: 1.0 0.0; 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: "poscover"; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; image.normal: "vgrad_shadow_bi.png"; rel1.relative: 0.0 1.0; visible: 0; color: 255 255 255 0; } description { state: "visible" 0.0; inherit: "default" 0.0; color: 255 255 255 255; visible: 1; min: 0 240; } } part { name: "mute"; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.to_x: "rage.vol.swallow"; rel1.relative: 1.0 0.0; rel1.offset: 5 5; rel2.to_x: "rage.vol.swallow"; rel2.relative: 1.0 0.0; rel2.offset: 5 5; 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; } } #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""; \ } STATE_FADE_PROG("mute") part { name: "unmute"; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.to_x: "rage.vol.swallow"; rel1.relative: 1.0 0.0; rel1.offset: 5 5; rel2.to_x: "rage.vol.swallow"; rel2.relative: 1.0 0.0; rel2.offset: 5 5; 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: 5 5; rel1.to_x: "mute"; rel2.relative: 1.0 0.0; rel2.offset: 5 5; 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: 5 5; rel1.to_x: "mute"; rel2.relative: 1.0 0.0; rel2.offset: 5 5; 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: "play"; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.to_x: "rage.options.swallow"; rel1.relative: 0.0 0.0; rel1.offset: -6 5; rel2.to_x: "rage.options.swallow"; rel2.relative: 0.0 0.0; rel2.offset: -6 5; align: 1.0 0.0; image.normal: "icon_play.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("play") part { name: "pause"; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.to_x: "rage.options.swallow"; rel1.relative: 0.0 0.0; rel1.offset: -6 5; rel2.to_x: "rage.options.swallow"; rel2.relative: 0.0 0.0; rel2.offset: -6 5; align: 1.0 0.0; image.normal: "icon_pause.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("pause") part { name: "stop"; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.relative: 1.0 0.0; rel1.offset: -6 5; rel2.relative: 1.0 0.0; rel2.offset: -6 5; align: 1.0 0.0; image.normal: "icon_stop.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("stop") part { name: "eject"; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.relative: 0.0 0.0; rel1.offset: -6 5; rel1.to_x: "play"; rel2.relative: 0.0 0.0; rel2.offset: -6 5; rel2.to_x: "play"; align: 1.0 0.0; image.normal: "icon_eject.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("eject") part { name: "forward"; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.relative: 1.0 0.5; rel1.offset: -6 0; rel2.relative: 1.0 0.5; rel2.offset: -6 -1; align: 1.0 0.5; image.normal: "icon_forward.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("forward") part { name: "next"; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.relative: 1.0 0.5; rel1.offset: -6 0; rel2.relative: 1.0 0.5; rel2.offset: -6 -1; align: 1.0 0.5; image.normal: "icon_next.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("next") part { name: "rewind"; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.relative: 0.0 0.5; rel1.offset: 5 0; rel2.relative: 0.0 0.5; rel2.offset: 5 -1; align: 0.0 0.5; image.normal: "icon_rewind.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("rewind") part { name: "prev"; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.relative: 0.0 0.5; rel1.offset: 5 0; rel2.relative: 0.0 0.5; rel2.offset: 5 -1; align: 0.0 0.5; image.normal: "icon_prev.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("prev") 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.to_x: "pos_playev"; rel1.offset: 0 -1; rel1.relative: 1.5 1.0; rel2.to_x: "pos_nextev"; rel2.relative: -0.5 1.0; min: 1 1; } } part { name: "rage.dragable.pos"; type: RECT; mouse_events: 0; clip_to: "posclip"; 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 255 128; fixed: 1 1; } } part { name: "bar"; mouse_events: 0; clip_to: "posclip"; description { state: "default" 0.0; fixed: 1 1; image.normal: "horizontal_separated_bar_small_glow.png"; image.border: 4 4 4 44; rel1.offset: -3 -7; rel1.relative: 0.0 1.0; rel1.to_x: "bar_bg"; rel2.offset: 2 2; rel2.to_x: "rage.dragable.pos"; min: 8 0; fill.smooth: 0; } } part { name: "pos"; mouse_events: 0; scale: 1; clip_to: "posclip"; description { state: "default" 0.0; fixed: 1 1; image.normal: "pos_indicator"; min: 15 13; max: 15 13; rel1.to: "rage.dragable.pos"; rel2.to: "rage.dragable.pos"; align: 0.5 0.815; } } 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: "posclip"; 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: 24 24; align: 0.5 1.0; } } part { name: "rage.vol.swallow"; type: SWALLOW; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.relative: 0.0 0.0; rel1.offset: 5 5; rel2.relative: 0.0 0.0; rel2.offset: 5 5; min: 20 20; align: 0.0 0.0; } } part { name: "rage.options.swallow"; type: SWALLOW; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.relative: 1.0 0.0; rel1.offset: -6 5; rel2.relative: 1.0 0.0; rel2.offset: -6 5; min: 20 20; align: 1.0 0.0; } } part { name: "rage.pos.prev.swallow"; type: SWALLOW; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.relative: 0.0 1.0; rel2.relative: 0.0 1.0; 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.relative: 1.0 1.0; rel2.to_x: "rage.pos.prev.swallow"; rel2.relative: 1.0 1.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.relative: 1.0 1.0; min: 20 20; align: 1.0 1.0; } } part { name: "vol"; scale: 1; clip_to: "posclip"; 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; image.normal: "icon_volume2.png"; } } part { name: "volev"; type: RECT; 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"; } 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; image.normal: "icon_spanner2.png"; } } 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: "pos_prev"; scale: 1; clip_to: "posclip"; 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; image.normal: "icon_prev2.png"; } } 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: "posclip"; description { state: "default" 0.0; visible: 0; } description { state: "pause" 0.0; visible: 1; } } 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_pause.png"; min: 20 20; max: 20 20; } description { state: "active" 0.0; inherit: "default" 0.0; image.normal: "icon_pause2.png"; } } 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: "playpause2"; type: RECT; clip_to: "posclip"; description { state: "default" 0.0; visible: 1; } description { state: "pause" 0.0; visible: 0; } } 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"; image.normal: "icon_play.png"; min: 20 20; max: 20 20; } description { state: "active" 0.0; inherit: "default" 0.0; image.normal: "icon_play2.png"; } } 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: "posclip"; 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; image.normal: "icon_next2.png"; } } 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"; } program { signal: "mouse,clicked,1"; source: "optev"; action: SIGNAL_EMIT "pos,action,options" "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: "posclip"; effect: GLOW; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.to_y: "pos_next"; rel1.to_x: "slash"; rel1.relative: 0.0 0.0; rel1.offset: -1 -6; rel2.to_y: "pos_next"; rel2.to_x: "slash"; rel2.relative: 0.0 0.0; rel2.offset: -1 -6; color: 255 255 255 255; color2: 51 153 255 128; color3: 51 153 255 20; align: 1.0 1.0; text { font: "Sans"; size: 8; align: 1.0 1.0; min: 1 1; elipsis: -1; } } } part { name: "slash"; type: TEXT; mouse_events: 0; clip_to: "posclip"; effect: GLOW; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.to_y: "pos_next"; rel1.to_x: "rage.length"; rel1.relative: 0.0 0.0; rel1.offset: -1 -6; rel2.to_y: "pos_next"; rel2.to_x: "rage.length"; rel2.relative: 0.0 0.0; rel2.offset: -1 -6; color: 255 255 255 255; color2: 51 153 255 128; color3: 51 153 255 20; align: 1.0 1.0; text { font: "Sans"; size: 8; align: 1.0 1.0; min: 1 1; text: "/"; elipsis: -1; } } } part { name: "rage.length"; type: TEXT; mouse_events: 0; clip_to: "posclip"; effect: GLOW; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.to_y: "pos_next"; rel1.relative: 1.0 0.0; rel1.offset: -6 -6; rel2.to_y: "pos_next"; rel2.relative: 1.0 0.0; rel2.offset: -6 -6; color: 255 255 255 255; color2: 51 153 255 128; color3: 51 153 255 20; align: 1.0 1.0; text { font: "Sans"; size: 8; align: 1.0 1.0; min: 1 1; elipsis: -1; } } } 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"); 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 CURRENT; target: "poscover"; target: "posclip"; } program { name: "poshide"; action: STATE_SET "default" 0.0; transition: SINUSOIDAL 1.0 CURRENT; target: "poscover"; target: "posclip"; } part { name: "listevent"; type: RECT; repeat_events: 1; description { state: "default" 0.0; color: 0 0 0 0; rel1.relative: 0.8 0.0; } } part { name: "listevent2"; type: RECT; repeat_events: 1; description { state: "default" 0.0; color: 0 0 0 0; rel2.relative: 0.2 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"; } 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; images.image: "win_glow.png" COMP; images.image: "bg_shine.png" COMP; images.image: "bg_glint.png" COMP; parts { part { name: "shadow"; mouse_events: 0; description { state: "default" 0.0; fixed: 1 1; rel1.to: "clip"; rel2.to: "clip"; 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: 32 32 32 255; rel1.to: "clip"; rel2.to: "clip"; } } part { name: "glow"; mouse_events: 0; description { state: "default" 0.0; image.normal: "win_glow.png"; image.border: 9 9 9 9; image.middle: 0; rel1.to: "clip"; rel1.offset: -5 -5; rel2.to: "clip"; rel2.offset: 4 4; fill.smooth: 0; color: 255 255 255 0; visible: 0; } description { state: "selected" 0.0; inherit: "default" 0.0; color: 255 255 255 255; visible: 1; } } program { signal: "rage,state,selected"; source: "rage"; action: STATE_SET "selected" 0.0; transition: SINUSOIDAL 0.1; target: "glow"; } program { signal: "rage,state,unselected"; source: "rage"; action: STATE_SET "default" 0.0; transition: SINUSOIDAL 0.3; target: "glow"; } part { name: "clip"; type: RECT; description { state: "default" 0.0; rel1.offset: 4 4; rel2.offset: -5 -5; } } part { name: "glintclip"; type: RECT; description { state: "default" 0.0; rel1.to: "clip"; rel2.to: "clip"; rel1.offset: 0 -10; } } 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: "shine"; mouse_events: 0; clip_to: "clip"; description { state: "default" 0.0; image.normal: "bg_shine.png"; fill.smooth: 0; rel1.to: "clip"; rel2.to: "clip"; align: 0.5 0.0; aspect: (255/120) (255/120); aspect_preference: HORIZONTAL; } } part { name: "glint"; mouse_events: 0; clip_to: "glintclip"; description { state: "default" 0.0; fixed: 1 1; min: 79 5; max: 79 5; rel1 { relative: 0.0 0.0; offset: 0 0; to: "clip"; } rel2 { relative: 1.0 0.0; offset: -1 0; to: "clip"; } image.normal: "bg_glint.png"; } } part { name: "rage.title"; type: TEXT; mouse_events: 0; effect: GLOW; scale: 1; description { state: "default" 0.0; fixed: 1 1; align: 0.0 1.0; rel1.offset: 4 4; rel2.offset: -5 -5; color: 255 255 255 255; color2: 51 153 255 128; color3: 51 153 255 20; 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"; } } } }