images { image: "e17_clock_bg.png" COMP; image: "e17_clock_fg.png" COMP; image: "e17_ibar_over_h.png" COMP; image: "e17_ibar_bg_h.png" COMP; image: "e17_clock_seconds_00.png" COMP; image: "e17_clock_seconds_01.png" COMP; image: "e17_clock_seconds_02.png" COMP; image: "e17_clock_seconds_03.png" COMP; image: "e17_clock_seconds_04.png" COMP; image: "e17_clock_seconds_05.png" COMP; image: "e17_clock_seconds_06.png" COMP; image: "e17_clock_seconds_07.png" COMP; image: "e17_clock_seconds_08.png" COMP; image: "e17_clock_seconds_09.png" COMP; image: "e17_clock_seconds_10.png" COMP; image: "e17_clock_seconds_11.png" COMP; image: "e17_clock_seconds_12.png" COMP; image: "e17_clock_seconds_13.png" COMP; image: "e17_clock_seconds_14.png" COMP; image: "e17_clock_seconds_15.png" COMP; image: "e17_clock_seconds_16.png" COMP; image: "e17_clock_seconds_17.png" COMP; image: "e17_clock_seconds_18.png" COMP; image: "e17_clock_seconds_19.png" COMP; image: "e17_clock_seconds_20.png" COMP; image: "e17_clock_seconds_21.png" COMP; image: "e17_clock_seconds_22.png" COMP; image: "e17_clock_seconds_23.png" COMP; image: "e17_clock_seconds_24.png" COMP; image: "e17_clock_seconds_25.png" COMP; image: "e17_clock_seconds_26.png" COMP; image: "e17_clock_seconds_27.png" COMP; image: "e17_clock_seconds_28.png" COMP; image: "e17_clock_seconds_29.png" COMP; image: "e17_clock_seconds_30.png" COMP; image: "e17_clock_seconds_31.png" COMP; image: "e17_clock_seconds_32.png" COMP; image: "e17_clock_seconds_33.png" COMP; image: "e17_clock_seconds_34.png" COMP; image: "e17_clock_seconds_35.png" COMP; image: "e17_clock_seconds_36.png" COMP; image: "e17_clock_seconds_37.png" COMP; image: "e17_clock_seconds_38.png" COMP; image: "e17_clock_seconds_39.png" COMP; image: "e17_clock_seconds_40.png" COMP; image: "e17_clock_seconds_41.png" COMP; image: "e17_clock_seconds_42.png" COMP; image: "e17_clock_seconds_43.png" COMP; image: "e17_clock_seconds_44.png" COMP; image: "e17_clock_seconds_45.png" COMP; image: "e17_clock_seconds_46.png" COMP; image: "e17_clock_seconds_47.png" COMP; image: "e17_clock_seconds_48.png" COMP; image: "e17_clock_seconds_49.png" COMP; image: "e17_clock_seconds_50.png" COMP; image: "e17_clock_seconds_51.png" COMP; image: "e17_clock_seconds_52.png" COMP; image: "e17_clock_seconds_53.png" COMP; image: "e17_clock_seconds_54.png" COMP; image: "e17_clock_seconds_55.png" COMP; image: "e17_clock_seconds_56.png" COMP; image: "e17_clock_seconds_57.png" COMP; image: "e17_clock_seconds_58.png" COMP; image: "e17_clock_seconds_59.png" COMP; image: "e17_clock_hour_00.png" COMP; image: "e17_clock_hour_01.png" COMP; image: "e17_clock_hour_02.png" COMP; image: "e17_clock_hour_03.png" COMP; image: "e17_clock_hour_04.png" COMP; image: "e17_clock_hour_05.png" COMP; image: "e17_clock_hour_06.png" COMP; image: "e17_clock_hour_07.png" COMP; image: "e17_clock_hour_08.png" COMP; image: "e17_clock_hour_09.png" COMP; image: "e17_clock_hour_10.png" COMP; image: "e17_clock_hour_11.png" COMP; image: "e17_clock_hour_12.png" COMP; image: "e17_clock_hour_13.png" COMP; image: "e17_clock_hour_14.png" COMP; image: "e17_clock_hour_15.png" COMP; image: "e17_clock_hour_16.png" COMP; image: "e17_clock_hour_17.png" COMP; image: "e17_clock_hour_18.png" COMP; image: "e17_clock_hour_19.png" COMP; image: "e17_clock_hour_20.png" COMP; image: "e17_clock_hour_21.png" COMP; image: "e17_clock_hour_22.png" COMP; image: "e17_clock_hour_23.png" COMP; image: "e17_clock_hour_24.png" COMP; image: "e17_clock_hour_25.png" COMP; image: "e17_clock_hour_26.png" COMP; image: "e17_clock_hour_27.png" COMP; image: "e17_clock_hour_28.png" COMP; image: "e17_clock_hour_29.png" COMP; image: "e17_clock_hour_30.png" COMP; image: "e17_clock_hour_31.png" COMP; image: "e17_clock_hour_32.png" COMP; image: "e17_clock_hour_33.png" COMP; image: "e17_clock_hour_34.png" COMP; image: "e17_clock_hour_35.png" COMP; image: "e17_clock_hour_36.png" COMP; image: "e17_clock_hour_37.png" COMP; image: "e17_clock_hour_38.png" COMP; image: "e17_clock_hour_39.png" COMP; image: "e17_clock_hour_40.png" COMP; image: "e17_clock_hour_41.png" COMP; image: "e17_clock_hour_42.png" COMP; image: "e17_clock_hour_43.png" COMP; image: "e17_clock_hour_44.png" COMP; image: "e17_clock_hour_45.png" COMP; image: "e17_clock_hour_46.png" COMP; image: "e17_clock_hour_47.png" COMP; image: "e17_clock_hour_48.png" COMP; image: "e17_clock_hour_49.png" COMP; image: "e17_clock_hour_50.png" COMP; image: "e17_clock_hour_51.png" COMP; image: "e17_clock_hour_52.png" COMP; image: "e17_clock_hour_53.png" COMP; image: "e17_clock_hour_54.png" COMP; image: "e17_clock_hour_55.png" COMP; image: "e17_clock_hour_56.png" COMP; image: "e17_clock_hour_57.png" COMP; image: "e17_clock_hour_58.png" COMP; image: "e17_clock_hour_59.png" COMP; image: "e17_clock_minutes_00.png" COMP; image: "e17_clock_minutes_01.png" COMP; image: "e17_clock_minutes_02.png" COMP; image: "e17_clock_minutes_03.png" COMP; image: "e17_clock_minutes_04.png" COMP; image: "e17_clock_minutes_05.png" COMP; image: "e17_clock_minutes_06.png" COMP; image: "e17_clock_minutes_07.png" COMP; image: "e17_clock_minutes_08.png" COMP; image: "e17_clock_minutes_09.png" COMP; image: "e17_clock_minutes_10.png" COMP; image: "e17_clock_minutes_11.png" COMP; image: "e17_clock_minutes_12.png" COMP; image: "e17_clock_minutes_13.png" COMP; image: "e17_clock_minutes_14.png" COMP; image: "e17_clock_minutes_15.png" COMP; image: "e17_clock_minutes_16.png" COMP; image: "e17_clock_minutes_17.png" COMP; image: "e17_clock_minutes_18.png" COMP; image: "e17_clock_minutes_19.png" COMP; image: "e17_clock_minutes_20.png" COMP; image: "e17_clock_minutes_21.png" COMP; image: "e17_clock_minutes_22.png" COMP; image: "e17_clock_minutes_23.png" COMP; image: "e17_clock_minutes_24.png" COMP; image: "e17_clock_minutes_25.png" COMP; image: "e17_clock_minutes_26.png" COMP; image: "e17_clock_minutes_27.png" COMP; image: "e17_clock_minutes_28.png" COMP; image: "e17_clock_minutes_29.png" COMP; image: "e17_clock_minutes_30.png" COMP; image: "e17_clock_minutes_31.png" COMP; image: "e17_clock_minutes_32.png" COMP; image: "e17_clock_minutes_33.png" COMP; image: "e17_clock_minutes_34.png" COMP; image: "e17_clock_minutes_35.png" COMP; image: "e17_clock_minutes_36.png" COMP; image: "e17_clock_minutes_37.png" COMP; image: "e17_clock_minutes_38.png" COMP; image: "e17_clock_minutes_39.png" COMP; image: "e17_clock_minutes_40.png" COMP; image: "e17_clock_minutes_41.png" COMP; image: "e17_clock_minutes_42.png" COMP; image: "e17_clock_minutes_43.png" COMP; image: "e17_clock_minutes_44.png" COMP; image: "e17_clock_minutes_45.png" COMP; image: "e17_clock_minutes_46.png" COMP; image: "e17_clock_minutes_47.png" COMP; image: "e17_clock_minutes_48.png" COMP; image: "e17_clock_minutes_49.png" COMP; image: "e17_clock_minutes_50.png" COMP; image: "e17_clock_minutes_51.png" COMP; image: "e17_clock_minutes_52.png" COMP; image: "e17_clock_minutes_53.png" COMP; image: "e17_clock_minutes_54.png" COMP; image: "e17_clock_minutes_55.png" COMP; image: "e17_clock_minutes_56.png" COMP; image: "e17_clock_minutes_57.png" COMP; image: "e17_clock_minutes_58.png" COMP; image: "e17_clock_minutes_59.png" COMP; } group { name: "modules/clock/main"; script { public clock_cb(val) { new buf[11]; new digitalVal[15]; new hourStr[4], minuteStr[4], secondStr[4]; new year, month, day, yearday, weekday, hour, minute; new Float:second; new v; new isAfternoon; new digiBuf[2]; new digitalStyle; new DIGITAL_STYLE_NONE, DIGITAL_STYLE_NORMAL, DIGITAL_STYLE_24HOUR; DIGITAL_STYLE_NONE = 0; DIGITAL_STYLE_NORMAL = 1; DIGITAL_STYLE_24HOUR = 2; get_text(PART:"digitalStyle", digiBuf, 2); digitalStyle = atoi(digiBuf); date(year, month, day, yearday, weekday, hour, minute, second); v = round(second); #if E17_PROFILE != HIRES_PDA && E17_PROFILE != LOWRES_PDA && E17_PROFILE != MEDIUMRES_PDA timer(1.0 - (second - v), "clock_cb", 1); #else timer(10.0 - (second - v), "clock_cb", 1); #endif #if E17_PROFILE != HIRES_PDA && E17_PROFILE != LOWRES_PDA && E17_PROFILE != MEDIUMRES_PDA buf[0] = 0; digitalVal[0] = 0; if (v < 10) {snprintf(buf, 10, "0%i", v);} else {snprintf(buf, 10, "%i", v);} set_state(PART:"seconds", buf, 0.0); #endif v = minute; buf[0] = 0; if (v < 10) {snprintf(buf, 10, "0%i", v);} else {snprintf(buf, 10, "%i", v);} set_state(PART:"minutes", buf, 0.0); v = ((hour % 12) * 5) + ((minute * 5) / 60); buf[0] = 0; if (v < 10) {snprintf(buf, 10, "0%i", v);} else {snprintf(buf, 10, "%i", v);} set_state(PART:"hour", buf, 0.0); buf[0] = 0; v = round(second); if (v < 10) {snprintf(buf, 10, "0%i", v);} else {snprintf(buf, 10, "%i", v);} snprintf(secondStr, 3, "%s", buf); buf[0] = 0; if (minute < 10) {snprintf(buf, 10, "0%i", minute);} else {snprintf(buf, 10, "%i", minute);} snprintf(minuteStr, 3, "%s", buf); buf[0] = 0; isAfternoon = 0; v = hour; if (hour >= 12 && hour < 24) { isAfternoon = 1; } if (digitalStyle == DIGITAL_STYLE_NORMAL) { v = (v % 12); if (v == 0) { v = 12; } } if (digitalStyle == DIGITAL_STYLE_24HOUR && v < 10) { snprintf(buf, 10, "0%i", v); } else { snprintf(buf, 10, "%i", v); } snprintf(hourStr, 3, "%s", buf); buf[0] = 0; if (isAfternoon == 1) { snprintf(buf, 10, "PM"); } else { snprintf(buf, 10, "AM"); } if (digitalStyle != DIGITAL_STYLE_NONE) { if (digitalStyle == DIGITAL_STYLE_NORMAL) { snprintf(digitalVal, 14, "%s:%s:%s %s", hourStr, minuteStr, secondStr, buf); } else if (digitalStyle == DIGITAL_STYLE_24HOUR) { snprintf(digitalVal, 14, " %s:%s:%s ", hourStr, minuteStr, secondStr); } set_text(PART:"digital", digitalVal); set_state(PART:"digital", "digital", 0.0); set_state(PART:"digital_bg", "digital", 0.0); set_state(PART:"digital_bg_overlay", "digital", 0.0); } else { set_text(PART:"digital", ""); set_state(PART:"digital", "hidden", 0.0); set_state(PART:"digital_bg", "hidden", 0.0); set_state(PART:"digital_bg_overlay", "hidden", 0.0); } } } parts { part { name: "bg"; description { state: "default" 0.0; aspect: 1.0 1.0; image { normal: "e17_clock_bg.png"; } } } #ifdef IND # undef IND #endif #if E17_PROFILE != HIRES_PDA && E17_PROFILE != LOWRES_PDA && E17_PROFILE != MEDIUMRES_PDA # define IND "seconds" part { name: IND; mouse_events: 0; description { state: "default" 0.0; aspect: 1.0 1.0; rel1 { relative: 0.1 0.1; } rel2 { relative: 0.9 0.9; } image { normal: "e17_clock_"IND"_00.png"; } } # ifdef HAND # undef HAND # endif # define HAND(num) \ description { \ state: num 0.0; \ inherit: "default" 0.0; \ image { \ normal: "e17_clock_"IND"_"num".png"; \ } \ } HAND("00") HAND("01") HAND("02") HAND("03") HAND("04") HAND("05") HAND("06") HAND("07") HAND("08") HAND("09") HAND("10") HAND("11") HAND("12") HAND("13") HAND("14") HAND("15") HAND("16") HAND("17") HAND("18") HAND("19") HAND("20") HAND("21") HAND("22") HAND("23") HAND("24") HAND("25") HAND("26") HAND("27") HAND("28") HAND("29") HAND("30") HAND("31") HAND("32") HAND("33") HAND("34") HAND("35") HAND("36") HAND("37") HAND("38") HAND("39") HAND("40") HAND("41") HAND("42") HAND("43") HAND("44") HAND("45") HAND("46") HAND("47") HAND("48") HAND("49") HAND("50") HAND("51") HAND("52") HAND("53") HAND("54") HAND("55") HAND("56") HAND("57") HAND("58") HAND("59") } #endif #ifdef IND # undef IND #endif #define IND "minutes" part { name: IND; mouse_events: 0; description { state: "default" 0.0; aspect: 1.0 1.0; rel1 { relative: 0.1 0.1; } rel2 { relative: 0.9 0.9; } image { normal: "e17_clock_"IND"_00.png"; } } #ifdef HAND # undef HAND #endif #define HAND(num) \ description { \ state: num 0.0; \ inherit: "default" 0.0; \ image { \ normal: "e17_clock_"IND"_"num".png"; \ } \ } HAND("00") HAND("01") HAND("02") HAND("03") HAND("04") HAND("05") HAND("06") HAND("07") HAND("08") HAND("09") HAND("10") HAND("11") HAND("12") HAND("13") HAND("14") HAND("15") HAND("16") HAND("17") HAND("18") HAND("19") HAND("20") HAND("21") HAND("22") HAND("23") HAND("24") HAND("25") HAND("26") HAND("27") HAND("28") HAND("29") HAND("30") HAND("31") HAND("32") HAND("33") HAND("34") HAND("35") HAND("36") HAND("37") HAND("38") HAND("39") HAND("40") HAND("41") HAND("42") HAND("43") HAND("44") HAND("45") HAND("46") HAND("47") HAND("48") HAND("49") HAND("50") HAND("51") HAND("52") HAND("53") HAND("54") HAND("55") HAND("56") HAND("57") HAND("58") HAND("59") } #ifdef IND # undef IND #endif #define IND "hour" part { name: IND; mouse_events: 0; description { state: "default" 0.0; aspect: 1.0 1.0; rel1 { relative: 0.2 0.2; } rel2 { relative: 0.8 0.8; } image { normal: "e17_clock_"IND"_00.png"; } } #ifdef HAND # undef HAND #endif #define HAND(num) \ description { \ state: num 0.0; \ inherit: "default" 0.0; \ image { \ normal: "e17_clock_"IND"_"num".png"; \ } \ } HAND("00") HAND("01") HAND("02") HAND("03") HAND("04") HAND("05") HAND("06") HAND("07") HAND("08") HAND("09") HAND("10") HAND("11") HAND("12") HAND("13") HAND("14") HAND("15") HAND("16") HAND("17") HAND("18") HAND("19") HAND("20") HAND("21") HAND("22") HAND("23") HAND("24") HAND("25") HAND("26") HAND("27") HAND("28") HAND("29") HAND("30") HAND("31") HAND("32") HAND("33") HAND("34") HAND("35") HAND("36") HAND("37") HAND("38") HAND("39") HAND("40") HAND("41") HAND("42") HAND("43") HAND("44") HAND("45") HAND("46") HAND("47") HAND("48") HAND("49") HAND("50") HAND("51") HAND("52") HAND("53") HAND("54") HAND("55") HAND("56") HAND("57") HAND("58") HAND("59") } part { name: "main"; mouse_events: 0; description { state: "default" 0.0; rel1 { to: "bg"; } rel2 { to: "bg"; } image { normal: "e17_clock_fg.png"; } } } part { name: "digital_bg_area"; type: "RECT"; mouse_events: 0; description { state: "default" 0.0; min: 16 16; rel1 { relative: 0.0 0.8; } rel2 { relative: 1.0 1.0; } visible: 0; } } part { name: "digital_bg_overlay"; mouse_events: 0; description { state: "default" 0.0; rel1 { to: "digital_bg_area"; relative: 0.0 0.0; } rel2 { to: "digital_bg_area"; relative: 1.0 1.0; } image { normal: "e17_ibar_over_h.png"; border: 13 13 13 13; } fill { smooth: 0; } color: 255 255 255 192; } description { state: "hidden" 0.0; visible: 0; image { normal: "e17_ibar_over_h.png"; border: 13 13 13 13; middle: 0; } } } part { name: "digital_bg"; mouse_events: 0; description { state: "default" 0.0; rel1 { to: "digital_bg_area"; relative: 0.0 0.0; } rel2 { to: "digital_bg_area"; relative: 1.0 1.0; } image { normal: "e17_ibar_bg_h.png"; border: 6 6 6 6; } fill { smooth: 0; } color: 255 255 255 128; } description { state: "hidden" 0.0; visible: 0; image { normal: "e17_ibar_bg_h.png"; border: 6 6 6 6; middle: 0; } } } part { name: "digital"; type: TEXT; effect: SOFT_SHADOW; description { state: "default" 0.0; rel1 { to: "digital_bg_area"; offset: 3 4; } rel2 { to: "digital_bg_area"; offset: -2 -2; } color: 255 255 255 255; color3: 0 0 0 32; text { text: "00:00:00 AM"; font: "Edje-Vera"; size: 15; fit: 0 1; align: 0.0 0.5; } } description { state: "hidden" 0.0; visible: 0; } } part { name: "digitalStyle"; type: TEXT; description { state: "hidden" 0.0; visible: 0; } } } programs { program { name: "init"; signal: "load"; source: ""; script { clock_cb(0); } } } }