BangleApps/apps/sclock/clock-simple.js

71 lines
1.7 KiB
JavaScript
Raw Normal View History

2019-11-10 09:47:13 +00:00
/* jshint esversion: 6 */
(function() {
2019-11-11 10:56:12 +00:00
const timeFontSize = 6;
const dateFontSize = 3;
const gmtFontSize = 2;
const font = "6x8";
2019-11-10 09:47:13 +00:00
2019-11-11 10:56:12 +00:00
const xyCenter = g.getWidth() / 2;
const yposTime = 75;
const yposDate = 130;
const yposYear = 175;
const yposGMT = 220;
2019-11-10 09:47:13 +00:00
2019-11-11 10:56:12 +00:00
function drawSimpleClock() {
2019-11-10 09:47:13 +00:00
2019-11-11 10:56:12 +00:00
// get date
var d = new Date();
var da = d.toString().split(" ");
2019-11-10 09:47:13 +00:00
2019-11-11 10:56:12 +00:00
// drawSting centered
g.setFontAlign(0, 0);
2019-11-10 09:47:13 +00:00
2019-11-11 10:56:12 +00:00
// draw time
var time = da[4].substr(0, 5);
2019-12-18 23:03:00 +00:00
var [hours, minutes] = time.split(":");
var meridian = "AM";
if (Number(hours) > 12) {
hours -= String(Number(hours) - 12);
meridian = "PM";
}
2019-11-11 10:56:12 +00:00
g.setFont(font, timeFontSize);
2019-12-18 23:03:00 +00:00
g.drawString(`${hours}:${minutes}`, xyCenter, yposTime, true);
g.setFont(font, gmtFontSize);
g.drawString(meridian, xyCenter + 100, yposTime + 10, true);
2019-11-10 09:47:13 +00:00
2019-11-11 10:56:12 +00:00
// draw Day, name of month, Date
var date = [da[0], da[1], da[2]].join(" ");
g.setFont(font, dateFontSize);
2019-11-10 09:47:13 +00:00
2019-11-11 10:56:12 +00:00
g.drawString(date, xyCenter, yposDate, true);
2019-11-10 09:47:13 +00:00
2019-11-11 10:56:12 +00:00
// draw year
g.setFont(font, dateFontSize);
g.drawString(d.getFullYear(), xyCenter, yposYear, true);
2019-11-10 09:47:13 +00:00
2019-11-11 10:56:12 +00:00
// draw gmt
var gmt = da[5];
g.setFont(font, gmtFontSize);
g.drawString(gmt, xyCenter, yposGMT, true);
2019-11-10 09:47:13 +00:00
}
2019-11-11 10:56:12 +00:00
// handle switch display on by pressing BTN1
Bangle.on('lcdPower', function(on) {
if (on) {
drawWidgets();
2019-11-11 10:56:12 +00:00
drawSimpleClock();
}
});
// clean app screen
g.clear();
// refesh every 15 sec
setInterval(drawSimpleClock, 15E3);
// draw now
drawSimpleClock();
2019-11-10 09:47:13 +00:00
})();