11var settings = Object . assign ( {
2- fullscreen : false ,
2+ fullscreen : true ,
33 hidesq : false ,
4- showdate : false ,
4+ showdate : true ,
5+ showbat : true ,
56} , require ( 'Storage' ) . readJSON ( "binaryclk.json" , true ) || { } ) ;
67
78function draw ( ) {
89
10+ var cnt = 0 ;
911 var dt = new Date ( ) ;
10- var h = dt . getHours ( ) , m = dt . getMinutes ( ) , d = dt . getDate ( ) ;
12+ var h = dt . getHours ( ) ;
13+ var m = dt . getMinutes ( ) ;
14+ var d = dt . getDate ( ) ;
15+ var day = dt . toString ( ) . substring ( 0 , 3 ) ;
1116 const t = [ ] ;
1217
1318 t [ 0 ] = Math . floor ( h / 10 ) ;
@@ -19,15 +24,16 @@ function draw() {
1924 g . clearRect ( Bangle . appRect ) ;
2025
2126 let i = 0 ;
22- var gap = 8 ;
23- var mgn = 20 ;
27+ var gap = 4 ;
28+ var mgn = 24 ;
29+ var sq = 33 ;
2430
2531 if ( settings . fullscreen ) {
26- gap = 12 ;
32+ gap = 8 ;
2733 mgn = 0 ;
34+ sq = 34 ;
2835 }
2936
30- const sq = 29 ;
3137 var pos = sq + gap ;
3238
3339 for ( let r = 3 ; r >= 0 ; r -- ) {
@@ -53,11 +59,47 @@ function draw() {
5359 g . clearRect ( Math . floor ( mgn / 2 ) , mgn , Math . floor ( mgn / 2 ) + pos , mgn + c1sqhide * pos ) ;
5460 g . clearRect ( Math . floor ( mgn / 2 ) + 2 * pos + gap , mgn , Math . floor ( mgn / 2 ) + 3 * pos , mgn + c3sqhide * pos ) ;
5561 }
62+
5663 if ( settings . showdate ) {
57- g . setFontAlign ( 0 , 0 ) ;
64+ g . setColor ( - 1 ) . fillRect ( Math . floor ( mgn / 2 ) + gap , mgn + gap , Math . floor ( mgn / 2 ) + gap + sq , mgn + gap + sq ) ;
65+ g . setColor ( '#FF0000' ) . fillRect ( Math . floor ( mgn / 2 ) + gap , mgn + gap , Math . floor ( mgn / 2 ) + gap + sq , mgn + gap + 12 ) ;
66+ g . setFontAlign ( 0 , - 1 ) ;
67+ g . setFont ( "Vector" , 12 ) ;
68+ g . setColor ( - 1 ) . drawString ( day , Math . ceil ( mgn / 2 ) + gap + Math . ceil ( sq / 2 ) + 1 , mgn + gap + 1 ) ;
69+ g . setFontAlign ( 0 , 1 ) ;
5870 g . setFont ( "Vector" , 20 ) ;
71+ g . setColor ( 1 ) . drawString ( d , Math . ceil ( mgn / 2 ) + gap + Math . ceil ( sq / 2 ) + 1 , mgn + gap + sq + 2 ) ;
72+ if ( g . theme . dark ) {
73+ g . setColor ( - 1 ) ;
74+ } else {
75+ g . setColor ( 1 ) ;
76+ g . drawLine ( Math . floor ( mgn / 2 ) + gap , mgn + gap + 13 , Math . floor ( mgn / 2 ) + gap + sq , mgn + gap + 13 ) ;
77+ }
5978 g . drawRect ( Math . floor ( mgn / 2 ) + gap , mgn + gap , Math . floor ( mgn / 2 ) + gap + sq , mgn + gap + sq ) ;
60- g . drawString ( d , Math . ceil ( mgn / 2 ) + gap + Math . ceil ( sq / 2 ) + 1 , mgn + gap + Math . ceil ( sq / 2 ) + 1 ) ;
79+ }
80+
81+ if ( cnt == 0 ) {
82+ if ( settings . showbat ) {
83+ var bat = E . getBattery ( ) ;
84+ if ( bat < 20 ) {
85+ g . setColor ( '#FF0000' ) ;
86+ } else if ( bat < 40 ) {
87+ g . setColor ( '#FFA500' ) ;
88+ } else {
89+ g . setColor ( '#00FF00' ) ;
90+ }
91+ g . fillRect ( Math . floor ( mgn / 2 ) + gap + 2 * pos , mgn + gap , Math . floor ( mgn / 2 ) + gap + 2 * pos + Math . floor ( bat * sq / 100 ) , mgn + gap + sq ) ;
92+ if ( g . theme . dark ) {
93+ g . setColor ( - 1 ) ;
94+ } else {
95+ g . setColor ( 1 ) ;
96+ }
97+ g . drawRect ( Math . floor ( mgn / 2 ) + gap + 2 * pos , mgn + gap , Math . floor ( mgn / 2 ) + gap + 2 * pos + sq , mgn + gap + sq ) ;
98+ }
99+ cnt ++ ;
100+ if ( cnt > 599999 ) {
101+ cnt = 0 ;
102+ }
61103 }
62104}
63105
0 commit comments