From afa98036545896cc221e8a1d170c4d44bd861176 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Sun, 11 Nov 2012 10:21:50 +0000 Subject: [PATCH] dark -> analog clock done... well for now. SVN revision: 79110 --- data/themes/Makefile.am | 54 ++++++ data/themes/edc/O/clock.edc | 334 --------------------------------- data/themes/edc/clock.edc | 228 ++++++++++++---------- data/themes/img/clock_h.png | Bin 0 -> 139 bytes data/themes/img/clock_h2.png | Bin 0 -> 218 bytes data/themes/img/clock_h3.png | Bin 0 -> 150 bytes data/themes/img/clock_h4.png | Bin 0 -> 133 bytes data/themes/img/clock_h5.png | Bin 0 -> 207 bytes data/themes/img/clock_h6.png | Bin 0 -> 143 bytes data/themes/img/clock_h7.png | Bin 0 -> 131 bytes data/themes/img/clock_hs.png | Bin 0 -> 689 bytes data/themes/img/clock_hs2.png | Bin 0 -> 572 bytes data/themes/img/clock_hs3.png | Bin 0 -> 500 bytes data/themes/img/clock_hs4.png | Bin 0 -> 405 bytes data/themes/img/clock_hs5.png | Bin 0 -> 323 bytes data/themes/img/clock_hs6.png | Bin 0 -> 234 bytes data/themes/img/clock_hs7.png | Bin 0 -> 164 bytes data/themes/img/clock_m.png | Bin 0 -> 147 bytes data/themes/img/clock_m2.png | Bin 0 -> 226 bytes data/themes/img/clock_m3.png | Bin 0 -> 157 bytes data/themes/img/clock_m4.png | Bin 0 -> 129 bytes data/themes/img/clock_m5.png | Bin 0 -> 217 bytes data/themes/img/clock_m6.png | Bin 0 -> 131 bytes data/themes/img/clock_m7.png | Bin 0 -> 140 bytes data/themes/img/clock_ms.png | Bin 0 -> 709 bytes data/themes/img/clock_ms2.png | Bin 0 -> 602 bytes data/themes/img/clock_ms3.png | Bin 0 -> 492 bytes data/themes/img/clock_ms4.png | Bin 0 -> 397 bytes data/themes/img/clock_ms5.png | Bin 0 -> 317 bytes data/themes/img/clock_ms6.png | Bin 0 -> 231 bytes data/themes/img/clock_ms7.png | Bin 0 -> 168 bytes data/themes/img/clock_s.png | Bin 0 -> 164 bytes data/themes/img/clock_s2.png | Bin 0 -> 275 bytes data/themes/img/clock_s3.png | Bin 0 -> 189 bytes data/themes/img/clock_s4.png | Bin 0 -> 172 bytes data/themes/img/clock_s5.png | Bin 0 -> 227 bytes data/themes/img/clock_s6.png | Bin 0 -> 135 bytes data/themes/img/clock_s7.png | Bin 0 -> 141 bytes data/themes/img/clock_ss.png | Bin 0 -> 707 bytes data/themes/img/clock_ss2.png | Bin 0 -> 593 bytes data/themes/img/clock_ss3.png | Bin 0 -> 499 bytes data/themes/img/clock_ss4.png | Bin 0 -> 403 bytes data/themes/img/clock_ss5.png | Bin 0 -> 324 bytes data/themes/img/clock_ss6.png | Bin 0 -> 230 bytes data/themes/img/clock_ss7.png | Bin 0 -> 160 bytes data/themes/img/hole_pixel.png | Bin 0 -> 90 bytes data/themes/img/knob_sz_04.png | Bin 0 -> 264 bytes data/themes/img/knob_sz_06.png | Bin 0 -> 360 bytes data/themes/img/knob_sz_08.png | Bin 0 -> 498 bytes data/themes/img/knob_sz_10.png | Bin 0 -> 624 bytes data/themes/img/knob_sz_12.png | Bin 0 -> 777 bytes data/themes/img/knob_sz_14.png | Bin 0 -> 952 bytes data/themes/img/knob_sz_16.png | Bin 0 -> 1111 bytes data/themes/img/knob_sz_18.png | Bin 0 -> 1325 bytes data/themes/img/knob_sz_20.png | Bin 0 -> 1490 bytes data/themes/img/knob_sz_22.png | Bin 0 -> 1732 bytes data/themes/img/knob_sz_24.png | Bin 0 -> 1964 bytes 57 files changed, 180 insertions(+), 436 deletions(-) create mode 100644 data/themes/img/clock_h.png create mode 100644 data/themes/img/clock_h2.png create mode 100644 data/themes/img/clock_h3.png create mode 100644 data/themes/img/clock_h4.png create mode 100644 data/themes/img/clock_h5.png create mode 100644 data/themes/img/clock_h6.png create mode 100644 data/themes/img/clock_h7.png create mode 100644 data/themes/img/clock_hs.png create mode 100644 data/themes/img/clock_hs2.png create mode 100644 data/themes/img/clock_hs3.png create mode 100644 data/themes/img/clock_hs4.png create mode 100644 data/themes/img/clock_hs5.png create mode 100644 data/themes/img/clock_hs6.png create mode 100644 data/themes/img/clock_hs7.png create mode 100644 data/themes/img/clock_m.png create mode 100644 data/themes/img/clock_m2.png create mode 100644 data/themes/img/clock_m3.png create mode 100644 data/themes/img/clock_m4.png create mode 100644 data/themes/img/clock_m5.png create mode 100644 data/themes/img/clock_m6.png create mode 100644 data/themes/img/clock_m7.png create mode 100644 data/themes/img/clock_ms.png create mode 100644 data/themes/img/clock_ms2.png create mode 100644 data/themes/img/clock_ms3.png create mode 100644 data/themes/img/clock_ms4.png create mode 100644 data/themes/img/clock_ms5.png create mode 100644 data/themes/img/clock_ms6.png create mode 100644 data/themes/img/clock_ms7.png create mode 100644 data/themes/img/clock_s.png create mode 100644 data/themes/img/clock_s2.png create mode 100644 data/themes/img/clock_s3.png create mode 100644 data/themes/img/clock_s4.png create mode 100644 data/themes/img/clock_s5.png create mode 100644 data/themes/img/clock_s6.png create mode 100644 data/themes/img/clock_s7.png create mode 100644 data/themes/img/clock_ss.png create mode 100644 data/themes/img/clock_ss2.png create mode 100644 data/themes/img/clock_ss3.png create mode 100644 data/themes/img/clock_ss4.png create mode 100644 data/themes/img/clock_ss5.png create mode 100644 data/themes/img/clock_ss6.png create mode 100644 data/themes/img/clock_ss7.png create mode 100644 data/themes/img/hole_pixel.png create mode 100644 data/themes/img/knob_sz_04.png create mode 100644 data/themes/img/knob_sz_06.png create mode 100644 data/themes/img/knob_sz_08.png create mode 100644 data/themes/img/knob_sz_10.png create mode 100644 data/themes/img/knob_sz_12.png create mode 100644 data/themes/img/knob_sz_14.png create mode 100644 data/themes/img/knob_sz_16.png create mode 100644 data/themes/img/knob_sz_18.png create mode 100644 data/themes/img/knob_sz_20.png create mode 100644 data/themes/img/knob_sz_22.png create mode 100644 data/themes/img/knob_sz_24.png diff --git a/data/themes/Makefile.am b/data/themes/Makefile.am index a1cd008af..d757a19fd 100644 --- a/data/themes/Makefile.am +++ b/data/themes/Makefile.am @@ -102,6 +102,48 @@ img/cell_sig_1.png \ img/cell_sig_2.png \ img/cell_sig_3.png \ img/cell_sig_4.png \ +img/clock_h2.png \ +img/clock_h3.png \ +img/clock_h4.png \ +img/clock_h5.png \ +img/clock_h6.png \ +img/clock_h7.png \ +img/clock_h.png \ +img/clock_hs2.png \ +img/clock_hs3.png \ +img/clock_hs4.png \ +img/clock_hs5.png \ +img/clock_hs6.png \ +img/clock_hs7.png \ +img/clock_hs.png \ +img/clock_m2.png \ +img/clock_m3.png \ +img/clock_m4.png \ +img/clock_m5.png \ +img/clock_m6.png \ +img/clock_m7.png \ +img/clock_m.png \ +img/clock_ms2.png \ +img/clock_ms3.png \ +img/clock_ms4.png \ +img/clock_ms5.png \ +img/clock_ms6.png \ +img/clock_ms7.png \ +img/clock_ms.png \ +img/clock_s2.png \ +img/clock_s3.png \ +img/clock_s4.png \ +img/clock_s5.png \ +img/clock_s6.png \ +img/clock_s7.png \ +img/clock_s.png \ +img/clock_ss2.png \ +img/clock_ss3.png \ +img/clock_ss4.png \ +img/clock_ss5.png \ +img/clock_ss6.png \ +img/clock_ss7.png \ +img/clock_ss.png \ img/darken_rounded_square.png \ img/diagonal_stripes.png \ img/dot_pattern.png \ @@ -120,6 +162,7 @@ img/holes_tiny_glow_vert.png \ img/holes_tiny_horiz.png \ img/holes_tiny_vert.png \ img/holes_vert.png \ +img/hole_pixel.png \ img/hole_tiny.png \ img/horiz_bar_inset.png \ img/horiz_glow_run.png \ @@ -133,6 +176,17 @@ img/knob_round_busy.png \ img/knob_round_small_busy.png \ img/knob_round_small_normal.png \ img/knob_round_small_selected.png \ +img/knob_sz_04.png \ +img/knob_sz_06.png \ +img/knob_sz_08.png \ +img/knob_sz_10.png \ +img/knob_sz_12.png \ +img/knob_sz_14.png \ +img/knob_sz_16.png \ +img/knob_sz_18.png \ +img/knob_sz_20.png \ +img/knob_sz_22.png \ +img/knob_sz_24.png \ img/led_dark.png \ img/led_light.png \ img/led_tiny_green.png \ diff --git a/data/themes/edc/O/clock.edc b/data/themes/edc/O/clock.edc index e8da5a8a6..8ac34391a 100644 --- a/data/themes/edc/O/clock.edc +++ b/data/themes/edc/O/clock.edc @@ -1029,337 +1029,3 @@ } } } - group { name: "e/modules/clock/main"; - images { - image: "O/clock_base.png" COMP; - image: "O/tacho_fg.png" COMP; - image: "O/ch-h1.png" COMP; - image: "O/ch-h2.png" COMP; - image: "O/ch-m1.png" COMP; - image: "O/ch-m2.png" COMP; - image: "O/ch-s1.png" COMP; - image: "O/ch-s2.png" COMP; - image: "O/ch-h1-2.png" COMP; - image: "O/ch-h2-2.png" COMP; - image: "O/ch-m1-2.png" COMP; - image: "O/ch-m2-2.png" COMP; - image: "O/ch-s1-2.png" COMP; - image: "O/ch-s2-2.png" COMP; - image: "O/ch-h1-3.png" COMP; - image: "O/ch-h2-3.png" COMP; - image: "O/ch-m1-3.png" COMP; - image: "O/ch-m2-3.png" COMP; - image: "O/ch-s1-3.png" COMP; - image: "O/ch-s2-3.png" COMP; - } - min: 16 16; - max: 128 128; - script { - public do_seconds, tick_timer; - - public clock_cb(val) { - new year, month, day, yearday, weekday, hour, minute; - new Float:second; - new v, dosec, tim; - new x, y, w, h; - - date(year, month, day, yearday, weekday, hour, minute, second); - get_geometry(PART:"hour", x, y, w, h); - dosec = get_int(do_seconds); - if (dosec) { - v = round(second); - tim = timer(1.0 - (second - v), "clock_cb", 1); - - custom_state(PART:"seconds", "default", 0.0); - set_state_val(PART:"seconds", STATE_MAP_ROT_Z, (v * 360.0) / 60.0); - if (h < 22) - set_state_val(PART:"seconds", STATE_IMAGE, IMAGE:"O/ch-s1-3.png"); - else if (h < 44) - set_state_val(PART:"seconds", STATE_IMAGE, IMAGE:"O/ch-s1-2.png"); - else - set_state_val(PART:"seconds", STATE_IMAGE, IMAGE:"O/ch-s1.png"); - set_state(PART:"seconds", "custom", 0.0); - - custom_state(PART:"seconds-sh", "default", 0.0); - set_state_val(PART:"seconds-sh", STATE_MAP_ROT_Z, (v * 360.0) / 60.0); - if (h < 22) - set_state_val(PART:"seconds-sh", STATE_IMAGE, IMAGE:"O/ch-s2-3.png"); - else if (h < 44) - set_state_val(PART:"seconds-sh", STATE_IMAGE, IMAGE:"O/ch-s2-2.png"); - else - set_state_val(PART:"seconds-sh", STATE_IMAGE, IMAGE:"O/ch-s2.png"); - set_state(PART:"seconds-sh", "custom", 0.0); - } - else { - tim = timer(60.0 - (second), "clock_cb", 1); - } - set_int(tick_timer, tim); - - custom_state(PART:"minutes", "default", 0.0); - set_state_val(PART:"minutes", STATE_MAP_ROT_Z, (float(minute) * 360.0) / 60.0); - if (h < 22) - set_state_val(PART:"minutes", STATE_IMAGE, IMAGE:"O/ch-m1-3.png"); - else if (h < 44) - set_state_val(PART:"minutes", STATE_IMAGE, IMAGE:"O/ch-m1-2.png"); - else - set_state_val(PART:"minutes", STATE_IMAGE, IMAGE:"O/ch-m1.png"); - set_state(PART:"minutes", "custom", 0.0); - - custom_state(PART:"minutes-sh", "default", 0.0); - set_state_val(PART:"minutes-sh", STATE_MAP_ROT_Z, (float(minute) * 360.0) / 60.0); - if (h < 22) - set_state_val(PART:"minutes-sh", STATE_IMAGE, IMAGE:"O/ch-m2-3.png"); - else if (h < 44) - set_state_val(PART:"minutes-sh", STATE_IMAGE, IMAGE:"O/ch-m2-2.png"); - else - set_state_val(PART:"minutes-sh", STATE_IMAGE, IMAGE:"O/ch-m2.png"); - set_state(PART:"minutes-sh", "custom", 0.0); - - custom_state(PART:"hour", "default", 0.0); - set_state_val(PART:"hour", STATE_MAP_ROT_Z, ((float(hour) + (float(minute) / 60.0)) * 360.0) / 12.0); - if (h < 22) - set_state_val(PART:"hour", STATE_IMAGE, IMAGE:"O/ch-h1-3.png"); - else if (h < 44) - set_state_val(PART:"hour", STATE_IMAGE, IMAGE:"O/ch-h1-2.png"); - else - set_state_val(PART:"hour", STATE_IMAGE, IMAGE:"O/ch-h1.png"); - set_state(PART:"hour", "custom", 0.0); - - custom_state(PART:"hour-sh", "default", 0.0); - set_state_val(PART:"hour-sh", STATE_MAP_ROT_Z, ((float(hour) + (float(minute) / 60.0)) * 360.0) / 12.0); - if (h < 22) - set_state_val(PART:"hour-sh", STATE_IMAGE, IMAGE:"O/ch-h2-3.png"); - else if (h < 44) - set_state_val(PART:"hour-sh", STATE_IMAGE, IMAGE:"O/ch-h2-2.png"); - else - set_state_val(PART:"hour-sh", STATE_IMAGE, IMAGE:"O/ch-h2.png"); - set_state(PART:"hour-sh", "custom", 0.0); - } - } - parts { - part { - name: "base"; - description { - state: "default" 0.0; - aspect: 1.0 1.0; - image.normal: "O/clock_base.png"; - } - } - part { - name: "base2"; - type: RECT; - mouse_events: 0; - description { - state: "default" 0.0; - visible: 0; - rel1 { - to: "base"; - relative: (2.0/128.0) (2.0/128.0); - } - rel2 { - to: "base"; - relative: (1.0+(2.0/128.0)) (1.0+(2.0/128.0)); - } - } - } - part { - name: "seconds-sh"; - mouse_events: 0; - description { state: "default" 0.0; - rel1 { - to: "base2"; - relative: 0.3125 0.0; - } - rel2 { - to: "base2"; - relative: 0.6875 0.6875; - } - image.normal: "O/ch-s2.png"; - map { - on: 1; - rotation { - center: "base2"; - } - } - } - description { state: "hidden" 0.0; - inherit: "default" 0.0; - visible: 0; - } - } - part { - name: "seconds"; - mouse_events: 0; - description { state: "default" 0.0; - rel1 { - to: "base"; - relative: 0.3125 0.0; - } - rel2 { - to: "base"; - relative: 0.6875 0.6875; - } - image.normal: "O/ch-s1.png"; - map { - on: 1; - rotation { - center: "base"; - } - } - } - description { state: "hidden" 0.0; - inherit: "default" 0.0; - visible: 0; - } - } - part { - name: "minutes-sh"; - mouse_events: 0; - description { - state: "default" 0.0; - rel1 { - to: "base2"; - relative: 0.3125 0.0; - } - rel2 { - to: "base2"; - relative: 0.6875 0.6875; - } - image.normal: "O/ch-m2.png"; - map { - on: 1; - rotation { - center: "base2"; - } - } - } - } - part { - name: "minutes"; - mouse_events: 0; - description { - state: "default" 0.0; - rel1 { - to: "base"; - relative: 0.3125 0.0; - } - rel2 { - to: "base"; - relative: 0.6875 0.6875; - } - image.normal: "O/ch-m1.png"; - map { - on: 1; - rotation { - center: "base"; - } - } - } - } - part { - name: "hour-sh"; - mouse_events: 0; - description { - state: "default" 0.0; - rel1 { - to: "base2"; - relative: 0.3125 0.0; - } - rel2 { - to: "base2"; - relative: 0.6875 0.6875; - } - image.normal: "O/ch-h2.png"; - map { - on: 1; - rotation { - center: "base2"; - } - } - } - } - part { - name: "hour"; - mouse_events: 0; - description { - state: "default" 0.0; - rel1 { - to: "base"; - relative: 0.3125 0.0; - } - rel2 { - to: "base"; - relative: 0.6875 0.6875; - } - image.normal: "O/ch-h1.png"; - map { - on: 1; - rotation { - center: "base"; - } - } - } - } - part { - name: "over"; - mouse_events: 0; - description { - state: "default" 0.0; - rel1.to: "base"; - rel2.to: "base"; - image.normal: "O/tacho_fg.png"; - } - } - } - programs { - program { name: "init"; - signal: "load"; - source: ""; - script { - clock_cb(0); - } - } - program { name: "secon"; - signal: "e,state,seconds,on"; - source: "e"; - action: STATE_SET "default" 0.0; - target: "seconds"; - target: "seconds-sh"; - after: "sec2"; - } - program { name: "sec2"; - script { - new tim; - - set_int(do_seconds, 1); - tim = get_int(tick_timer); - if (tim) { - cancel_timer(tim); - set_int(tick_timer, 0); - } - clock_cb(0); - } - } - program { name: "secoff"; - signal: "e,state,seconds,off"; - source: "e"; - action: STATE_SET "hidden" 0.0; - target: "seconds"; - target: "seconds-sh"; - after: "sec3"; - } - program { name: "sec3"; - script { - new tim; - - set_int(do_seconds, 0); - tim = get_int(tick_timer); - if (tim) { - cancel_timer(tim); - set_int(tick_timer, 0); - } - clock_cb(0); - } - } - } - } diff --git a/data/themes/edc/clock.edc b/data/themes/edc/clock.edc index 573e40d6f..31c86f6ea 100644 --- a/data/themes/edc/clock.edc +++ b/data/themes/edc/clock.edc @@ -3,20 +3,44 @@ group { name: "e/modules/clock/digital"; } #endif -#if 0 +#if 1 group { name: "e/modules/clock/main"; images { - image: "clock_base.png" COMP; - image: "tacho_fg.png" COMP; - image: "ch-h1.png" COMP; - image: "ch-h2.png" COMP; - image: "ch-m1.png" COMP; - image: "ch-m2.png" COMP; - image: "ch-s1.png" COMP; - image: "ch-s2.png" COMP; + image: "hole_tiny.png" COMP; + image: "hole_pixel.png" COMP; +#define SET(_NAME) \ + set { name: _NAME; \ + image { image: _NAME".png" COMP; size: 26 83 99999 99999; } \ + image { image: _NAME"2.png" COMP; size: 23 71 26 82; } \ + image { image: _NAME"3.png" COMP; size: 19 58 22 70; } \ + image { image: _NAME"4.png" COMP; size: 15 45 18 57; } \ + image { image: _NAME"5.png" COMP; size: 11 33 14 44; } \ + image { image: _NAME"6.png" COMP; size: 7 20 10 32; } \ + image { image: _NAME"7.png" COMP; size: 0 0 6 19; } \ + } + SET("clock_h") + SET("clock_hs") + SET("clock_m") + SET("clock_ms") + SET("clock_s") + SET("clock_ss") +#undef SET + set { name: "knob"; + image { image: "knob_sz_24.png" COMP; size: 31 31 32 32; } + image { image: "knob_sz_22.png" COMP; size: 29 29 30 30; } + image { image: "knob_sz_20.png" COMP; size: 27 27 28 28; } + image { image: "knob_sz_18.png" COMP; size: 25 25 26 26; } + image { image: "knob_sz_16.png" COMP; size: 23 23 24 24; } + image { image: "knob_sz_14.png" COMP; size: 21 21 22 22; } + image { image: "knob_sz_12.png" COMP; size: 19 19 20 20; } + image { image: "knob_sz_10.png" COMP; size: 17 17 18 18; } + image { image: "knob_sz_08.png" COMP; size: 15 15 16 16; } + image { image: "knob_sz_06.png" COMP; size: 13 13 14 14; } + image { image: "knob_sz_04.png" COMP; size: 0 0 12 12; } + } } min: 16 16; - max: 128 128; + max: 160 160; script { public do_seconds, tick_timer; @@ -24,10 +48,8 @@ group { name: "e/modules/clock/main"; new year, month, day, yearday, weekday, hour, minute; new Float:second; new v, dosec, tim; - new x, y, w, h; date(year, month, day, yearday, weekday, hour, minute, second); - get_geometry(PART:"hour", x, y, w, h); dosec = get_int(do_seconds); if (dosec) { v = round(second); @@ -35,12 +57,10 @@ group { name: "e/modules/clock/main"; custom_state(PART:"seconds", "default", 0.0); set_state_val(PART:"seconds", STATE_MAP_ROT_Z, (v * 360.0) / 60.0); - set_state_val(PART:"seconds", STATE_IMAGE, IMAGE:"ch-s1.png"); set_state(PART:"seconds", "custom", 0.0); custom_state(PART:"seconds-sh", "default", 0.0); set_state_val(PART:"seconds-sh", STATE_MAP_ROT_Z, (v * 360.0) / 60.0); - set_state_val(PART:"seconds-sh", STATE_IMAGE, IMAGE:"ch-s2.png"); set_state(PART:"seconds-sh", "custom", 0.0); } else { @@ -50,120 +70,124 @@ group { name: "e/modules/clock/main"; custom_state(PART:"minutes", "default", 0.0); set_state_val(PART:"minutes", STATE_MAP_ROT_Z, (float(minute) * 360.0) / 60.0); - set_state_val(PART:"minutes", STATE_IMAGE, IMAGE:"ch-m1.png"); set_state(PART:"minutes", "custom", 0.0); custom_state(PART:"minutes-sh", "default", 0.0); set_state_val(PART:"minutes-sh", STATE_MAP_ROT_Z, (float(minute) * 360.0) / 60.0); - set_state_val(PART:"minutes-sh", STATE_IMAGE, IMAGE:"ch-m2.png"); set_state(PART:"minutes-sh", "custom", 0.0); - custom_state(PART:"hour", "default", 0.0); - set_state_val(PART:"hour", STATE_MAP_ROT_Z, ((float(hour) + (float(minute) / 60.0)) * 360.0) / 12.0); - set_state_val(PART:"hour", STATE_IMAGE, IMAGE:"ch-h1.png"); - set_state(PART:"hour", "custom", 0.0); + custom_state(PART:"hours", "default", 0.0); + set_state_val(PART:"hours", STATE_MAP_ROT_Z, ((float(hour) + (float(minute) / 60.0)) * 360.0) / 12.0); + set_state(PART:"hours", "custom", 0.0); - custom_state(PART:"hour-sh", "default", 0.0); - set_state_val(PART:"hour-sh", STATE_MAP_ROT_Z, ((float(hour) + (float(minute) / 60.0)) * 360.0) / 12.0); - set_state_val(PART:"hour-sh", STATE_IMAGE, IMAGE:"ch-h2.png"); - set_state(PART:"hour-sh", "custom", 0.0); + custom_state(PART:"hours-sh", "default", 0.0); + set_state_val(PART:"hours-sh", STATE_MAP_ROT_Z, ((float(hour) + (float(minute) / 60.0)) * 360.0) / 12.0); + set_state(PART:"hours-sh", "custom", 0.0); } } parts { - part { name: "base"; + part { name: "event"; type: RECT; description { state: "default" 0.0; + color: 0 0 0 0; + } + } + part { name: "base"; type: SPACER; + description { state: "default" 0.0; + rel1.offset: -1 -1; + rel2.offset: 0 0; aspect: 1.0 1.0; - image.normal: "clock_base.png"; } } - part { name: "base2"; type: RECT; mouse_events: 0; + part { name: "base-sh"; type: SPACER; description { state: "default" 0.0; - visible: 0; + rel1.offset: 0 1; rel1.to: "base"; - rel1.relative: (2.0/128.0) (2.0/128.0); + rel2.offset: -1 0; rel2.to: "base"; - rel2.relative: (1.0+(2.0/128.0)) (1.0+(2.0/128.0)); } } - part { name: "seconds-sh"; mouse_events: 0; - description { state: "default" 0.0; - rel1.to: "base2"; - rel1.relative: 0.3125 0.0; - rel2.to: "base2"; - rel2.relative: 0.6875 0.6875; - image.normal: "ch-s2.png"; - map. on: 1; - map.rotation.center: "base2"; - } - description { state: "hidden" 0.0; - inherit: "default" 0.0; - visible: 0; - } +#define POINT(_NAME, _SZ, _IMG, _X, _Y) \ + part { name: _NAME; \ + description { state: "default" 0.0; \ + rel1.relative: _X _Y; \ + rel1.to: "base"; \ + rel2.relative: _X _Y; \ + rel2.to: "base"; \ + min: _SZ _SZ; \ + max: _SZ _SZ; \ + fixed: 1 1; \ + image.normal: "hole_"_IMG".png"; \ + } \ } - part { name: "seconds"; mouse_events: 0; + POINT("h-12", 4, "tiny", 0.500, 0.100) + POINT("h-01", 3, "pixel", 0.700, 0.154) + POINT("h-02", 3, "pixel", 0.846, 0.300) + POINT("h-03", 4, "tiny", 0.900, 0.500) + POINT("h-04", 3, "pixel", 0.846, 0.700) + POINT("h-05", 3, "pixel", 0.700, 0.846) + POINT("h-06", 4, "tiny", 0.500, 0.900) + POINT("h-07", 3, "pixel", 0.300, 0.846) + POINT("h-08", 3, "pixel", 0.154, 0.700) + POINT("h-09", 4, "tiny", 0.100, 0.500) + POINT("h-10", 3, "pixel", 0.154, 0.300) + POINT("h-11", 3, "pixel", 0.300, 0.154) +#undef POINT +#define HAND(_NAME, _IMG) \ + part { name: _NAME"-sh"; mouse_events: 0; \ + description { state: "default" 0.0; \ + rel1.to: "base-sh"; \ + rel1.relative: (65/160) 0; \ + rel2.to: "base-sh"; \ + rel2.relative: (95/160) (95/160); \ + image.normal: _IMG"s"; \ + map.on: 1; \ + map.rotation.center: "base-sh"; \ + color: 255 255 255 128; \ + } \ + description { state: "hidden" 0.0; \ + inherit: "default" 0.0; \ + visible: 0; \ + } \ + } \ + part { name: _NAME; mouse_events: 0; \ + description { state: "default" 0.0; \ + rel1.to: "base"; \ + rel1.relative: (65/160) 0; \ + rel2.to: "base"; \ + rel2.relative: (95/160) (95/160); \ + image.normal: _IMG; \ + map.on: 1; \ + map.rotation.center: "base"; \ + } \ + description { state: "hidden" 0.0; \ + inherit: "default" 0.0; \ + visible: 0; \ + } \ + } + HAND("seconds", "clock_s") + HAND("minutes", "clock_m") + HAND("hours", "clock_h") +#undef HAND + part { name: "knob"; type: SPACER; description { state: "default" 0.0; + rel1.relative: (18/40) (18/40); rel1.to: "base"; - rel1.relative: 0.3125 0.0; + rel2.relative: (22/40) (22/40); rel2.to: "base"; - rel2.relative: 0.6875 0.6875; - image.normal: "ch-s1.png"; - map.on: 1; - map.rotation.center: "base"; - } - description { state: "hidden" 0.0; - inherit: "default" 0.0; - visible: 0; + min: 4 4; + step: 2 2; + max: 24 24; } } - part { name: "minutes-sh"; mouse_events: 0; + part { name: "knob2"; description { state: "default" 0.0; - rel1.to: "base2"; - rel1.relative: 0.3125 0.0; - rel2.to: "base2"; - rel2.relative: 0.6875 0.6875; - image.normal: "ch-m2.png"; - map.on: 1; - map.rotation.center: "base2"; - } - } - part { name: "minutes"; mouse_events: 0; - description { state: "default" 0.0; - rel1.to: "base"; - rel1.relative: 0.3125 0.0; - rel2.to: "base"; - rel2.relative: 0.6875 0.6875; - image.normal: "ch-m1.png"; - map.on: 1; - map.rotation.center: "base"; - } - } - part { name: "hour-sh"; mouse_events: 0; - description { state: "default" 0.0; - rel1.to: "base2"; - rel1.relative: 0.3125 0.0; - rel2.to: "base2"; - rel2.relative: 0.6875 0.6875; - image.normal: "ch-h2.png"; - map.on: 1; - map.rotation.center: "base2"; - } - } - part { name: "hour"; mouse_events: 0; - description { state: "default" 0.0; - rel1.to: "base"; - rel1.relative: 0.3125 0.0; - rel2.to: "base"; - rel2.relative: 0.6875 0.6875; - image.normal: "ch-h1.png"; - map.on: 1; - map.rotation.center: "base"; - } - } - part { name: "over"; mouse_events: 0; - description { state: "default" 0.0; - rel1.to: "base"; - rel2.to: "base"; - image.normal: "tacho_fg.png"; + rel1.offset: -4 -4; + rel1.to: "knob"; + rel2.offset: 3 3; + rel2.to: "knob"; + min: 12 12; + max: 32 32; + image.normal: "knob"; } } } diff --git a/data/themes/img/clock_h.png b/data/themes/img/clock_h.png new file mode 100644 index 0000000000000000000000000000000000000000..5a5a6d4e59881401d39a642301bf165dc4f67970 GIT binary patch literal 139 zcmeAS@N?(olHy`uVBq!ia0vp^azGrMBZ!a10H5dpmAC%GG zKYwiy)SuIxqrE2z3BcC^^4&jt0c}9t$FqB-p1E+4xs>s a1BWRN( literal 0 HcmV?d00001 diff --git a/data/themes/img/clock_h2.png b/data/themes/img/clock_h2.png new file mode 100644 index 0000000000000000000000000000000000000000..faa8990880e42a7fb700eb2986a671f7bfa6e7e2 GIT binary patch literal 218 zcmeAS@N?(olHy`uVBq!ia0vp^Qa~KU!3HF~9FLp_QVTs@978hhy}fM6cgR4%CD7mN zmCL86MFOuB3a^W3F1)?4(}l5B&^ut!e--m-Pdm%amjX30Ff{zXpx&N4KWDz`)Sy$L zmvsMj=X~F$e*1f=@3!A>CP)d2-|n72t#o}FTd$zu@2fI`$){ywlf$N(?71nga`nuD z^`)GtchxdvzcNqlle?(gB=KH;`ns()zbgZ?<$v_g*d^ii_8oYvzd~Q Rya73u!PC{xWt~$(6966wS1ecltFROS?QhB*qg*U@_v4ig>M(F_e*j*}-mTL|eJ-T%+ zvi{ao@kG7$rFZh4@1K`@V?*NMHeTszOAhmWUgZ|Vw{C(u&>{v;S3j3^P6@n?Q3JJYD@<);T3K0RYMYDfR#W literal 0 HcmV?d00001 diff --git a/data/themes/img/clock_h5.png b/data/themes/img/clock_h5.png new file mode 100644 index 0000000000000000000000000000000000000000..bbd4191976ec2e2287a9eeba18042180d0ed0627 GIT binary patch literal 207 zcmV;=05JcFP)@49Gkvg4D z=XW?70vT9KlI^4Id-GD2MqpoS1oG=%4%{WMv%Rf{uC~vTF3(FT5a*HxNwZo*ov9^$ zL@3%0`=$tl{d7`M1FUMQC*Y7$y7hl=Y93BcJ+{I{NdW)=002ov JPDHLkV1m98QKkR@ literal 0 HcmV?d00001 diff --git a/data/themes/img/clock_h6.png b/data/themes/img/clock_h6.png new file mode 100644 index 0000000000000000000000000000000000000000..c4ed40194f320211ea578ea7585a3bc360c25be5 GIT binary patch literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^AhrSr8<5myefbthg?YL-hFF|VPLN<--0-YHaOUU# z|Le`z*xFUY;(FArhCLo?j@~V8Fm~@HdZ? zBjXn*<}HqlTinextPaHbuozpgsHI>3K|j`hif e^E}t(FW3IsDz29(ulEjUDubu1pUXO@geCwu`zjOw literal 0 HcmV?d00001 diff --git a/data/themes/img/clock_hs.png b/data/themes/img/clock_hs.png new file mode 100644 index 0000000000000000000000000000000000000000..e8bd2a481f34d682bd610540a3b4057d7e9f86a0 GIT binary patch literal 689 zcmV;i0#5yjP)lzGMWBAxj$?lN?+7f0^OAXgxUeP3TVUUSUZ6P02isV@U8$FOPdr0dnpPH zw}72^*wXd^z$5FHb{@b4;KbUoZPD|tU``u?dH`#d7281APXGs&ql7>39ii6ahBiHb zCjc)1wg8^#Iq2ygzz^C(<~!7Qtc$57U`6OB03QLovJLe1O(NhW)N%fQ^SaB-Zv<}u zd?5HM;ZL+37=8!fEOR|wgXX|7%n`gL_zTN3ZTGaBILCv`^;tZxn&XxsTod$4_-6sH z>Dj=LuVvM{+U*oQ))l=WY|F5}(6$9IvTsA%2l>A%0lS&4)XK_U@#V3^#k65xPun(u zx^z#M?qfYb;vo{Z)1$O6L2o)T8ySEWB)^-Pv%F}I!<9d{nbIuuWj{hq<(JD9wr9V3 z%?;n;(&xLu?;-;m*uVxhuz?Ny@4;QcwL(Y|@R)pG780~@4>%pfWu{=JEtFhIbQM6) zTqq{tCrMK$_W2|NRUU_#utwmK3E3#?W0WLK2M}(#5rBlz)2jnB!yU7SlccFT_8r*n zldy-<{5S|SUN!6`8w{*L*mw5rX*=u z0@6E>816SdFDB(niz}Vqk!@!__wwJfL}f@kzAMy|3}oVqyX2lLM&>BnYjI_}iVLk}@P)B_QF!T+TCpeXsj2p@+Td_F91e%W z;cz${j*}ugLT+~~qO2zZK^zAYWk9Z&DJ)T=XcgTdM1iCL&J=TzA%YtCR_w;eiV32b zCjSF06?6Sx17C`2s)R#Cxgl8sSHKN$EmAaj3A|}hmZVJ~%8Z(GU;`J+928=BuFJ1d)D=h4I)3)n;_pqP2V`bp~#7x$cdcDiB3f{_2LVru#L7c zV{MAbPaz5hKA6PDm=kO8M_ZU;K!II-BNJcCC|1hd7?U5mif)K-Oi^n(h6-5AC}zf~ zuJvDS)b)}TBjsvL$4~+<@^3-WT4SYh`p6~~g(hobCY)=srEYY}kjQ< zV@urEEKfGfDP6fW{X|4WPlkiK^1hsGvDG literal 0 HcmV?d00001 diff --git a/data/themes/img/clock_hs3.png b/data/themes/img/clock_hs3.png new file mode 100644 index 0000000000000000000000000000000000000000..d293df90b3cc1dc8ee7107fc74a97d7a9a1ecde3 GIT binary patch literal 500 zcmV z;Y-6X5XFBN<&t}lkdTm& zkdTm&@L%8#u&ECrc7Rv!3}FpaG4dF(SIgDB<||;UR;hhM9wE(uAus}tH3rxKYv5gD zn#i-3zsP_iU;>;07r+ddYThdhWm`z{2=Pcn*J@L(zW|RK+mO^T;;>l*U<{lCH^7~| z2AJ!^AtWF2ytd?R9tYx6d3y_7X?-lRC$*)XJ44}3C{E<{47fBKwb0r~w!VwlnQ-KK zajZ?8$Y!Fskx9ewUfq>$&Uijhs)ckLYA!RRz4O?Tdy^?m^R9{9_c)EaFWP4pJGL>8 z-B0fs|6A8)B2L7K_^%Sz`-+veYqK_eW%|-okWRr8yN?4|p~AT_x}w-Apq=I4%BQW0 zsgf<5v@eJZj)H9Lv7|F%uSUpMOLUUn>_9+mVT$y q+rO$}x!gz5H`&#FPhdjA7d`>;8;cxh63apW0000 zQA@)x6otR0-Kye5W#B|n@WucCmlPCnpj&Zcvu%7ife@Q5`l1iHFw)&~`|a*FI~nB2 zkt0Wr9Dg1~g638mtVy5(D1izv%Jo1CbVIOm0AhdI+_C4 zz^ymzCuvpqpsE1kW>jm)rq2)7LDn-c=Y(_MK>4|H z8xIt<+FqSBz_Z-&UD~U1jcRt9zXL6RM_o^(H97zm%J=(b)as^A>sZ=WroS3Gj*5t( z8GT6Uoqe5mru8WxBGzid0jGk7besQo{XV_`8qr{Reb6Au00000NkvXXu0mjfdCsz_ literal 0 HcmV?d00001 diff --git a/data/themes/img/clock_hs5.png b/data/themes/img/clock_hs5.png new file mode 100644 index 0000000000000000000000000000000000000000..52405be491e6878c02a66c302ea930dd8657d26e GIT binary patch literal 323 zcmV-J0lfZ+P)NJ^w?S|v~+iyUS42Gvs>y(a0iB2Uh*=t^A83Y zWRU+Wt^@PtECNT_PND+>Fa~af9e_R1SaOvSN5CEM49tN?J=92#>0&S>FE3BPEAS%x zQ=Se$o5±ZLfz`O8UU@hI3JUWGX56pmt@RhKU%}E|=rEn*}RQN<#WwISZM=88X zoX^U0=FyU!x#&vu_P_0%f!HIV=PX`BOtaUTNoY&+7&1}>YG4O!h3|w#qi4iggryoA zeQyo9ILN6l8(;%`0Uxq!&15XCj8l$mq%jFXhFO}wx%Lz8A VK%Y0)@c{q;002ovPDHLkV1iAwhn)Zb literal 0 HcmV?d00001 diff --git a/data/themes/img/clock_hs6.png b/data/themes/img/clock_hs6.png new file mode 100644 index 0000000000000000000000000000000000000000..4dd7938d1ac331115a8471725adb146eb27bdb14 GIT binary patch literal 234 zcmV69G6vgphULUnuI=YLCU!l9-e-yencW`W>Qp=0Wv4r5z#i8JZOOii_+~l5wd)%Xo z(yfOiOiA$2iJq~N~-Ua`UvA2`9-9ASYCwqaj*&sbaGW6G|=mSLqA4yiB; z8^em`hS$1K`gZ&&{)2FA<~5dmXZ>qmE1Y800dHZ4u&EVRd}0@mVINlerVe<@$z33|%ZGmK*`6+rArhDGo;Tz=nKWi3D29 N;OXk;vd$@?2>|1(J;MM1 literal 0 HcmV?d00001 diff --git a/data/themes/img/clock_m.png b/data/themes/img/clock_m.png new file mode 100644 index 0000000000000000000000000000000000000000..ab085603762fd1ed1135e9fdeedb8a57ed50a11f GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^azGrMBZ!hiUZ7>jUah!c> z{byArlSj&hPP4)f_-#t|n6%{nv?Y^5*sDThUzq=3s%<$xyTI@GvpsvZm(CUDVQW5^ hU?71`c~4pr{`O=@fI*Zd<6@vK44$rjF6*2UngE5#GLrxR literal 0 HcmV?d00001 diff --git a/data/themes/img/clock_m2.png b/data/themes/img/clock_m2.png new file mode 100644 index 0000000000000000000000000000000000000000..7051c9c60b08d7843a8153c8bfaea2b2755ae572 GIT binary patch literal 226 zcmV<803H8{P)1N>@%G6uNJXBJTjv>hMix2Ve#81oJg&&8yT{Yg c7-LLB-d!|_Nkh43R&sY?p7vI1LiL`qr28dX vz0DK&+BN6q9bax29f1sf#NIe#ca^L8nv2P%qU{Pm`xrc3{an^LB{Ts5ePA`T literal 0 HcmV?d00001 diff --git a/data/themes/img/clock_m4.png b/data/themes/img/clock_m4.png new file mode 100644 index 0000000000000000000000000000000000000000..67dac93b8a9b3264db967182cf10e2d55d784885 GIT binary patch literal 129 zcmeAS@N?(olHy`uVBq!ia0vp^LO^WE!3HF)msT$VQXZZzjv*0;-(J|r$)Lc)8d%78 z{LNklOz($g6pKRYJI{{scaSsf@kbF0;n`PLQq=Teg+FvD|)A|gU1YaEfpIhg5%Pj%^$*)q3DdWHH92?JclQsa}9%2;tT~_u6^@(7iJA`|*WI`?Wh#DPc>BVT bCI*Ie_oXy~YF6C=n#$nm>gTe~DWM4fvDz&h literal 0 HcmV?d00001 diff --git a/data/themes/img/clock_m7.png b/data/themes/img/clock_m7.png new file mode 100644 index 0000000000000000000000000000000000000000..e748bbe6f0ec42d42cb58d658eac6206b0180ace GIT binary patch literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^Y(Ol`0U|eFuSoz>!JaOTArhDGUR=oAU?Ac0aQCza z9J8-%W=}R0O5VV@N_xS+_LUh;${O?j-kJL)x1o_WqH$%rFPz*5eD6)RS( ze6-^Jv3%INP+bUg3mXWf8*l|s&%U%yK>~nR)n?)K2B_33sv112s-fW=uu~dVl)VCQ z&9uyq_;)x6%|Q%_I>V9&ba7zld?@Qd|DnLluiP^z(~OatHsz#V`ifLm$~ zYT5$$NqH!LhZ2o-FjWNX2>lG;6MzSff!aPQ3(U&Y;{U(2t~34>@BzR*!QTkKp=?L< zI{=gN^|%DhfyK-MJ`((u^_H?N@~4}^bF;5{|#X!5;^dRKa! zL}MM%2f~gt`yFK~06pgpl)X~VyDeasI7*d@>>U@ED#3K%TtnF^g1Y!jZ#~EQ0+CBZ zj?=XoUxS`?WqP#%T@n5EiMxE0kHf+PE>Zo;T=pg83*TIB<9PP1=g)W-Z|z?UewSik z0~^@D1~#yP4QyZo8`!`GHn4#WY+wT$*uWnFy!J3 z#O8~^8aU&WN0J2QKp9DJO?aDOD^BBvgjognf>Sc9SMkx~Pl8KtVAbq7jYZRei?;xt zaLT-h#vR96$_$a_NLirHm{@Yd&sh+9CN$TAEB0^Cv5EagJv%9@bdkmvnR-+k8M&~e@}Q2{ zzzqz_$BU7@mM4loPN?uUcj%)FWL8Hhd!BRPcmw)dkoeez==NGY$0Z-2q;iK#7f<%S r-kOqgncwg7$xVrTfE6oN{&)Ee`^)u+qH>4n00000NkvXXu0mjf$nj9N literal 0 HcmV?d00001 diff --git a/data/themes/img/clock_ms2.png b/data/themes/img/clock_ms2.png new file mode 100644 index 0000000000000000000000000000000000000000..9873b88714a74a25f54ed099ad1ae9d62c98c0cc GIT binary patch literal 602 zcmV-g0;T_p-P%*@RG z8LLk44OgFB&jwX$b<__454fm*GAIBpqE>6p0bSJGAy_p6xd0kq0!-B!&F_J&+D`Y~ z5UeT42g zTiv5fX7cT#@;Qz95>TzVOJE_;ci@Mz16ayur|dQ==RTL!Q0eLp(L(!k6M9-nBtcHE^_Nz-P6vM_b*`be^)vK z8OT5eGLV4`WFP|>$Up`%&>1!+XygQ1r#Z(F;%x~iD2pAhx+ziLMQ~pV@<|JT9le_M zOfLYUeh_YhQaq@IAIc~|whF$Y7yrV~|E0z@@<}D>Q3cW`khOw7&`W0_qm{;%^2xzQ zGxB=qISM#cu(^EJ8h?;a%aOWw$Y>|fll=Bt{bjUAPr#$D8$DB;QCzxKt91(WNUu1; zt2+E!tv#o7TlM$KAn2w<$GuHXU$%5(|4rm%&MH|!zN#M{fCw=GoS|yfDv#C41v5RC>ZRO_5?fwCWE(F>tN`cvIiVOk@&L3e5V=_3%LI z(0yOItVwMf*scy6)P5(m-PyU^>gwxTJMG%JY2bI_+uxb=x4v!>9KjJB!4Vw65gfr0 z9Krt->;n5bt%7y;mARJcuWGqqFa}V{9C`RTwk1n!mFYOD)UTuI$V#|KE=NcaAQ z^J516SdD#scV@C)bRvL2TS0dk`=t~~fS2wW-;8Qn=mmwT@wX3~Qe%7VzpC2Sa>(&m i(>NEp17nNrvwZ+jKZa&>VuX|c0000) literal 0 HcmV?d00001 diff --git a/data/themes/img/clock_ms4.png b/data/themes/img/clock_ms4.png new file mode 100644 index 0000000000000000000000000000000000000000..44ada164086bab38b0a7c27fb9670becbed23972 GIT binary patch literal 397 zcmV;80doF{P)Hbr9REWrs`a&+)R5m_S@J*`+fH&L1+Ei1Y_q+`hHf^vt}r0RAf*F zWl#oXPzGhtK0!9I?_@fgzytZY8v+Ue74Rc>hUVLpv$YWq-O3++0IR?st+clZKrW@I zm6A2EkTre_%;-Y7s!ve}dYAdE=UD00000NkvXXu0mjf8-t_u literal 0 HcmV?d00001 diff --git a/data/themes/img/clock_ms5.png b/data/themes/img/clock_ms5.png new file mode 100644 index 0000000000000000000000000000000000000000..c2658343f5f826421a296da91dd9ad9f35ee681d GIT binary patch literal 317 zcmV-D0mA-?P)wami-u` zH>w`3j)afMGz3b;ym=5nCd&$8@L2_ z0=&Rg_VRl?#FW2vtmFIUIL2A%ccD#U%(|;%jqO;R-Oy*D)iI_*YC2Z6{2e)3ICXaP75d~ph0w((=qe~$b6rm1HgphiaOj1Q+{1VCM^50cBB)KG zD)Jgg>H%JJU=8em1F#34zQZn-3=m39KIDzNClHP8S@wMJU-GmhIxz*c#Z7Rsdq z5Z#IWnE2_PE#Lxv5Bi5|zyLgy57H)JmN$B!lh#Yi9yA&0Eaw4Sq#1?Lqs+8Xep69q h=11_qg!w)GKHfl)AjPzR#qa`JOJ0ArhCbUa;nC3J_^|_&)BS zgic4R_JWPcf^YVhvYUvB+34srJewrJ+`9C#&&Tv+bUM3?sO-**{D-TBBPf09WuE;}ojdj_LG*KLRO R{6MQ2JYD@<);T3K0RZWBJL~`e literal 0 HcmV?d00001 diff --git a/data/themes/img/clock_s.png b/data/themes/img/clock_s.png new file mode 100644 index 0000000000000000000000000000000000000000..177c3f998ea40700c68444ce92e8a824883e9173 GIT binary patch literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^azGrMBZ_jQNY)}wzb=;s< zwTWjVPt_)MA08hW_6v$Pr{BACUqHokl8UeP)LFqRcYe43w#c;Qt<;Tv(`WY|T31PD z9($~Dt6N|9gYd61>9+kmJZ#Me6AUDfsSPTgvu<%_osnXgGyhEy&{_shS3j3^P6(6j?|*NjlZ(w&+tEJw#T5J+K9V;tU)wySQfSs7_i69e@@XLyQSp zLWgy_Ewc$pG>8o_dsv0zTD^LJq%uMgQAWtty*+mw zh2rxwvXF0v0b5tBBhSdzc}8DmU6c~iU!|_tjIzdC1H6JXxYYSc?9>f7bwBjAG{zW{ ZkvmB#K?zg~6fXb(002ovPDHLkV1h)JYWx5I literal 0 HcmV?d00001 diff --git a/data/themes/img/clock_s3.png b/data/themes/img/clock_s3.png new file mode 100644 index 0000000000000000000000000000000000000000..9c9ea4133a46bade2168195336c0e13b81db8bcf GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^VnFQ1!3HExSf!i+QZ1e?jv*0;-(J|r+iW1>dhz?E zH0CHb4sQqN>7p}EE?RbyDYB_FXupW(%tKrqOn0NBzFqu2y`!T;WuYj(0VfmAPVXB#_Pjl_d5OiLH{T~@_kEKQ zYjtsdu;Q4V`{gM&=dEDaw@FVdQ&MBb@0LL3c(f|Me literal 0 HcmV?d00001 diff --git a/data/themes/img/clock_s5.png b/data/themes/img/clock_s5.png new file mode 100644 index 0000000000000000000000000000000000000000..fbc4e310276cb4c4ba19366b41112f481f5f32ef GIT binary patch literal 227 zcmV<90382`P)VvrkYJ>zruj{O+W%p} zf=Qu}xU0RjyvHDPz8>}HpGo>cQ8ycl601V0EXty8Hc=xY0}hDXIPZ8CH=@*d4J1NI z%asl=4#T)cy_BtR@gpZ12YEcvZ+O(G*xQ=T9MkXk`5eDf&R?`T%ipmI-181P8DF}{ dTdOVjKAw98FVQ8v#M1x(002ovPDHLkV1g@(UuysW literal 0 HcmV?d00001 diff --git a/data/themes/img/clock_s6.png b/data/themes/img/clock_s6.png new file mode 100644 index 0000000000000000000000000000000000000000..e7f1ba84b66c613c01098bd22431f391c43b5809 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^AhrSr8<5myefbth`FXlHhFF|VPLN>t4)~!fQX83=ehihf2(jK7644$rjF6*2UngD;REsy{J literal 0 HcmV?d00001 diff --git a/data/themes/img/clock_s7.png b/data/themes/img/clock_s7.png new file mode 100644 index 0000000000000000000000000000000000000000..a051453d64daa60d931bab64680379bd6d45fe07 GIT binary patch literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^Y(Ol`0U|eFuSoz>A)YRdArhC96C@lCoH%gcK!VL@ zdv0cCXAb7W^|@?p$4;hSmW(%a6#ZaeU@*hjz@QC?Jq&>ygNH_0J3KZxtoUy)AtCYI lz~E2)nF9xYOxkmSl|lA7kG~TudnV9)22WQ%mvv4FO#sXcEI0rF literal 0 HcmV?d00001 diff --git a/data/themes/img/clock_ss.png b/data/themes/img/clock_ss.png new file mode 100644 index 0000000000000000000000000000000000000000..aa9cbceae12e0f4d5d7243bc1e87214212eed343 GIT binary patch literal 707 zcmV;!0zCbRP)u@c>>`pM^IYpwjA~Y4D<&hWc~BPFYw} z_X@x@`0BAnX~yFSZxue$P34sl^p_S^zfy?f@JC z+|qK;(hk5+>O;lbmsqSfQ%%5*(9Zxq0eIjTXzio&z@l6&@&C)}CKF!)9{}7F{EhG% z>h^TM12C&tPixQ|Slle&Bf($UZmHW*Z(@vl73*19UKHb+F5DCJK=>C0-qW(4F5jzN z?@Eu8Sgd#Sfv_Xpen;IJz`%D0>Rze;yDeZBIZCzK**i`yO*Yek?^^2C0n~+Odh0pX z7l>RUa-6Q!cnW&fm076;=!W2T6}ihd#n`X>!9`k?c$fVMRfS(Jw{blC)vM0<7H@sN z82m0`U;`W2zy>z3femb60~^@D1~#yP4g5cVQwcU7>2={lQvb1}xW5D(F5)%P5E=84 z#TSD$aKS16EQODeI+7Tl@isGGT>kM9w+iqDrzH5G_Q!xfiE+Jvq}y{Ai=`tc?*KgE zl(7|ydyaL~83W4^^FWhvvDB2FIk9BmJ$n%LgYP=(P7!#~u3qTEfmXE~@A(YAe**BG z{h+Ka-dsAiBSB37(sd_s_amQ^g^<+d3gbI)Z02*T{yQtL^nt|}xq4CynK-eO0HBW9 z$OVil#;ZF!m0u2vnl;|m9ID^~S=3R=p647mT!5}2hsVwbw^#BUmlUpJHHWo}CwpIS pP361H?{_KHm*{(#n3#OD{03Ki^?3e@jS>I=002ovPDHLkV1nXVQpx}T literal 0 HcmV?d00001 diff --git a/data/themes/img/clock_ss2.png b/data/themes/img/clock_ss2.png new file mode 100644 index 0000000000000000000000000000000000000000..58cf1078b9e491c65f20bb8f4409dbbb9d5b18d5 GIT binary patch literal 593 zcmV-X0X6Bh-{5l1j0(F2DP{?zQU4d5K7+|lhCLp)Wg*l+EnnKlV zfhXV@_zB!A?f`5|+iG2VVMCy91FV(!33vg1sf7UVnoOhifHVR8mGx ziaqOI&0jffP$(R$sDo5WevmAa8Hwhgu__Xsm?P1I2y#@?opgnh5uJ7#I}X4mD++q( zY!a4AW@WUU{2(Qz9a^WcifV!Oifc6cwOOOR1gE_!ty3zpt-ENpS0#GoLo7r|Prz^a zWl8HQeQs1ir~6>G`z6|aAyx6PI#6Leizd@X?^7};)_d~knGl^2qo+fv&NHOs!$N_5 fPHe!=G^zELgB$ z|Iwlz@u(rsINM-w1jIlBq&fzufFn@q*bD(j0*-(&FcBO;aQdN5iJOGctm2%$Iq5?Q*D>cse zDvmWU6Zjr@Qsn?sK{vn}*y_CMYDFx6rrVzbx4@lqS1ZM`+KlOJMdDOFRj+5t*~^zH zCvnDkThTP##+nT{=PtC@tf)^ryGRn}g4W-*GEaNckQCPjN6xs`l^geXPyFgV6aUrQ zEr0_!fCD&y12}*K_+NlcPhaQPrg8R_vo9SvW_(ht>oeBE3Q4bA{<;in6q0F+;h4moqV^YH@NWfI pAyE_OgMTa3P)F&AxxVs7T6jG!} z(G%GS&8;?AM}ab+01S{T*8(-rbis-aNDfSZ5;z5Bz=@zX)>#qhapZSVy@E-OiQLO63agNJNJnc9(e%`MFJ{DS!n?O)Kt5m(Y=Momt&BqxI*|}$J+t6k#}YVFeyQBf z14V63t4=E5RnFs6+PiX91Fe8(-Or>|GFvO<+o2iNdZ^JlmA03`+Nj13xmxEy xj4VtM>{{J5>>;0>1wPvz>a%0IP2V_wj~{s0V3L6+{}%uN002ovPDHLkV1j51vKIgV literal 0 HcmV?d00001 diff --git a/data/themes/img/clock_ss5.png b/data/themes/img/clock_ss5.png new file mode 100644 index 0000000000000000000000000000000000000000..66b435ba9a3abddf47e61c8ab16981d878d0e0a7 GIT binary patch literal 324 zcmV-K0lWT*P)NcUQqGg<^a1P$=T1|Np;u@FbOj&YkvcS1LwfP_4op;fRFUVW`dRa8Us_+#?mUc&l=DqG!w0XOVw&O<&f*q zU)gUea?e(DeA`Z7r|7{R?7_Au&(!QUpk)mBka}tgnlj1?-=%M*nadL}3RnU+(wEX= zo0B)gDrCHGz%%fqbuDAIoC#IHP~X5%+6H*l8r$3}==!B=WAD<=Sz-D&+D}jO$Kw;= WGeE>Y`qXX!0000e+5 literal 0 HcmV?d00001 diff --git a/data/themes/img/clock_ss6.png b/data/themes/img/clock_ss6.png new file mode 100644 index 0000000000000000000000000000000000000000..95b12a182d3dccfdead8d043337c00773eee37d5 GIT binary patch literal 230 zcmVtzXqK zI{HX;g$X_}MZxWnafB}{V?N{9ng_kz7Fea`?`SC5IKm9`VC!I2-&kXaaj;>qDj%I6 zRHeG}761OTxACQoITUT8FR{J_>lhncvBx&pK3J2D1qW>7Fi*ArhC*Ua;nBb`WuUc>bb@ zos-xDqo5^M|9-#e7$vAE#^^gsa>gOE2bp<=Kl}@S+NbVe4Bv8NgKFX74tBLOid}r= zJTC&}5Rx`!#`EVp8cxAsp9}6B-zjHO?xWJaFK{ je<0A};Srd|3<3;E(d?^E@N7B>RLtP%>gTe~DWM4fsdX5f literal 0 HcmV?d00001 diff --git a/data/themes/img/knob_sz_04.png b/data/themes/img/knob_sz_04.png new file mode 100644 index 0000000000000000000000000000000000000000..14a9d00b219342165943b3f713255b88bc66f452 GIT binary patch literal 264 zcmV+j0r&oiP)1u?rZk2|F=jV6!7W+XD)(UJ3ZxVz%7WrL#4V7diO`t*jLjJx6SDEu>D1fz z_WpeE?-4)X;Wt78(B&_Hn|${;Fp%+7q9t8X(g1V0TGtX_ znP!?&u~Y#Xz%^3Q6$K422ED#;U6*{p#>!+bfB_tUi>mOP?Z#^zkB4$_J7edart}`h zLkmf^00+oP+ymCYUfK#pEOZhur40ZdI01po@U~V>X+^E|9XG%=aNtD% O0000P1PFl7X$zvEIl!#kx|L?D5!7l= zLD@NR0aLz-X^IMvxvN&onm)hdoSo9`cG%u53g7oH_V*4CfT47N8e54aD#-QIv zPa9&bxK2i2z{;9ifB}pm%W6z91!(7v6OR0`$XZ$Qs|8k;^C&7IpvfNMir@5F^%vJN z7k8Vz23OaYc%DZpRNW*PC1zCs>DRaRy`8fQ5ZXh}8xMy4n^NiM80Z3C^v5I|9asW# zk|aP6Xak*DgApK2g3x6B19+Er5LuoT03{KCNiqO`j@%cxX=AY|56Q&<0000vC`4pI~sKDe9r?mg$+bMJ%yeZ*h9C4UNF0HzK@=R~Q9_flj6 z`3Kee*Iq0?|IlcB3BPVMqWOi|+O69+Zvc6n^GiXRIX5#?y)rd9S!-@KE7gbhL~ZVg zD3wYF&!4++eRz22mFup2)+&;IQ5vi;c6@x=GVPq>3?#*35yu&z)9LViyCo+kPEP}c zG_jTP!UPI$-@iT^zDcl5lS8G7xODL{Dks_P2H3Vb1MCAjKnNsOrUkj;zNGbSOArgn zgJq74jxba?MNU~_HwXY^TDg^VadV@&+6#J9(pIdme`4|3Q+(g&#IchYma&>0r0{A?#k*O?HBS{C*{*W&4k2AK$6h>mPLsQFaOdM%(keC`#6pl82>jJ1Vb2 z&-?Li*>&$OEiSphHn7v*2a)vvH~F-SzHzNXiuo#ekwlaFFPtiGwk2E;u=`xf*rw570@I8vg?q7dPXN2r3!} zNsNjSHW5=Qt=dq26s#U??X`F3^446cs4)({$-BJI^L+Ase!cL&9q|{o;7^?epa818 zihTD0PhNjBU>Fhs+V76tNzKf>Dy*z7d-?oF@7C=bilxm03#f)g+MA`c@2Mbt@xSluHL{fOx`VIP!t##*hwtb z5x8}iL{HBsa1C&q_0mFVsett%zcBb^&cX8_qG@!;lj6wXqnL)y*IE@#Gw{8}5MTig zP;XTvfXK7wQ&cMzR+g3pzMw17Mc=l5wkC%#Oig%=2IaCtYr(bFw!P0~=XE7ATy?7G z5tCdl%Y%pasZ=WL8rV($_I_%vKi?V`2Kj(n$S;j|cP578cAT19r`Aw{#e9KGc3xPf zh2v~6J2yKXs?YZVhf`BmR#yvltfSYqI|mz{i>fF@ttcQwTdXa}W)|+9zi{Cyum)6` zFwxTfD3Ad9_V3+yLKVs}(=v9LTTDR7X}UV`XyWlrAP*FQs+{y622z#XuqCiV!jVBG z30RkEyyifPpR9-qm=YKTbZK)XtPIq`kY6pW_|4J=txNmQzL9S{fYNSRTs43I0000< KMNUMnLSTX;z9A0) literal 0 HcmV?d00001 diff --git a/data/themes/img/knob_sz_12.png b/data/themes/img/knob_sz_12.png new file mode 100644 index 0000000000000000000000000000000000000000..ff19cb1908cc3c25b3c24f9493e52482b3752843 GIT binary patch literal 777 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 literal 0 HcmV?d00001 diff --git a/data/themes/img/knob_sz_20.png b/data/themes/img/knob_sz_20.png new file mode 100644 index 0000000000000000000000000000000000000000..43d0a06f31d7b4fe1ff874a9f01b52895eed3dee GIT binary patch literal 1490 zcmV;@1ugoCP)qe(ig$R_mEYvw3Ew zKI3G@&~EQUckZlguiROA?fK_k{1z|);zxny5ikw-*MEI&X>oD!%fsQQw7tE_#>U&M zZ>$rHhuF4DwNl~YATvOf3nkAJib6!Tc} zD4+#+H*Wm?8?Dya&-c2ANES)GJ|kK?xUP%ix`-f2l1gSWs+B69=VMt)%H@h|Zf#O5 z7M}UR55M~y;7v2E_fc2A_}Im-q?wUgeO5}PBAAHzxp{ow7Yh-SWef&=!Z4&*C`q+a zkz%1lu~?*5tQYfuZmXKveI5Z50BhnOXt(lvdmrsA{GkC7U zBpjo)i^)>aN@FR7QW|GC#B<#S;G6^$Ky{A}NYa!vNhOX_f>FR^95NaX+27q0GNC!! z3im~b3oQX@0<8Nw(gOf0jr)n;vdRSI5#!C*-1Ov|)dr|^9w2!?|SUD_u1|2nqIGCcDA-z zSy^Q~o?uzFDOYM{ZEgJ~5aqGolZOJ>+dJ*{;<<${hNGyEL@8oK(lnJ)sf>tl)a{ay zi71gMjB#9>QoV$uUCGi+-g#&1ff!>BuUxtEZQu|H9zv%TPJrHC`(T;OND@U7$1%QN z!1H`2;aEhF2N`8Bq;xwyIXdddAnY?3^s%+Dz15cGm9fg+if77=|(q0!(Hw#u!V1rIo~CL>#ABN=$X8%-ZVR-+t$%rSAi6;0Op$ zI>Y0@6i9dX_x@V1)hCro{h=*MF47P;M1& literal 0 HcmV?d00001 diff --git a/data/themes/img/knob_sz_22.png b/data/themes/img/knob_sz_22.png new file mode 100644 index 0000000000000000000000000000000000000000..d183f604f717de0a5e68df7968e5ebc06d9cc616 GIT binary patch literal 1732 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