Merge pull request #3265 from shansou504/master

binaryclk: added artwork to calendar and setting to show battery
pull/3297/head
Rob Pilling 2024-03-25 20:54:42 +00:00 committed by GitHub
commit b9fcb803b5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 65 additions and 11 deletions

View File

@ -3,3 +3,7 @@
0.03: Added setting for fullscreen option
0.04: Added settings to hide unused squares and show date
0.05: Minor code improvements
0.06: Added setting to show battery and added artwork to date
0.07: Removed percentage from battery and cleaned up logic
0.08: Changed month to day and text color to black on date
0.09: Changed day color back to white

View File

@ -1,13 +1,18 @@
var settings = Object.assign({
fullscreen: false,
fullscreen: true,
hidesq: false,
showdate: false,
showdate: true,
showbat: true,
}, require('Storage').readJSON("binaryclk.json", true) || {});
function draw() {
var cnt = 0;
var dt = new Date();
var h = dt.getHours(), m = dt.getMinutes(), d = dt.getDate();
var h = dt.getHours();
var m = dt.getMinutes();
var d = dt.getDate();
var day = dt.toString().substring(0,3);
const t = [];
t[0] = Math.floor(h/10);
@ -19,15 +24,16 @@ function draw() {
g.clearRect(Bangle.appRect);
let i = 0;
var gap = 8;
var mgn = 20;
var gap = 4;
var mgn = 24;
var sq = 33;
if (settings.fullscreen) {
gap = 12;
gap = 8;
mgn = 0;
sq = 34;
}
const sq = 29;
var pos = sq + gap;
for (let r = 3; r >= 0; r--) {
@ -53,11 +59,47 @@ function draw() {
g.clearRect(Math.floor(mgn/2), mgn, Math.floor(mgn/2) + pos, mgn + c1sqhide * pos);
g.clearRect(Math.floor(mgn/2) + 2 * pos + gap, mgn, Math.floor(mgn/2) + 3 * pos, mgn + c3sqhide * pos);
}
if (settings.showdate) {
g.setFontAlign(0, 0);
g.setColor(-1).fillRect(Math.floor(mgn/2) + gap, mgn + gap, Math.floor(mgn/2) + gap + sq, mgn + gap + sq);
g.setColor('#FF0000').fillRect(Math.floor(mgn/2) + gap, mgn + gap, Math.floor(mgn/2) + gap + sq, mgn + gap + 12);
g.setFontAlign(0, -1);
g.setFont("Vector",12);
g.setColor(-1).drawString(day, Math.ceil(mgn/2) + gap + Math.ceil(sq/2) + 1, mgn + gap + 1);
g.setFontAlign(0, 1);
g.setFont("Vector",20);
g.setColor(1).drawString(d, Math.ceil(mgn/2) + gap + Math.ceil(sq/2) + 1, mgn + gap + sq + 2);
if (g.theme.dark) {
g.setColor(-1);
} else {
g.setColor(1);
g.drawLine(Math.floor(mgn/2) + gap, mgn + gap + 13, Math.floor(mgn/2) + gap + sq, mgn + gap + 13);
}
g.drawRect(Math.floor(mgn/2) + gap, mgn + gap, Math.floor(mgn/2) + gap + sq, mgn + gap + sq);
g.drawString(d, Math.ceil(mgn/2) + gap + Math.ceil(sq/2) + 1, mgn + gap + Math.ceil(sq/2) + 1);
}
if (cnt == 0) {
if (settings.showbat) {
var bat = E.getBattery();
if (bat < 20) {
g.setColor('#FF0000');
} else if (bat < 40) {
g.setColor('#FFA500');
} else {
g.setColor('#00FF00');
}
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);
if (g.theme.dark) {
g.setColor(-1);
} else {
g.setColor(1);
}
g.drawRect(Math.floor(mgn/2) + gap + 2 * pos, mgn + gap, Math.floor(mgn/2) + gap + 2 * pos + sq, mgn + gap + sq);
}
cnt++;
if (cnt > 599999) {
cnt = 0;
}
}
}

View File

@ -1,8 +1,8 @@
{
"id": "binaryclk",
"name": "Bin Clock",
"version": "0.05",
"description": "Clock face to show binary time in 24 hour format",
"version": "0.09",
"description": "Binary clock with date and battery",
"icon": "app-icon.png",
"screenshots": [{"url":"screenshot.png"}],
"type": "clock",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -4,6 +4,7 @@
fullscreen: false,
hidesq: false,
showdate: false,
showbat: false,
}, require('Storage').readJSON(FILE, true) || {});
function writeSettings() {
@ -34,5 +35,12 @@
writeSettings();
},
},
'Show Battery': {
value: settings.showbat,
onchange: v => {
settings.showbat = v;
writeSettings();
},
},
});
})