Skip to content

Commit 398877c

Browse files
authored
Merge pull request #2221 from siatwe/master
Enton clock based on Anton clock
2 parents a586122 + 1a2c2c5 commit 398877c

File tree

8 files changed

+106
-2917
lines changed

8 files changed

+106
-2917
lines changed

apps/entonclk/ChangeLog

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
0.1: New App!

apps/entonclk/README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
Enton - Enhanced Anton Clock
2+
3+
This clock face is based on the 'Anton Clock'.
4+
5+
Things I changed:
6+
7+
- The main font for the time is now Audiowide
8+
- Removed the written out day name and replaced it with steps and bpm
9+
- Changed the date string to a (for me) more readable string

apps/entonclk/app-icon.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apps/entonclk/app.js

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
Graphics.prototype.setFontAudiowide = function() {
2+
// Actual height 33 (36 - 4)
3+
var widths = atob("CiAsESQjJSQkHyQkDA==");
4+
var font = atob("AAAAAAAAAAAAAAAAAAAAAPAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAADgAAAAAAHgAAAAAAfgAAAAAA/gAAAAAD/gAAAAAH/gAAAAAf/AAAAAB/8AAAAAD/4AAAAAP/gAAAAAf/AAAAAB/8AAAAAD/4AAAAAP/gAAAAAf+AAAAAB/8AAAAAH/wAAAAAP/gAAAAA/+AAAAAB/8AAAAAD/wAAAAAD/gAAAAAD+AAAAAAD4AAAAAADwAAAAAADAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAA//+AAAAB///AAAAH///wAAAP///4AAAf///8AAA////+AAA/4AP+AAB/gAD/AAB/AA9/AAD+AB+/gAD+AD+/gAD+AD+/gAD8AH+fgAD8AP8fgAD8AP4fgAD8Af4fgAD8A/wfgAD8A/gfgAD8B/gfgAD8D/AfgAD8D+AfgAD8H+AfgAD8P8AfgAD8P4AfgAD8f4AfgAD8/wAfgAD8/gAfgAD+/gA/gAD+/AA/gAB/eAB/AAB/sAD/AAB/wAH/AAA////+AAAf///8AAAP///4AAAH///wAAAD///gAAAA//+AAAAAP/4AAAAAAAAAAAAAAAAAAAAAAAAAAAD8AAAAAAD8AAAAAAD8AAAAAAD8AAAAAAD8AAAAAAD8AAAAAAD/////gAD/////gAD/////gAD/////gAD/////gAD/////gAD/////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//gAAAAH//gAAAAP//gAD8Af//gAD8A///gAD8B///gAD8B///gAD8B/AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD+D+AfgAD//+AfgAD//+AfgAB//8AfgAA//4AfgAAf/wAfgAAP/gAfgAAB8AAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD+B+A/gAD/////gAB/////AAB/////AAA////+AAAf///8AAAP///4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//4AAAAD//8AAAAD//+AAAAD//+AAAAD//+AAAAD//+AAAAD//+AAAAAAB+AAAAAAB+AAAAAAB+AAAAAAB+AAAAAAB+AAAAAAB+AAAAAAB+AAAAAAB+AAAAAAB+AAAAAAB+AAAAAAB+AAAAAAB+AAAAAAB+AAAAAAB+AAAAAAB+AAAAAAB+AAAAAAB+AAAAAAB+AAAAD/////gAD/////gAD/////gAD/////gAD/////gAD/////gAD/////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//AAfgAD//wAfgAD//4AfgAD//8AfgAD//8AfgAD//+AfgAD8D+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B/A/gAD8B///gAD8B///gAD8A///AAD8A///AAAAAf/+AAAAAP/4AAAAAD/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB///AAAAH///wAAAf///8AAAf///8AAA////+AAB/////AAB/h+H/AAD/B+B/gAD+B+A/gAD+B+A/gAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B/A/gAD8B///gAD8B///gAD8A///AAAAAf//AAAAAf/+AAAAAH/4AAAAAB/gAAAAAAAAAAAAAAAAAAAAAAAAAAD8AAAAAAD8AAAAAAD8AAAAAAD8AAAAAAD8AAAAgAD8AAABgAD8AAAHgAD8AAAfgAD8AAA/gAD8AAD/gAD8AAP/gAD8AA//gAD8AB//AAD8AH/8AAD8Af/wAAD8A//AAAD8D/+AAAD8P/4AAAD8f/gAAAD9//AAAAD//8AAAAD//wAAAAD//gAAAAD/+AAAAAD/4AAAAAD/wAAAAAD/AAAAAAD8AAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gAAAAAH/4AAAAAP/8AAAH+f/+AAAf////AAA/////gAB/////gAB///A/gAD//+AfgAD//+AfgAD+D+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD+D+AfgAD//+AfgAD//+AfgAB///A/gAB/////gAA/////AAAP////AAAD+f/+AAAAAP/8AAAAAH/4AAAAAA+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/AAAAAAf/wAAAAA//4AAAAB//8AAAAB//8AfgAD//+AfgAD/D+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD8B+AfgAD+B+A/gAD+B+A/gAD/B+B/gAB/////AAB/////AAA////+AAAf///8AAAP///4AAAH///wAAAB///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAPAAAA/AAfgAAA/AAfgAAA/AAfgAAA/AAfgAAAeAAPAAAAAAAAAAAAAAAAAAAAAAAAAA");
5+
var scale = 1; // size multiplier for this font
6+
g.setFontCustom(font, 46, widths, 48+(scale<<8)+(1<<16));
7+
};
8+
9+
function getSteps() {
10+
var steps = 0;
11+
try{
12+
if (WIDGETS.wpedom !== undefined) {
13+
steps = WIDGETS.wpedom.getSteps();
14+
} else if (WIDGETS.activepedom !== undefined) {
15+
steps = WIDGETS.activepedom.getSteps();
16+
} else {
17+
steps = Bangle.getHealthStatus("day").steps;
18+
}
19+
} catch(ex) {
20+
// In case we failed, we can only show 0 steps.
21+
return "?";
22+
}
23+
24+
return Math.round(steps);
25+
}
26+
27+
{ // must be inside our own scope here so that when we are unloaded everything disappears
28+
// we also define functions using 'let fn = function() {..}' for the same reason. function decls are global
29+
let drawTimeout;
30+
31+
32+
// Actually draw the watch face
33+
let draw = function() {
34+
var x = g.getWidth() / 2;
35+
var y = g.getHeight() / 2;
36+
g.reset().clearRect(Bangle.appRect); // clear whole background (w/o widgets)
37+
var date = new Date();
38+
var timeStr = require("locale").time(date, 1); // Hour and minute
39+
g.setFontAlign(0, 0).setFont("Audiowide").drawString(timeStr, x, y);
40+
var dateStr = require("locale").date(date, 1).toUpperCase();
41+
g.setFontAlign(0, 0).setFont("6x8", 2).drawString(dateStr, x, y+28);
42+
g.setFontAlign(0, 0).setFont("6x8", 2);
43+
g.drawString(getSteps(), 50, y+70);
44+
g.drawString(Math.round(Bangle.getHealthStatus("last").bpm), g.getWidth() -37, y + 70);
45+
46+
// queue next draw
47+
if (drawTimeout) clearTimeout(drawTimeout);
48+
drawTimeout = setTimeout(function() {
49+
drawTimeout = undefined;
50+
draw();
51+
}, 60000 - (Date.now() % 60000));
52+
};
53+
54+
// Show launcher when middle button pressed
55+
Bangle.setUI({
56+
mode : "clock",
57+
remove : function() {
58+
// Called to unload all of the clock app
59+
if (drawTimeout) clearTimeout(drawTimeout);
60+
drawTimeout = undefined;
61+
delete Graphics.prototype.setFontAnton;
62+
}});
63+
// Load widgets
64+
Bangle.loadWidgets();
65+
draw();
66+
setTimeout(Bangle.drawWidgets,0);
67+
}

apps/entonclk/app.png

905 Bytes
Loading

apps/entonclk/metadata.json

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"id": "entonclk",
3+
"name": "Enton Clock",
4+
"version": "0.1",
5+
"description": "A simple clock using the Audiowide font. ",
6+
"icon": "app.png",
7+
"screenshots": [{"url":"screenshot.png"}],
8+
"type": "clock",
9+
"tags": "clock",
10+
"supports": ["BANGLEJS2"],
11+
"allow_emulator": true,
12+
"readme":"README.md",
13+
"storage": [
14+
{"name":"entonclk.app.js","url":"app.js"},
15+
{"name":"entonclk.img","url":"app-icon.js","evaluate":true}
16+
]
17+
}

apps/entonclk/screenshot.png

2.03 KB
Loading

0 commit comments

Comments
 (0)