Merge remote-tracking branch 'upstream/master'

pull/851/head
hughbarney 2021-10-19 20:58:58 +01:00
commit 547893c261
3 changed files with 48 additions and 33 deletions

View File

@ -961,7 +961,7 @@
{ "id": "svclock",
"name": "Simple V-Clock",
"icon": "vclock-simple.png",
"version":"0.02",
"version":"0.03",
"description": "Modification of Simple Clock 0.04 to use Vectorfont",
"tags": "clock",
"type":"clock",

View File

@ -1,2 +1,3 @@
0.01: Modification of SimpleClock 0.04 to use Vectorfont
0.02: Use Bangle.setUI for button/launcher handling
0.03: Scale to BangleJS 2 and add locale

View File

@ -1,15 +1,39 @@
/* jshint esversion: 6 */
const timeFontSize = 65;
const dateFontSize = 20;
const gmtFontSize = 10;
const font = "Vector";
const locale = require("locale");
const xyCenter = g.getWidth() / 2;
const yposTime = 75;
const yposDate = 130;
const yposYear = 175;
const yposGMT = 220;
var timeFontSize;
var dateFontSize;
var gmtFontSize;
var font = "Vector";
var xyCenter = g.getWidth() / 2;
var yposTime;
var yposDate;
var yposYear;
var yposGMT;
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;
}
// Check settings for what type our clock should be
var is12Hour = (require("Storage").readJSON("setting.json",1)||{})["12hour"];
@ -19,49 +43,39 @@ function drawSimpleClock() {
// get date
var d = new Date();
var da = d.toString().split(" ");
g.reset(); // default draw styles
// drawSting centered
g.setFontAlign(0, 0);
// draw time
var time = da[4].substr(0, 5).split(":");
var hours = time[0],
minutes = time[1];
var meridian = "";
// drawTime
var hours;
if (is12Hour) {
hours = parseInt(hours,10);
meridian = "AM";
if (hours == 0) {
hours = 12;
meridian = "AM";
} else if (hours >= 12) {
meridian = "PM";
if (hours>12) hours -= 12;
}
hours = (" "+hours).substr(-2);
hours = ("0" + d.getHours()%12).slice(-2);
} else {
hours = ("0" + d.getHours()).slice(-2);
}
var minutes = ("0" + d.getMinutes()).slice(-2);
g.setFont(font, timeFontSize);
g.drawString(`${hours}:${minutes}`, xyCenter, yposTime, true);
if (is12Hour) {
g.setFont(font, gmtFontSize);
g.drawString(meridian, xyCenter + 102, yposTime + 10, true);
g.drawString(locale.meridian(d), xyCenter + 102, yposTime + 10, true);
}
// draw Day, name of month, Date
var date = [da[0], da[1], da[2]].join(" ");
g.setFont(font, dateFontSize);
g.drawString(date, xyCenter, yposDate, true);
g.drawString([locale.dow(d,1), locale.month(d,1), d.getDate()].join(" "), xyCenter, yposDate, true);
// draw year
g.setFont(font, dateFontSize);
g.drawString(d.getFullYear(), xyCenter, yposYear, true);
// draw gmt
var gmt = da[5];
g.setFont(font, gmtFontSize);
g.drawString(gmt, xyCenter, yposGMT, true);
g.drawString(d.toString().match(/GMT[+-]\d+/), xyCenter, yposGMT, true);
}
// handle switch display on by pressing BTN1