images { image: "e17_logo_small.png" COMP; image: "e17_logo_small_p1.png" COMP; image: "e17_logo_small_p2.png" COMP; image: "e17_logo_small_p3.png" COMP; image: "e17_logo_small_p4.png" COMP; image: "e17_logo_small_p5.png" COMP; image: "e17_logo_small_p6.png" COMP; image: "e17_logo_small_p7.png" COMP; image: "e17_logo_small_p8.png" COMP; image: "e17_logo_small_p9.png" COMP; image: "e17_logo_small_p21.png" COMP; image: "e17_logo_small_p22.png" COMP; image: "e17_logo_small_p23.png" COMP; image: "e17_logo_small_p24.png" COMP; image: "e17_logo_small_p25.png" COMP; image: "e17_logo_small_p26.png" COMP; image: "e17_logo_small_p27.png" COMP; image: "e17_logo_small_p28.png" COMP; image: "e17_logo_small_p29.png" COMP; } group { name: "e/modules/start/main"; max: 128 128; script { public is_active; public is_hilited; } parts { part { name: "logo"; mouse_events: 0; description { state: "default" 0.0; aspect: 1.0 1.0; aspect_preference: BOTH; image { normal: "e17_logo_small.png"; } } } #define PT(_name, _p1, _p2, _p3, _p4) \ part { \ name: _name; \ mouse_events: 0; \ description { \ state: "default" 0.0; \ visible: 0; \ rel1 { \ to: "logo"; \ relative: _p1 _p2; \ } \ rel2 { \ to: "logo"; \ relative: _p3 _p4; \ } \ image { \ normal: "e17_logo_small_"_name".png"; \ } \ color: 255 255 255 0; \ } \ description { \ state: "active" 0.0; \ inherit: "default" 0.0; \ rel1 { \ to: "logo"; \ relative: _p1 _p2; \ } \ rel2 { \ to: "logo"; \ relative: _p3 _p4; \ } \ visible: 1; \ color: 255 255 255 255; \ } \ } PT("p1", 0.1328125, 0.1640625, 0.3359375, 0.3593750); PT("p2", 0.1953125, 0.1093750, 0.3906250, 0.3125000); PT("p3", 0.2656250, 0.0625000, 0.4531250, 0.2734375); PT("p4", 0.3359375, 0.0312500, 0.5234375, 0.2500000); PT("p5", 0.4062500, 0.0234375, 0.5937500, 0.2421875); PT("p6", 0.4765625, 0.0312500, 0.6640625, 0.2500000); PT("p7", 0.5468750, 0.0625000, 0.7343750, 0.2734375); PT("p8", 0.6093750, 0.1093750, 0.8046875, 0.3125000); PT("p9", 0.6640625, 0.1640625, 0.8671875, 0.3593750); PT("p21", 0.1328125, 0.6406250, 0.3359375, 0.8359375); PT("p22", 0.1953125, 0.6875000, 0.3906250, 0.8906250); PT("p23", 0.2656250, 0.7265625, 0.4531250, 0.9375000); PT("p24", 0.3359375, 0.7500000, 0.5234375, 0.9687500); PT("p25", 0.4062500, 0.7578125, 0.5937500, 0.9765625); PT("p26", 0.4765625, 0.7500000, 0.6640625, 0.9687500); PT("p27", 0.5468750, 0.7265625, 0.7343750, 0.9375000); PT("p28", 0.6093750, 0.6875000, 0.8046875, 0.8906250); PT("p29", 0.6640625, 0.6406250, 0.8671875, 0.8359375); part { name: "inout"; type: RECT; mouse_events: 1; description { state: "default" 0.0; color: 255 255 255 0; } } } programs { program { name: "init"; signal: "load"; source: ""; script { set_int(is_active, 0); set_int(is_hilited, 0); } } program { name: "mouse_in"; signal: "mouse,in"; source: "inout"; script { new val; val = get_int(is_active); if (val == 0) { run_program(PROGRAM:"go_active_pre"); set_int(is_hilited, 1); } } } program { name: "mouse_out"; signal: "mouse,out"; source: "inout"; script { new val; val = get_int(is_active); if (val == 0) { run_program(PROGRAM:"go_passive_pre"); set_int(is_hilited, 0); } } } program { name: "handle_active"; signal: "e,state,focused"; source: "e"; script { new val; set_int(is_active, 1); val = get_int(is_hilited); if (val == 0) run_program(PROGRAM:"go_active_pre"); run_program(PROGRAM:"logo_go_active"); } } program { name: "handle_passive"; signal: "e,state,unfocused"; source: "e"; script { new val; set_int(is_active, 0); val = get_int(is_hilited); if (val == 1) { run_program(PROGRAM:"go_passive_pre"); set_int(is_hilited, 0); } run_program(PROGRAM:"logo_go_passive"); } } program { name: "go_active_pre"; action: STATE_SET "default" 0.0; target: "logo"; after: "go_active1"; after: "go_active2"; after: "go_active3"; after: "go_active4"; after: "go_active5"; after: "go_active6"; after: "go_active7"; after: "go_active8"; after: "go_active9"; after: "go_active21"; after: "go_active22"; after: "go_active23"; after: "go_active24"; after: "go_active25"; after: "go_active26"; after: "go_active27"; after: "go_active28"; after: "go_active29"; } #define PR(_name, _delay, _part) \ program { \ name: "go_active"_name; \ in: _delay 0.0; \ after: "go_activeb"_name; \ } \ program { \ name: "go_activeb"_name; \ action: STATE_SET "active" 0.0; \ target: _part; \ transition: LINEAR 0.5; \ after: "go_activec"_name; \ } \ program { \ name: "go_activec"_name; \ action: STATE_SET "default" 0.0; \ target: _part; \ transition: LINEAR 1.2; \ after: "go_activeb"_name; \ } PR("1", 0.0, "p1"); PR("2", 0.2, "p2"); PR("3", 0.4, "p3"); PR("4", 0.6, "p4"); PR("5", 0.8, "p5"); PR("6", 1.0, "p6"); PR("7", 1.2, "p7"); PR("8", 1.4, "p8"); PR("9", 1.6, "p9"); PR("21", 1.6, "p21"); PR("22", 1.4, "p22"); PR("23", 1.2, "p23"); PR("24", 1.0, "p24"); PR("25", 0.8, "p25"); PR("26", 0.6, "p26"); PR("27", 0.4, "p27"); PR("28", 0.2, "p28"); PR("29", 0.0, "p29"); program { name: "go_passive_pre"; action: ACTION_STOP; #define PG(_name) \ target: "go_active"_name; \ target: "go_activeb"_name; \ target: "go_activec"_name; PG("1"); PG("2"); PG("3"); PG("4"); PG("5"); PG("6"); PG("7"); PG("8"); PG("9"); PG("21"); PG("22"); PG("23"); PG("24"); PG("25"); PG("26"); PG("27"); PG("28"); PG("29"); after: "go_passive"; } program { name: "go_passive"; action: STATE_SET "default" 0.0; \ target: "p1"; target: "p2"; target: "p3"; target: "p4"; target: "p5"; target: "p6"; target: "p7"; target: "p8"; target: "p9"; target: "p21"; target: "p22"; target: "p23"; target: "p24"; target: "p25"; target: "p26"; target: "p27"; target: "p28"; target: "p29"; } program { name: "logo_go_active"; // after: "hover_go_active"; } program { name: "logo_go_passive"; // after: "hover_go_active"; } } }