2020-06-28 19:04:16 +00:00
|
|
|
/* jshint esversion: 6 */
|
2021-10-15 09:51:18 +00:00
|
|
|
const locale = require("locale");
|
|
|
|
|
2021-10-18 08:21:50 +00:00
|
|
|
var timeFontSize;
|
|
|
|
var dateFontSize;
|
|
|
|
var gmtFontSize;
|
|
|
|
var font = "Vector";
|
2020-06-28 19:04:16 +00:00
|
|
|
|
2021-10-18 08:21:50 +00:00
|
|
|
var xyCenter = g.getWidth() / 2;
|
|
|
|
var yposTime;
|
|
|
|
var yposDate;
|
|
|
|
var yposYear;
|
|
|
|
var yposGMT;
|
2020-06-28 19:04:16 +00:00
|
|
|
|
2021-10-18 08:21:50 +00:00
|
|
|
switch (process.env.BOARD) {
|
|
|
|
case "EMSCRIPTEN":
|
|
|
|
timeFontSize = 65;
|
|
|
|
dateFontSize = 20;
|
|
|
|
gmtFontSize = 10;
|
|
|
|
|
|
|
|
yposTime = 75;
|
|
|
|
yposDate = 130;
|
|
|
|
yposYear = 175;
|
|
|
|
yposGMT = 220;
|
|
|
|
break;
|
|
|
|
case "EMSCRIPTEN2":
|
|
|
|
timeFontSize = 48;
|
|
|
|
dateFontSize = 15;
|
|
|
|
gmtFontSize = 10;
|
|
|
|
|
|
|
|
yposTime = 55;
|
|
|
|
yposDate = 95;
|
|
|
|
yposYear = 128;
|
|
|
|
yposGMT = 161;
|
|
|
|
break;
|
|
|
|
}
|
2020-06-28 19:04:16 +00:00
|
|
|
// Check settings for what type our clock should be
|
|
|
|
var is12Hour = (require("Storage").readJSON("setting.json",1)||{})["12hour"];
|
|
|
|
|
|
|
|
function drawSimpleClock() {
|
|
|
|
g.clear();
|
|
|
|
Bangle.drawWidgets();
|
|
|
|
|
|
|
|
// get date
|
2021-10-18 08:21:50 +00:00
|
|
|
var d = new Date();
|
2020-06-28 19:04:16 +00:00
|
|
|
|
|
|
|
g.reset(); // default draw styles
|
|
|
|
// drawSting centered
|
|
|
|
g.setFontAlign(0, 0);
|
|
|
|
|
2021-10-15 09:51:18 +00:00
|
|
|
// drawTime
|
|
|
|
var hours;
|
2020-06-28 19:04:16 +00:00
|
|
|
if (is12Hour) {
|
2021-10-15 09:51:18 +00:00
|
|
|
hours = ("0" + d.getHours()%12).slice(-2);
|
|
|
|
} else {
|
|
|
|
hours = ("0" + d.getHours()).slice(-2);
|
2020-06-28 19:04:16 +00:00
|
|
|
}
|
2021-10-15 09:51:18 +00:00
|
|
|
var minutes = ("0" + d.getMinutes()).slice(-2);
|
2020-06-28 19:04:16 +00:00
|
|
|
|
|
|
|
g.setFont(font, timeFontSize);
|
|
|
|
g.drawString(`${hours}:${minutes}`, xyCenter, yposTime, true);
|
2021-10-15 09:51:18 +00:00
|
|
|
|
|
|
|
if (is12Hour) {
|
|
|
|
g.setFont(font, gmtFontSize);
|
|
|
|
g.drawString(locale.meridian(d), xyCenter + 102, yposTime + 10, true);
|
|
|
|
}
|
2020-06-28 19:04:16 +00:00
|
|
|
|
|
|
|
// draw Day, name of month, Date
|
|
|
|
g.setFont(font, dateFontSize);
|
2021-10-15 09:51:18 +00:00
|
|
|
g.drawString([locale.dow(d,1), locale.month(d,1), d.getDate()].join(" "), xyCenter, yposDate, true);
|
2020-06-28 19:04:16 +00:00
|
|
|
|
|
|
|
// draw year
|
|
|
|
g.setFont(font, dateFontSize);
|
|
|
|
g.drawString(d.getFullYear(), xyCenter, yposYear, true);
|
|
|
|
|
|
|
|
// draw gmt
|
|
|
|
g.setFont(font, gmtFontSize);
|
2021-10-15 09:51:18 +00:00
|
|
|
g.drawString(d.toString().match(/GMT[+-]\d+/), xyCenter, yposGMT, true);
|
2020-06-28 19:04:16 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// handle switch display on by pressing BTN1
|
|
|
|
Bangle.on('lcdPower', function(on) {
|
|
|
|
if (on) drawSimpleClock();
|
|
|
|
});
|
|
|
|
|
|
|
|
// clean app screen
|
|
|
|
g.clear();
|
|
|
|
Bangle.loadWidgets();
|
|
|
|
Bangle.drawWidgets();
|
|
|
|
|
|
|
|
// refesh every 15 sec
|
|
|
|
setInterval(drawSimpleClock, 15E3);
|
|
|
|
|
|
|
|
// draw now
|
|
|
|
drawSimpleClock();
|
|
|
|
|
2021-07-28 08:55:22 +00:00
|
|
|
// Show launcher when button pressed
|
|
|
|
Bangle.setUI("clock");
|