#ifndef NO_COLORS color_classes { # include "default_colors.in.edc" # define BG_COL 32 32 32 255 } #endif collections { #define ICON(grp, img) \ group \ { \ name: "elm/icon/"##grp##"/default"; \ min: 10 10; \ max: 80 80; \ images.image: img COMP; \ parts \ { \ part \ { \ name: "base"; \ type: IMAGE; \ description \ { \ state: "default" 0.0; \ aspect: 1.0 1.0; \ aspect_preference: BOTH; \ image.normal: img; \ } \ } \ } \ } ICON("settings", "icon_settings.png"); #undef ICON group { name: "express/base"; parts { part { name: "base.content"; type: SWALLOW; description { state: "default" 0.0; } } part { name: "dismiss"; type: SWALLOW; description { state: "default" 0.0; } } part { name: "options_details"; type: SWALLOW; scale: 1; description { state: "default" 0.0; fixed: 1 1; min: 40 40; align: 0.0 0.5; visible: 0; rel1 { relative: 1.0 0.0; offset: 8 0; to_y: "options"; } rel2 { offset: 8 -1; to_y: "options"; } } description { state: "visible" 0.0; inherit: "default" 0.0; visible: 1; align: 1.0 0.5; rel1 { relative: 0.0 0.0; offset: 9 0; to_y: "options"; } rel2 { relative: 0.0 1.0; offset: -9 -1; to: "options"; } } } part { name: "options_extra"; type: SWALLOW; scale: 1; description { state: "default" 0.0; fixed: 1 0; min: 40 0; align: 0.0 1.0; visible: 0; rel1.to: "options_tools"; rel2.to: "options_tools"; } description { state: "visible" 0.0; inherit: "default" 0.0; align: 0.0 1.0; visible: 1; rel1 { to_x: "options_tools"; to_y: "options"; } rel2 { relative: 1.0 0.0; offset: -1 0; to: "options_tools"; } } } part { name: "options_tools"; type: SWALLOW; scale: 1; description { state: "default" 0.0; fixed: 1 1; min: 16 16; align: 0.0 1.0; visible: 0; rel1 { relative: 1.0 1.0; offset: 8 -1; to_y: "options"; } rel2 { relative: 1.0 1.0; offset: 8 -1; to_y: "options"; } } description { state: "visible" 0.0; inherit: "default" 0.0; visible: 1; align: 1.0 1.0; rel1 { relative: 0.0 1.0; offset: 9 -1; to_y: "options"; } rel2 { relative: 0.0 1.0; offset: -9 -1; to: "options"; } } } part { name: "options"; type: SWALLOW; scale: 1; description { state: "default" 0.0; fixed: 1 1; min: 10 10; align: 0.0 0.5; visible: 0; rel1 { relative: 1.0 0.1; offset: 8 0; } rel2 { relative: 1.0 0.9; offset: 8 -1; } } description { state: "visible" 0.0; inherit: "default" 0.0; visible: 1; align: 1.0 0.5; rel1.offset: -9 0; rel2.offset: -9 -1; } } } programs { program { signal: "options,show"; source: "express"; action: STATE_SET "visible" 0.0; transition: DECELERATE 0.3; target: "options"; } program { signal: "options,hide"; source: "express"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.5; target: "options"; } program { signal: "options,details,show"; source: "express"; action: STATE_SET "visible" 0.0; transition: DECELERATE 0.4; target: "options_details"; } program { signal: "options,details,hide"; source: "express"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.2; target: "options_details"; after: "option_details_hide2"; } program { name: "option_details_hide2"; action: SIGNAL_EMIT "options,details,hide,done" "express"; } program { signal: "options,tools,show"; source: "express"; action: STATE_SET "visible" 0.0; transition: DECELERATE 0.4; target: "options_tools"; /* after: "option_tools_show2"; */ } program { signal: "options,tools,hide"; source: "express"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.2; target: "options_tools"; } /* program */ /* { */ /* name: "option_tools_show2"; */ /* action: SIGNAL_EMIT "options,tools,show,done" "express"; */ /* } */ program { signal: "options,extra,show"; source: "express"; action: STATE_SET "visible" 0.0; transition: DECELERATE 0.4; target: "options_extra"; } program { signal: "options,extra,hide"; source: "express"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.2; target: "options_extra"; after: "option_extra_hide"; } program { name: "option_extra_hide"; action: SIGNAL_EMIT "options,extra,hide,done" "express"; } } } group { name: "express/channel"; images { image: "bg_bevel.png" COMP; image: "bg_glint.png" COMP; image: "pm_shadow.png" COMP; } script { public message(Msg_Type:type, id, ...) { new r, g, b, a, v; if ((type != MSG_INT) || (id != 1)) return; v = (getarg(2) * 255) / 100; custom_state(PART:"fade", "default", 0.0); get_state_val(PART:"fade", STATE_COLOR, r, g, b, a); set_state_val(PART:"fade", STATE_COLOR, r, g, b, v); set_state(PART:"fade", "custom", 0.0); } } parts { part { name: "fade"; type: RECT; description { state: "default" 0.0; } } part { name: "channel.background"; type: SWALLOW; clip_to: "fade"; description { state: "default" 0.0; } } part { name: "channel.tabregion"; type: SWALLOW; description { state: "default" 0.0; fixed: 1 1; min: 0 0; align: 0.0 0.0; rel2.relative: 1.0 0.0; } description { state: "on" 0.0; inherit: "default" 0.0; min: 1 1; } } part { name: "treeview.content"; type: SWALLOW; description { state: "default" 0.0; visible: 0; fixed: 1 1; min: 0 0; align: 0.0 0.5; rel2.relative: 0.0 0.0; } description { state: "on" 0.0; inherit: "default" 0.0; min: 140 10; visible: 1; rel2.relative: 0.2 1.0; } } part { name: "channel.content"; type: SWALLOW; description { state: "default" 0.0; rel1 { relative: 1.0 1.0; offset: 2 2; to_x: "treeview.content"; to_y: "channel.tabregion"; } rel2 { relative: 1.0 0.0; offset: -1 -8; to_y: "channel.entry"; } } } part { name: "userlist.dismiss"; type: SWALLOW; description { state: "default" 0.0; visible: 0; } description { state: "visible" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "userlist.content"; type: SWALLOW; description { state: "default" 0.0; fixed: 1 1; min: 140 10; align: 0.0 0.5; visible: 0; rel1 { relative: 1.0 1.0; offset: 4 0; to_y: "channel.tabregion"; } rel2 { relative: 1.0 0.0; to_y: "channel.entry"; offset: 4 -4; } } description { state: "visible" 0.0; inherit: "default" 0.0; visible: 1; align: 1.0 0.5; rel1.offset: -5 0; rel2.offset: -5 -4; } } part { name: "entryclip"; type: RECT; description { state: "default" 0.0; color: 255 255 255 255; visible: 1; rel1 { to: "channel.entry"; offset: -100 -100; } rel2 { to: "channel.entry"; offset: 99 99; } } } part { name: "entryshadow"; type: IMAGE; mouse_events: 0; clip_to: "entryclip"; description { state: "default" 0.0; fixed: 1 1; rel1 { offset: -32 -32; to: "entryback"; } rel2 { offset: 31 31; to: "entryback"; } image { normal: "pm_shadow.png"; border: 64 64 64 64; } fill.smooth: 0; } } part { name: "entryback"; type: RECT; clip_to: "entryclip"; description { state: "default" 0.0; color: 48 48 48 255; rel1 { to: "channel.entry"; offset: -2 -2; } rel2 { to: "channel.entry"; offset: 1 1; } } } part { name: "channel.entry"; type: SWALLOW; clip_to: "entryclip"; description { state: "default" 0.0; fixed: 1 1; min: 8 8; align: 0.5 1.0; rel1 { relative: 0.0 1.0; offset: 4 -6; to_x: "channel.content"; } rel2.offset: -9 -6; } } part { name: "entrybevel"; type: IMAGE; mouse_events: 0; clip_to: "entryclip"; description { state: "default" 0.0; fixed: 1 1; rel1.to: "entryback"; rel2.to: "entryback"; image { normal: "bg_bevel.png"; border: 3 3 3 3; middle: 0; } fill.smooth: 0; } } part { name: "entryglint"; type: IMAGE; mouse_events: 0; clip_to: "entryclip"; description { state: "default" 0.0; fixed: 1 1; min: 79 5; max: 79 5; rel1.to: "entryback"; rel2 { relative: 1.0 0.0; offset: -1 0; to: "entryback"; } image.normal: "bg_glint.png"; } } } programs { program { signal: "userlist,show"; source: "express"; action: STATE_SET "visible" 0.0; transition: DECELERATE 0.3; target: "userlist.content"; target: "userlist.dismiss"; } program { signal: "userlist,hide"; source: "express"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.5; target: "userlist.content"; target: "userlist.dismiss"; } program { signal: "treeview,off"; source: "express"; action: STATE_SET "default" 0.0; target: "treeview.content"; } program { signal: "treeview,on"; source: "express"; action: STATE_SET "on" 0.0; target: "treeview.content"; } program { signal: "tabbar,off"; source: "express"; action: STATE_SET "default" 0.0; target: "channel.tabregion"; } program { signal: "tabbar,on"; source: "express"; action: STATE_SET "on" 0.0; target: "channel.tabregion"; } } } group { name: "express/background"; images { image: "bg_bevel.png" COMP; image: "bg_glint.png" COMP; image: "bg_glow_in.png" COMP; image: "bg_led_glow.png" COMP; image: "bg_led_base.png" COMP; image: "bg_led.png" COMP; image: "bg_led_strobe.png" COMP; image: "pm_shadow.png" COMP; image: "pm_overlay.png" COMP; image: "pm_fill.png" COMP; image: "cr_glow.png" COMP; image: "tab_base_bottom.png" COMP; image: "tab_base_l0.png" COMP; image: "tab_base_l1.png" COMP; image: "tab_base_m.png" COMP; image: "tab_base_r0.png" COMP; image: "tab_base_r1.png" COMP; image: "tab_bg_l0.png" COMP; image: "tab_bg_l1.png" COMP; image: "tab_bg_r0.png" COMP; image: "tab_bg_r1.png" COMP; image: "tab_shad_l0.png" COMP; image: "tab_shad_l1.png" COMP; image: "tab_shad_r0.png" COMP; image: "tab_shad_r1.png" COMP; } set { name: "bg_shadow"; image { image: "bg_shadow.png" COMP; size: 0 0 200 150; } image { image: "bg_shadow2.png" COMP; size: 200 150 400 300; } image { image: "bg_shadow3.png" COMP; size: 400 300 99999 99999; } } set { name: "bg_shine"; image { image: "bg_shine5.png" COMP; size: 0 0 256 120; } image { image: "bg_shine4.png" COMP; size: 256 120 512 240; } image { image: "bg_shine3.png" COMP; size: 512 240 1024 480; } image { image: "bg_shine2.png" COMP; size: 1024 480 2048 960; } image { image: "bg_shine.png" COMP; size: 2048 960 99999 99999; } } sounds { sample { name: "bell" LOSSY 64; source: "bell.wav"; } } script { public message(Msg_Type:type, id, ...) { new r, g, b, a, v; if ((type != MSG_INT) || (id != 1)) return; v = (getarg(2) * 255) / 100; custom_state(PART:"shadow", "default", 0.0); get_state_val(PART:"shadow", STATE_COLOR, r, g, b, a); set_state_val(PART:"shadow", STATE_COLOR, r, g, b, v); set_state(PART:"shadow", "custom", 0.0); custom_state(PART:"base", "default", 0.0); get_state_val(PART:"base", STATE_COLOR, r, g, b, a); set_state_val(PART:"base", STATE_COLOR, r, g, b, v); set_state(PART:"base", "custom", 0.0); } } parts { part { name: "shadow"; type: IMAGE; mouse_events: 0; description { state: "default" 0.0; image.normal: "bg_shadow"; fill.smooth: 0; } } part { name: "base"; type: RECT; mouse_events: 1; description { state: "default" 0.0; color: BG_COL; } } part { name: "background.content"; type: SWALLOW; description { state: "default" 0.0; } } part { name: "channel.tabregion"; type: SWALLOW; description { state: "default" 0.0; fixed: 1 1; rel1.to: "background.content"; rel2.to: "viewregion"; rel2.relative: 1.0 0.0; } } part { name: "viewregion"; type: SWALLOW; description { state: "default" 0.0; fixed: 1 1; rel1.to: "background.content"; rel2.to: "background.content"; } description { state: "tab" 0.0; inherit: "default" 0.0; rel1.relative: 0.0 1.0; rel1.to_y: "tabmiddle"; } } part { name: "chlcount_clip"; type: RECT; description { state: "default" 0.0; color: 255 255 255 0; visible: 0; } description { state: "on" 0.0; inherit: "default" 0.0; color: 255 255 255 255; visible: 1; } } part { name: "chlmissed.label"; type: TEXT; mouse_events: 0; effect: GLOW; scale: 1; clip_to: "chlcount_clip"; description { state: "default" 0.0; rel1 { offset: -4 0; to: "chlcount.label"; } rel2 { relative: 0.0 1.0; offset: -5 -1; to: "chlcount.label"; } color: 255 153 51 64; color2: 255 51 0 18; color3: 255 0 0 8; align: 1.0 0.5; fixed: 1 1; text { font: "Sans"; size: 8; align: 1.0 0.5; min: 1 1; ellipsis: -1; } } description { state: "over" 0.0; inherit: "default" 0.0; color: 255 255 64 255; color2: 255 153 51 128; color3: 255 0 0 20; } } part { name: "chlcount.label"; type: TEXT; mouse_events: 0; effect: GLOW; scale: 1; clip_to: "chlcount_clip"; description { state: "default" 0.0; rel1 { relative: -0.2 0.0; to: "chlcount.control"; } rel2 { relative: -0.2 1.0; to: "chlcount.control"; } color: 51 153 255 64; color2: 51 153 255 18; color3: 51 153 255 8; align: 1.0 0.5; fixed: 1 1; text { font: "Sans"; size: 8; align: 1.0 0.5; min: 1 1; ellipsis: -1; } } description { state: "over" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color2: 51 153 255 128; color3: 51 153 255 20; } } part { name: "chlcount_glow_r0"; type: IMAGE; clip_to: "chlcount_clip"; description { state: "default" 0.0; rel1 { offset: -4 -4; to: "chlcount_r0"; } rel2 { offset: 3 3; to: "chlcount_r0"; } image { normal: "cr_glow.png"; border: 9 9 9 9; } color: 51 153 255 32; } description { state: "over" 0.0; inherit: "default" 0.0; color: 51 153 255 255; } } part { name: "chlcount_glow_r1"; type: IMAGE; clip_to: "chlcount_clip"; description { state: "default" 0.0; rel1 { offset: -4 -4; to: "chlcount_r1"; } rel2 { offset: 3 3; to: "chlcount_r1"; } image { normal: "cr_glow.png"; border: 9 9 9 9; } color: 51 153 255 32; } description { state: "over" 0.0; inherit: "default" 0.0; color: 51 153 255 255; } } part { name: "chlcount_glow_r2"; type: IMAGE; clip_to: "chlcount_clip"; description { state: "default" 0.0; rel1 { offset: -4 -4; to: "chlcount_r2"; } rel2 { offset: 3 3; to: "chlcount_r2"; } image { normal: "cr_glow.png"; border: 9 9 9 9; } color: 51 153 255 32; } description { state: "over" 0.0; inherit: "default" 0.0; color: 51 153 255 255; } } part { name: "chlcount_glow_r3"; type: IMAGE; clip_to: "chlcount_clip"; description { state: "default" 0.0; rel1 { offset: -4 -4; to: "chlcount_r3"; } rel2 { offset: 3 3; to: "chlcount_r3"; } image { normal: "cr_glow.png"; border: 9 9 9 9; } color: 51 153 255 32; } description { state: "over" 0.0; inherit: "default" 0.0; color: 51 153 255 255; } } part { name: "chlcount_r0"; type: RECT; clip_to: "chlcount_clip"; description { state: "default" 0.0; rel1 { relative: 0.05 0.05; to: "chlcount.control"; } rel2 { relative: 0.45 0.45; to: "chlcount.control"; } color: 255 255 255 32; } description { state: "over" 0.0; inherit: "default" 0.0; color: 255 255 255 255; } } part { name: "chlcount_r1"; type: RECT; clip_to: "chlcount_clip"; description { state: "default" 0.0; rel1 { relative: 0.55 0.05; to: "chlcount.control"; } rel2 { relative: 0.95 0.45; to: "chlcount.control"; } color: 255 255 255 32; } description { state: "over" 0.0; inherit: "default" 0.0; color: 255 255 255 255; } } part { name: "chlcount_r2"; type: RECT; clip_to: "chlcount_clip"; description { state: "default" 0.0; rel1 { relative: 0.05 0.55; to: "chlcount.control"; } rel2 { relative: 0.45 0.95; to: "chlcount.control"; } color: 255 255 255 32; } description { state: "over" 0.0; inherit: "default" 0.0; color: 255 255 255 255; } } part { name: "chlcount_r3"; type: RECT; clip_to: "chlcount_clip"; description { state: "default" 0.0; rel1 { relative: 0.55 0.55; to: "chlcount.control"; } rel2 { relative: 0.95 0.95; to: "chlcount.control"; } color: 255 255 255 32; } description { state: "over" 0.0; inherit: "default" 0.0; color: 255 255 255 255; } } part { name: "chlcount.control"; type: SWALLOW; clip_to: "chlcount_clip"; description { state: "default" 0.0; fixed: 1 1; rel1 { relative: 1.0 0.0; offset: -3 2; to: "viewregion"; } rel2 { relative: 1.0 0.0; offset: -3 2; to: "viewregion"; } align: 1.0 0.0; min: 16 16; } } part { name: "chlcount_ev"; type: RECT; repeat_events: 1; clip_to: "chlcount_clip"; description { state: "default" 0.0; rel1.to: "chlcount.control"; rel2.to: "chlcount.control"; color: 0 0 0 0; } } part { name: "userlist_clip"; type: RECT; description { state: "default" 0.0; color: 255 255 255 0; visible: 0; } description { state: "on" 0.0; inherit: "default" 0.0; color: 255 255 255 255; visible: 1; } } part { name: "userlist_evclip"; type: RECT; clip_to: "userlist_clip"; description { state: "default" 0.0; color: 255 255 255 32; } description { state: "over" 0.0; inherit: "default" 0.0; color: 255 255 255 255; } } part { name: "userlist.control"; type: SWALLOW; clip_to: "userlist_evclip"; description { state: "default" 0.0; fixed: 1 1; rel1 { relative: 1.0 1.0; offset: -3 2; to_y: "chlcount.control"; } rel2 { relative: 1.0 1.0; offset: -3 2; to_y: "chlcount.control"; } align: 1.0 0.0; min: 16 16; } } part { name: "userlist_ev"; type: RECT; clip_to: "userlist_clip"; description { state: "default" 0.0; rel1.to: "userlist.control"; rel2.to: "userlist.control"; color: 0 0 0 0; } } part { name: "glow"; type: IMAGE; mouse_events: 0; description { state: "default" 0.0; image { normal: "bg_glow_in.png"; border: 7 7 7 7; middle: 0; } fill.smooth: 0; color: 51 153 255 0; } description { state: "focused" 0.0; inherit: "default" 0.0; color: 51 153 255 255; } description { state: "focused2" 0.0; inherit: "default" 0.0; color: 51 153 255 64; } } part { name: "bevel"; type: IMAGE; mouse_events: 0; description { state: "default" 0.0; image { normal: "bg_bevel.png"; border: 3 3 3 3; middle: 0; } fill.smooth: 0; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 0; } } part { name: "shine"; type: IMAGE; mouse_events: 0; description { state: "default" 0.0; image.normal: "bg_shine.png"; fill.smooth: 0; align: 0.5 0.0; aspect: (256 / 120) (256 / 120); aspect_preference: HORIZONTAL; color: 255 255 255 64; } description { state: "focused" 0.0; inherit: "default" 0.0; color: 255 255 255 255; } } part { name: "glint_clip"; type: RECT; description { state: "default" 0.0; } } part { name: "glint"; type: IMAGE; mouse_events: 0; clip_to: "glint_clip"; description { state: "default" 0.0; fixed: 1 1; min: 79 5; max: 79 5; rel2 { relative: 1.0 0.0; offset: -1 0; } image.normal: "bg_glint.png"; color: 255 255 255 128; } description { state: "focused" 0.0; inherit: "default" 0.0; color: 255 255 255 255; } } part { name: "tab_bevel_bottom"; type: IMAGE; mouse_events: 0; description { state: "default" 0.0; rel1.to_y: "tabmiddle"; rel1.relative: 0.0 1.0; image { normal: "tab_base_bottom.png"; border: 2 2 0 2; middle: 0; } fill.smooth: 0; visible: 0; fixed: 1 1; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "tab_bevel_top0"; type: IMAGE; mouse_events: 0; description { state: "default" 0.0; rel1.to: "tableft"; rel2.to_y: "tableft"; rel2.to_x: "tab_bevel_top1"; rel2.relative: 0.0 1.0; image { normal: "tab_base_l0.png"; border: 0 0 0 4; } fill.smooth: 0; visible: 0; fixed: 1 1; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "tab_bevel_top1"; type: IMAGE; mouse_events: 0; description { state: "default" 0.0; rel1.to: "tabmiddle"; rel1.offset: -4 0; rel2.to: "tabmiddle"; align: 0.0 0.0; max: 12 99999; min: 12 0; image { normal: "tab_base_l1.png"; border: 0 0 4 4; } fill.smooth: 0; visible: 0; fixed: 1 1; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "tab_bevel_top2"; type: IMAGE; mouse_events: 0; description { state: "default" 0.0; rel1.to: "tab_bevel_top1"; rel1.relative: 1.0 0.0; rel2.to: "tab_bevel_top3"; rel2.relative: 0.0 1.0; image { normal: "tab_base_m.png"; border: 0 0 4 0; } fill.smooth: 0; visible: 0; fixed: 1 1; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "tab_bevel_top3"; type: IMAGE; mouse_events: 0; description { state: "default" 0.0; rel1.to: "tabmiddle"; rel2.to: "tabmiddle"; rel2.offset: 3 -1; align: 1.0 0.0; max: 12 99999; min: 12 0; image { normal: "tab_base_r1.png"; border: 0 0 4 4; } fill.smooth: 0; visible: 0; fixed: 1 1; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "tab_bevel_top4"; type: IMAGE; mouse_events: 0; description { state: "default" 0.0; rel1.to_y: "tabright"; rel1.to_x: "tab_bevel_top3"; rel1.relative: 1.0 0.0; rel2.to: "tabright"; image { normal: "tab_base_r0.png"; border: 0 0 0 4; } fill.smooth: 0; visible: 0; fixed: 1 1; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "tab_bevel_bg0"; type: IMAGE; mouse_events: 0; description { state: "default" 0.0; rel1.to: "tab_bevel_top0"; rel2.to: "tab_bevel_top0"; image { normal: "tab_bg_l0.png"; border: 2 0 4 4; } fill.smooth: 0; visible: 0; fixed: 1 1; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "tab_bevel_bg1"; type: IMAGE; mouse_events: 0; description { state: "default" 0.0; rel1.to: "tab_bevel_top1"; rel2.to: "tab_bevel_top1"; image { normal: "tab_bg_l1.png"; border: 0 0 4 4; } fill.smooth: 0; visible: 0; fixed: 1 1; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "tab_bevel_bg3"; type: IMAGE; mouse_events: 0; description { state: "default" 0.0; rel1.to: "tab_bevel_top3"; rel2.to: "tab_bevel_top3"; image { normal: "tab_bg_r1.png"; border: 0 0 4 4; } fill.smooth: 0; visible: 0; fixed: 1 1; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "tab_bevel_bg4"; type: IMAGE; mouse_events: 0; description { state: "default" 0.0; rel1.to: "tab_bevel_top4"; rel2.to: "tab_bevel_top4"; image { normal: "tab_bg_r0.png"; border: 0 2 4 4; } fill.smooth: 0; visible: 0; fixed: 1 1; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "tabl.content"; type: SWALLOW; description { state: "default" 0.0; rel1.to: "tableft"; rel2.to: "tableft"; fixed: 1 1; } } part { name: "tabr.content"; type: SWALLOW; description { state: "default" 0.0; rel1.to: "tabright"; rel2.to: "tabright"; fixed: 1 1; } } part { name: "tab_bevel_shad0"; type: IMAGE; mouse_events: 0; description { state: "default" 0.0; rel1.to: "tab_bevel_top0"; rel2.to: "tab_bevel_top0"; image { normal: "tab_shad_l0.png"; border: 0 0 0 10; } fill.smooth: 0; visible: 0; fixed: 1 1; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "tab_bevel_shad1"; type: IMAGE; mouse_events: 0; description { state: "default" 0.0; rel1.to: "tab_bevel_top1"; rel2.to: "tab_bevel_top1"; image { normal: "tab_shad_l1.png"; border: 0 0 10 10; } fill.smooth: 0; visible: 0; fixed: 1 1; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "tab_bevel_shad3"; type: IMAGE; mouse_events: 0; description { state: "default" 0.0; rel1.to: "tab_bevel_top3"; rel2.to: "tab_bevel_top3"; image { normal: "tab_shad_r1.png"; border: 0 0 10 10; } fill.smooth: 0; visible: 0; fixed: 1 1; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "tab_bevel_shad4"; type: IMAGE; mouse_events: 0; description { state: "default" 0.0; rel1.to: "tab_bevel_top4"; rel2.to: "tab_bevel_top4"; image { normal: "tab_shad_r0.png"; border: 0 0 0 10; } fill.smooth: 0; visible: 0; fixed: 1 1; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "tab"; type: SWALLOW; mouse_events: 0; description { state: "default" 0.0; rel1 { relative: 1.0 0.0; to_x: "tabl"; } rel2 { relative: 0.0 0.0; to_x: "tabr"; } align: 0.5 0.0; visible: 0; fixed: 1 1; } } part { name: "tabdrag"; type: SPACER; description { state: "default" 0.0; rel2.relative: 1.0 0.0; fixed: 1 1; } } part { name: "tabl"; type: SPACER; dragable.x: 1 1 0; dragable.confine: "tabdrag"; description { state: "default" 0.0; rel2.relative: 1.0 0.0; max: 1 1; fixed: 1 1; } } part { name: "tabr"; type: SPACER; dragable.x: 1 1 0; dragable.confine: "tabdrag"; description { state: "default" 0.0; rel2.relative: 1.0 0.0; max: 1 1; fixed: 1 1; } } part { name: "tab.title"; type: TEXT; mouse_events: 0; scale: 1; effect: SOFT_SHADOW BOTTOM; description { state: "default" 0.0; color: 255 255 255 255; color3: 0 0 0 18; text { font: "Sans:style=Bold"; size: 10; align: 0.5 0.0; min: 0 1; } align: 0.5 0.0; rel1 { offset: 0 2; to_x: "tab_bevel_top2"; } rel2 { relative: 1.0 0.0; offset: -1 2; to_x: "tab_bevel_top2"; } visible: 0; fixed: 1 1; } } part { name: "tabtitle"; type: TEXT; mouse_events: 0; scale: 1; effect: SOFT_SHADOW BOTTOM; description { state: "default" 0.0; color: 255 255 255 255; color3: 0 0 0 18; text { font: "Sans:style=Bold"; size: 10; align: 0.5 0.5; min: 0 1; text_source: "tab.title"; } align: 0.5 0.5; rel1 { to_y: "tabmiddle"; to_x: "tab_bevel_top2"; } rel2 { to_y: "tabmiddle"; to_x: "tab_bevel_top2"; } visible: 0; fixed: 1 1; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "tablimit0"; type: SPACER; description { state: "default" 0.0; rel1.to_y: "tab"; rel1.relative: 0.0 1.0; rel2.to_y: "tab.title"; align: 0.0 0.0; fixed: 1 1; } } part { name: "tableft"; type: RECT; mouse_events: 0; description { state: "default" 0.0; rel2.to_x: "tab"; rel2.to_y: "tabmiddle"; rel2.relative: 0.0 1.0; color: 0 0 0 0; visible: 0; fixed: 1 1; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "tabright"; type: RECT; mouse_events: 0; description { state: "default" 0.0; rel1.to: "tab"; rel1.relative: 1.0 0.0; rel2.to_y: "tabmiddle"; color: 0 0 0 0; visible: 0; fixed: 1 1; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "tabmiddle"; type: RECT; mouse_events: 0; description { state: "default" 0.0; rel1.to: "tab"; rel2.to_x: "tab"; rel2.to_y: "tablimit0"; rel2.offset: -1 0; color: 0 0 0 0; align: 0.0 0.0; visible: 0; fixed: 1 1; } description { state: "tab" 0.0; inherit: "default" 0.0; visible: 1; } } /* TODO: bell */ } programs { program { signal: "mouse,in"; source: "chlcount_ev"; action: STATE_SET "over" 0.0; transition: DECELERATE 0.5; target: "chlcount_r0"; target: "chlcount_r1"; target: "chlcount_r2"; target: "chlcount_r3"; target: "chlcount_glow_r0"; target: "chlcount_glow_r1"; target: "chlcount_glow_r2"; target: "chlcount_glow_r3"; target: "chlcount.label"; target: "chlmissed.label"; } program { signal: "mouse,out"; source: "chlcount_ev"; action: STATE_SET "default" 0.0; transition: DECELERATE 2.0; target: "chlcount_r0"; target: "chlcount_r1"; target: "chlcount_r2"; target: "chlcount_r3"; target: "chlcount_glow_r0"; target: "chlcount_glow_r1"; target: "chlcount_glow_r2"; target: "chlcount_glow_r3"; target: "chlcount.label"; target: "chlmissed.label"; } program { signal: "mouse,clicked,1"; source: "chlcount_ev"; action: SIGNAL_EMIT "chlcount,go" "express"; } program { signal: "mouse,wheel,0,-1"; source: "chlcount_ev"; action: SIGNAL_EMIT "chlcount,prev" "express"; } program { signal: "mouse,wheel,0,1"; source: "chlcount_ev"; action: SIGNAL_EMIT "chlcount,next" "express"; } program { signal: "chlcount,off"; source: "express"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.5; target: "chlcount_clip"; } program { signal: "chlcount,on"; source: "express"; action: STATE_SET "on" 0.0; transition: DECELERATE 0.5; target: "chlcount_clip"; } program { signal: "chlmissed,off"; source: "express"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.5; target: "chlmissed.label"; } program { signal: "chlmissed,on"; source: "express"; action: STATE_SET "over" 0.0; transition: DECELERATE 0.5; target: "chlmissed.label"; after: "chlmissed2"; } program { name: "chlmissed2"; signal: "chlmissed,on"; source: "express"; action: STATE_SET "default" 0.0; transition: DECELERATE 3.0; target: "chlmissed.label"; } program { signal: "mouse,clicked,1"; source: "userlist_ev"; action: SIGNAL_EMIT "userlist,go" "express"; } program { signal: "userlist,off"; source: "express"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.5; target: "userlist_clip"; after: "userlist_hide2"; } program { name: "userlist_hide2"; action: SIGNAL_EMIT "userlist,hide,done" "express"; } program { signal: "userlist,on"; source: "express"; action: STATE_SET "on" 0.0; transition: DECELERATE 0.5; target: "userlist_clip"; } program { signal: "mouse,in"; source: "userlist_ev"; action: STATE_SET "over" 0.0; transition: DECELERATE 0.5; target: "userlist_evclip"; } program { signal: "mouse,out"; source: "userlist_ev"; action: STATE_SET "default" 0.0; transition: DECELERATE 2.0; target: "userlist_evclip"; } program { signal: "focus,in"; source: "express"; action: STATE_SET "focused" 0.0; target: "glint"; target: "glow"; target: "shine"; after: "focus_in2"; } program { name: "focus_in2"; action: STATE_SET "focused2" 0.0; transition: DECELERATE 0.5; target: "glow"; } program { signal: "focus,out"; source: "express"; action: STATE_SET "default" 0.0; target: "glint"; target: "glow"; target: "shine"; } program { signal: "tabbar,on"; source: "express"; action: STATE_SET "tab" 0.0; target: "viewregion"; target: "tableft"; target: "tabmiddle"; target: "tabright"; target: "bevel"; target: "tab_bevel_bottom"; target: "tab_bevel_top0"; target: "tab_bevel_top1"; target: "tab_bevel_top2"; target: "tab_bevel_top3"; target: "tab_bevel_top4"; target: "tab_bevel_bg0"; target: "tab_bevel_bg1"; target: "tab_bevel_bg3"; target: "tab_bevel_bg4"; target: "tab_bevel_shad0"; target: "tab_bevel_shad1"; target: "tab_bevel_shad3"; target: "tab_bevel_shad4"; target: "tabtitle"; } program { signal: "tabbar,off"; source: "express"; action: STATE_SET "default" 0.0; target: "viewregion"; target: "tableft"; target: "tabmiddle"; target: "tabright"; target: "bevel"; target: "tab_bevel_bottom"; target: "tab_bevel_top0"; target: "tab_bevel_top1"; target: "tab_bevel_top2"; target: "tab_bevel_top3"; target: "tab_bevel_top4"; target: "tab_bevel_bg0"; target: "tab_bevel_bg1"; target: "tab_bevel_bg3"; target: "tab_bevel_bg4"; target: "tab_bevel_shad0"; target: "tab_bevel_shad1"; target: "tab_bevel_shad3"; target: "tab_bevel_shad4"; target: "tabtitle"; } } } group { name: "express/tabbar_back"; images { image: "tab_base_l1.png" COMP; image: "tab_base_m.png" COMP; image: "tab_base_r1.png" COMP; image: "tab_other_l.png" COMP; image: "tab_other_m.png" COMP; image: "tab_other_r.png" COMP; image: "tab_shad_l2.png" COMP; image: "tab_shad_r2.png" COMP; } parts { part { name: "tab_bevel_shad1"; type: IMAGE; mouse_events: 0; clip_to: "clip"; description { state: "default" 0.0; rel1.to: "tab_bevel_top1"; rel2.to: "tab_bevel_top1"; image { normal: "tab_shad_l2.png"; border: 0 0 10 10; } fill.smooth: 0; } } part { name: "tab_bevel_shad3"; type: IMAGE; mouse_events: 0; clip_to: "clip"; description { state: "default" 0.0; rel1.to: "tab_bevel_top3"; rel2.to: "tab_bevel_top3"; image { normal: "tab_shad_r2.png"; border: 0 0 10 10; } fill.smooth: 0; } } part { name: "tab_base_top1"; type: IMAGE; mouse_events: 0; clip_to: "clip"; description { state: "default" 0.0; rel1.to: "tab_bevel_top1"; rel2.to: "tab_bevel_top1"; image { normal: "tab_other_l.png"; border: 0 0 4 4; } fill.smooth: 0; } } part { name: "tab_base_top2"; type: IMAGE; mouse_events: 0; clip_to: "clip"; description { state: "default" 0.0; rel1.to: "tab_bevel_top2"; rel2.to: "tab_bevel_top2"; image { normal: "tab_other_m.png"; border: 0 0 4 4; } fill.smooth: 0; } } part { name: "tab_base_top3"; type: IMAGE; mouse_events: 0; clip_to: "clip"; description { state: "default" 0.0; rel1.to: "tab_bevel_top3"; rel2.to: "tab_bevel_top3"; image { normal: "tab_other_r.png"; border: 0 0 4 4; } fill.smooth: 0; } } part { name: "tab_bevel_top1"; type: IMAGE; mouse_events: 0; clip_to: "clip"; description { state: "default" 0.0; align: 0.0 0.0; rel1.offset: -4 0; max: 12 99999; min: 12 0; image { normal: "tab_base_l1.png"; border: 0 0 4 4; } fill.smooth: 0; fixed: 1 0; } } part { name: "tab_bevel_top2"; type: IMAGE; mouse_events: 0; clip_to: "clip"; description { state: "default" 0.0; rel1.to: "tab_bevel_top1"; rel1.relative: 1.0 0.0; rel2.to: "tab_bevel_top3"; rel2.relative: 0.0 1.0; image { normal: "tab_base_m.png"; border: 0 0 4 4; } fill.smooth: 0; } } part { name: "tab_bevel_top3"; type: IMAGE; mouse_events: 0; clip_to: "clip"; description { state: "default" 0.0; align: 1.0 0.0; rel2.offset: 3 -1; max: 12 99999; min: 12 0; image { normal: "tab_base_r1.png"; border: 0 0 4 4; } fill.smooth: 0; fixed: 1 0; } } part { name: "tab.title"; type: TEXT; mouse_events: 0; scale: 1; effect: SHADOW BOTTOM; description { state: "default" 0.0; text { font: "Sans:style=Bold"; size: 10; align: 0.5 0.5; min: 0 1; } align: 0.5 0.5; color: 0 0 0 255; color3: 255 255 255 25; rel1.to: "tab_bevel_top2"; rel2.to: "tab_bevel_top2"; } description { state: "missed" 0.0; inherit: "default" 0.0; color: 255 0 0 255; color3: 255 255 255 25; } } part { name: "clip"; type: RECT; description { state: "default" 0.0; rel2.offset: -1 -2; } } part { name: "event"; type: RECT; description { state: "default" 0.0; color: 0 0 0 0; } } } programs { program { name: "tab_missed"; signal: "tabmissed,on"; source: "express"; action: STATE_SET "missed" 0.0; transition: DECELERATE 0.5; target: "tab.title"; } program { name: "tab_default"; signal: "tabmissed,off"; source: "express"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.5; target: "tab.title"; } program { signal: "mouse,clicked,1"; source: "event"; action: SIGNAL_EMIT "tab,activate" "express"; } } } group { name: "express/cursor"; images { image: "cr_key.png" COMP; image: "cr_out.png" COMP; image: "cr_pulse.png" COMP; image: "cr_glow.png" COMP; } sounds { sample { name: "key-tap1" LOSSY 64; source: "kbd-tap.wav"; } sample { name: "key-tap2" LOSSY 64; source: "kbd-tap2.wav"; } sample { name: "key-tap3" LOSSY 64; source: "kbd-tap3.wav"; } sample { name: "key-tap4" LOSSY 64; source: "kbd-tap4.wav"; } sample { name: "key-tap5" LOSSY 64; source: "kbd-tap5.wav"; } } parts { part { name: "key"; type: IMAGE; mouse_events: 0; description { state: "default" 0.0; rel1 { offset: -5 -5; to: "outline"; } rel2 { offset: 4 4; to: "outline"; } image { normal: "cr_key.png"; border: 4 4 4 4; } color: 51 153 255 0; } description { state: "on" 0.0; inherit: "default" 0.0; color: 51 153 255 255; } description { state: "out" 0.0; inherit: "default" 0.0; rel1.offset: -7 -15; rel2.offset: 6 14; } } part { name: "pulse"; type: IMAGE; mouse_events: 0; description { state: "default" 0.0; rel1 { offset: -4 -4; to: "outline"; } rel2 { offset: 3 3; to: "outline"; } image { normal: "cr_pulse.png"; border: 4 4 4 4; } color: 51 153 255 0; } description { state: "on" 0.0; inherit: "default" 0.0; color: 51 153 255 255; } description { state: "out" 0.0; inherit: "default" 0.0; rel1.offset: -8 -8; rel2.offset: 7 7; } } part { name: "glow"; type: IMAGE; mouse_events: 0; description { state: "default" 0.0; rel1.offset: -4 -4; rel2.offset: 3 3; image { normal: "cr_glow.png"; border: 9 9 9 9; } color: 51 153 255 40; } description { state: "focused" 0.0; inherit: "default" 0.0; color: 51 153 255 255; } } part { name: "outline"; type: IMAGE; mouse_events: 0; description { state: "default" 0.0; image { normal: "cr_out.png"; border: 3 3 3 3; } color: 51 153 255 80; } description { state: "focused" 0.0; inherit: "default" 0.0; color: 255 255 255 255; } } } programs { program { name: "focus_in"; signal: "focus,in"; source: "express"; action: STATE_SET "focused" 0.0; target: "glow"; target: "outline"; after: "focus2"; after: "pulse"; } program { name: "focus2"; in: 0.5 0.0; action: STATE_SET "default" 0.0; transition: DECELERATE 0.2; target: "glow"; target: "outline"; after: "focus3"; } program { name: "focus3"; in: 0.5 0.0; action: STATE_SET "focused" 0.0; target: "glow"; target: "outline"; after: "focus2"; after: "pulse"; } program { name: "pulse"; action: STATE_SET "on" 0.0; target: "pulse"; after: "pulse2"; } program { name: "pulse2"; action: STATE_SET "out" 0.0; transition: DECELERATE 0.4; target: "pulse"; } program { signal: "focus,out"; source: "express"; action: ACTION_STOP; target: "focus_in"; target: "focus2"; target: "focus3"; target: "pulse"; target: "pulse2"; after: "focus_out2"; } program { name: "focus_out2"; action: STATE_SET "default" 0.0; target: "glow"; target: "outline"; } program { signal: "key,down"; source: "express"; script { #if (EFL_VERSION_MAJOR > 1) || (EFL_VERSION_MINOR >= 8) new buf[32]; snprintf(buf, 31, "key-down%i", (rand() % 5) + 1); run_program(get_program_id(buf)); #else run_program(PROGRAM:"key-down4"); #endif } } program { name: "key-down1"; action: PLAY_SAMPLE "key-tap1" 1.0; } program { name: "key-down2"; action: PLAY_SAMPLE "key-tap2" 1.0; } program { name: "key-down3"; action: PLAY_SAMPLE "key-tap3" 1.0; } program { name: "key-down4"; action: PLAY_SAMPLE "key-tap4" 1.0; } program { name: "key-down5"; action: PLAY_SAMPLE "key-tap5" 1.0; } program { signal: "key,down"; source: "express"; action: STATE_SET "default" 0.0; target: "key"; after: "key2"; } program { name: "key2"; action: STATE_SET "on" 0.0; target: "key"; after: "key3"; } program { name: "key3"; action: STATE_SET "out" 0.0; transition: DECELERATE 0.3; target: "key"; } } } group { name: "express/selector/background"; images { image: "pm_overlay.png" COMP; image: "pm_fill.png" COMP; image: "inset_shadow.png" COMP; } set { name: "bg_shadow"; image { image: "bg_shadow.png" COMP; size: 0 0 200 150; } image { image: "bg_shadow2.png" COMP; size: 200 150 400 300; } image { image: "bg_shadow3.png" COMP; size: 400 300 99999 99999; } } script { public message(Msg_Type:type, id, ...) { new r, g, b, a, v; if ((type != MSG_INT) || (id != 1)) return; v = (getarg(2) * 255) / 100; custom_state(PART:"shadow", "default", 0.0); get_state_val(PART:"shadow", STATE_COLOR, r, g, b, a); set_state_val(PART:"shadow", STATE_COLOR, r, g, b, v); set_state(PART:"shadow", "custom", 0.0); if (v < 255) set_state(PART:"fill", "translucent", 0.0); else set_state(PART:"fill", "default", 0.0); } } parts { part { name: "shadow"; type: IMAGE; mouse_events: 0; description { state: "default" 0.0; image.normal: "bg_shadow"; fill.smooth: 0; } } part { name: "fill"; type: IMAGE; mouse_events: 0; description { state: "default" 0.0; image.normal: "pm_fill.png"; fill { size { relative: 0.0 0.0; offset: 64 64; } } } description { state: "translucent" 0.0; inherit: "default" 0.0; visible: 0; } } part { name: "clip"; type: RECT; description { state: "default" 0.0; } } part { name: "content"; type: SWALLOW; clip_to: "clip"; description { state: "default" 0.0; } } part { name: "overlay"; type: IMAGE; mouse_events: 0; description { state: "default" 0.0; image.normal: "pm_overlay.png"; fill.smooth: 0; color: 255 255 255 0; } description { state: "visible" 0.0; inherit: "default" 0.0; color: 255 255 255 255; } } part { name: "overlay_shadow"; type: IMAGE; mouse_events: 0; description { state: "default" 0.0; image { normal: "inset_shadow.png"; border: 5 5 7 3; middle: 0; } fill.smooth: 0; color: 255 255 255 0; } description { state: "visible" 0.0; inherit: "default" 0.0; color: 255 255 255 255; } } } programs { program { signal: "begin"; source: "express"; action: STATE_SET "visible" 0.0; transition: DECELERATE 0.3; target: "overlay"; target: "overlay_shadow"; } program { signal: "end"; source: "express"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.3 CURRENT; target: "overlay"; target: "overlay_shadow"; } } } group { name: "express/selector/entry"; images { image: "bg_bevel.png" COMP; image: "bg_shine.png" COMP; image: "bg_glint.png" COMP; image: "bg_led_glow.png" COMP; image: "bg_led_base.png" COMP; image: "bg_led.png" COMP; image: "bg_led_strobe.png" COMP; image: "pm_shadow.png" COMP; image: "cr_glow.png" COMP; } parts { part { name: "clip"; type: RECT; description { state: "default" 0.0; rel1.to: "content"; rel2.to: "content"; color: 128 128 128 255; } description { state: "selected" 0.0; inherit: "default" 0.0; color: 255 255 255 255; } } part { name: "shadow"; type: IMAGE; mouse_events: 0; description { state: "default" 0.0; image { normal: "pm_shadow.png"; border: 64 64 64 64; border_scale_by: 0.1; } fill.smooth: 0; fixed: 1 1; rel1 { offset: -5 -5; to: "content"; } rel2 { offset: 4 4; to: "content"; } color: 255 255 255 128; } description { state: "selected" 0.0; inherit: "default" 0.0; rel1.offset: -40 -40; rel2.offset: 39 39; image.border_scale_by: 1.0; color: 255 255 255 255; } } part { name: "glow"; type: IMAGE; mouse_events: 0; description { state: "default" 0.0; rel1 { offset: -4 -4; to: "content"; } rel2 { offset: 3 3; to: "content"; } image { normal: "cr_glow.png"; border: 9 9 9 9; } color: 51 153 255 0; } description { state: "selected" 0.0; inherit: "default" 0.0; color: 51 153 255 255; } } part { name: "base"; type: RECT; clip_to: "clip"; description { state: "default" 0.0; rel1.to: "content"; rel2.to: "content"; color: 32 32 32 255; } } part { name: "content"; type: SWALLOW; clip_to: "clip"; description { state: "default" 0.0; rel1.relative: 0.1 0.1; rel2.relative: 0.9 0.9; } description { state: "selected" 0.0; inherit: "default" 0.0; rel1.relative: 0.0 0.0; rel2.relative: 1.0 1.0; } } part { name: "overlay"; type: IMAGE; mouse_events: 0; description { state: "default" 0.0; rel1.to: "content"; rel2.to: "content"; fixed: 1 1; image.normal: "pm_overlay.png"; fill.smooth: 0; } } part { name: "bevel"; type: IMAGE; mouse_events: 0; description { state: "default" 0.0; rel1.to: "content"; rel2.to: "content"; fixed: 1 1; image { normal: "bg_bevel.png"; border: 3 3 5 3; middle: 0; } fill.smooth: 0; } } part { name: "label"; type: TEXT; mouse_events: 0; effect: GLOW; scale: 1; description { state: "default" 0.0; rel1.to: "content"; rel2.to: "content"; color: 51 153 255 255; color2: 51 153 255 24; color3: 51 153 255 18; align: 0.5 1.0; text { font: "Sans"; size: 10; align: 0.5 1.0; min: 0 1; } } description { state: "selected" 0.0; inherit: "default" 0.0; color: 255 255 255 255; color2: 51 153 255 128; color3: 51 153 255 20; } } part { name: "clip2"; type: RECT; description { state: "default" 0.0; rel1.to: "content"; rel2.to: "content"; } } part { name: "glint"; type: IMAGE; mouse_events: 0; clip_to: "clip2"; description { state: "default" 0.0; fixed: 1 1; min: 79 5; max: 79 5; rel1.to: "content"; rel2 { relative: 1.0 0.0; offset: -1 0; to: "content"; } image.normal: "bg_glint.png"; } } part { name: "shine"; type: IMAGE; mouse_events: 0; clip_to: "clip2"; description { state: "default" 0.0; fixed: 1 1; rel1.to: "content"; rel2.to: "content"; image.normal: "bg_shine.png"; fill.smooth: 0; align: 0.5 0.0; aspect: (255 / 120) (255 / 120); aspect_preference: HORIZONTAL; } } /* TODO: Bell */ } programs { program { signal: "selected"; source: "express"; action: STATE_SET "selected" 0.0; transition: DECELERATE 0.2 CURRENT; target: "content"; target: "label"; target: "shadow"; target: "clip"; target: "glow"; } program { signal: "unselected"; source: "express"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.4 CURRENT; target: "content"; target: "label"; target: "shadow"; target: "clip"; target: "glow"; } program { signal: "selected,start"; source: "express"; action: STATE_SET "selected" 0.0; target: "content"; target: "label"; target: "shadow"; target: "clip"; target: "glow"; } } } group { name: "express/fontpreview"; images { image: "fn_shadow.png" COMP; } parts { part { name: "shadow"; type: IMAGE; mouse_events: 0; description { state: "default" 0.0; rel1 { offset: -2 -1; to: "base"; } rel2 { offset: 1 2; to: "base"; } image { normal: "fn_shadow.png"; border: 5 5 5 5; } fill.smooth: 0; } } part { name: "base"; type: RECT; mouse_events: 1; description { state: "default" 0.0; rel1.offset: 2 2; rel2.offset: -3 -3; color: 255 255 255 255; } } part { name: "clip"; type: RECT; description { state: "default" 0.0; rel1.to: "base"; rel2.to: "base"; color: 255 255 255 255; } } part { name: "text.preview"; type: SWALLOW; clip_to: "clip"; description { state: "default" 0.0; rel1 { offset: 1 1; to: "base"; } rel2 { offset: -2 -2; to: "base"; } } } } } group { name: "express/link"; images { image: "lk_bottom.png" COMP; image: "lk_left.png" COMP; image: "lk_right.png" COMP; } parts { part { name: "bottom"; type: IMAGE; mouse_events: 0; description { state: "default" 0.0; align: 0.5 1.0; min: 20 8; image { normal: "lk_bottom.png"; border: 9 9 0 0; } rel1 { relative: 0.0 1.0; offset: -6 0; } rel2.offset: 5 0; color: 51 153 255 255; fill.smooth: 0; } } part { name: "left"; type: IMAGE; mouse_events: 0; description { state: "default" 0.0; align: 0.0 1.0; min: 4 4; image.normal: "lk_left.png"; rel1 { relative: 0.0 1.0; offset: 16 -1; } rel2 { relative: 0.0 1.0; offset: 16 -1; } color: 51 153 255 0; } description { state: "out" 0.0; inherit: "default" 0.0; min: 16 16; rel1.offset: -10 -1; rel2.offset: -10 -1; color: 51 153 255 255; } description { state: "out2" 0.0; inherit: "default" 0.0; min: 32 32; rel1.offset: -26 -1; rel2.offset: -26 -1; color: 51 153 255 0; } } part { name: "right"; type: IMAGE; mouse_events: 0; description { state: "default" 0.0; align: 1.0 1.0; min: 4 4; image.normal: "lk_right.png"; rel1 { relative: 1.0 1.0; offset: -15 0; } rel2.offset: -15 0; color: 51 153 255 0; } description { state: "out" 0.0; inherit: "default" 0.0; min: 16 16; rel1.offset: 9 -1; rel2.offset: 9 -1; color: 51 153 255 255; } description { state: "out2" 0.0; inherit: "default" 0.0; min: 32 32; rel1.offset: 25 -1; rel2.offset: 25 -1; color: 51 153 255 0; } } part { name: "event"; type: RECT; mouse_events: 1; repeat_events: 1; description { state: "default" 0.0; color: 0 0 0 0; } } } programs { program { name: "show"; signal: "show"; source: ""; action: STATE_SET "out" 0.0; transition: LINEAR 0.3; target: "left"; target: "right"; after: "show2"; } program { name: "show2"; action: STATE_SET "out2" 0.0; transition: LINEAR 0.3; target: "left"; target: "right"; after: "show3"; } program { name: "show3"; action: STATE_SET "default" 0.0; target: "left"; target: "right"; after: "show"; } } } group { name: "express/mediabusy"; images { image: "media_busy_knob.png" COMP; image: "media_busy_spinner.png" COMP; image: "media_busy_progress.png" COMP; } script { public message(Msg_Type:type, id, ...) { if ((type == MSG_FLOAT) && (id == 1)) { new Float:val; val = getfarg(2); // val 0.0 -. 1.0 percentage custom_state(PART:"progress", "default", 0.0); set_state_val(PART:"progress", STATE_REL2, val, 1.0); set_state(PART:"progress", "custom", 0.0); } } } parts { part { name: "progress_area"; type: SPACER; mouse_events: 0; description { state: "default" 0.0; fixed: 1 1; rel2.to_x: "knob"; rel2.relative: 0.0 1.0; min: 10 40; max: 99999 40; align: 0.0 1.0; } } part { name: "progress"; mouse_events: 0; clip_to: "fade"; description { state: "default" 0.0; fixed: 1 1; rel1.to: "progress_area"; rel2.to: "progress_area"; rel2.relative: 0.0 1.0; color: 51 153 255 255; image.normal: "media_busy_progress.png"; image.border: 5 5 0 0; min: 10 40; align: 0.0 1.0; } } part { name: "fade"; type: RECT; mouse_events: 0; description { state: "default" 0.0; color: 255 255 255 0; visible: 0; } description { state: "visible" 0.0; inherit: "default" 0.0; visible: 1; color: 255 255 255 255; } } part { name: "knob"; clip_to: "fade"; mouse_events: 0; description { state: "default" 0.0; fixed: 1 1; image.normal: "media_busy_knob.png"; min: 40 40; max: 40 40; align: 1.0 1.0; } } part { name: "knob_spinner"; clip_to: "fade"; mouse_events: 0; description { state: "default" 0.0; fixed: 1 1; color: 51 153 255 255; rel1.to: "knob"; rel2.to: "knob"; image.normal: "media_busy_spinner.png"; map { on: 1; smooth: 1; rotation.center: "knob"; } } description { state: "spin" 0.0; inherit: "default" 0.0; visible: 1; map.rotation.z: 360; } } } programs { program { signal: "busy"; source: "express"; action: STATE_SET "visible" 0.0; transition: DECELERATE 0.5; target: "fade"; } program { name: "spin1"; signal: "busy"; source: "express"; action: STATE_SET "spin" 0.0; transition: LINEAR 0.5; target: "knob_spinner"; after: "spin2"; } program { name: "spin2"; action: STATE_SET "default" 0.0; target: "knob_spinner"; after: "spin1"; } program { signal: "done"; source: "express"; action: STATE_SET "default" 0.0; transition: DECELERATE 1.5; target: "fade"; } } } }