forked from FOSS/BangleApps
Merge pull request #850 from DeuxEtienne/svclock
svclock - scaling for the banglejs 2 and locale supportmaster
commit
6f24ba5aa4
|
@ -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",
|
||||
|
|
|
@ -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
|
|
@ -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);
|
||||
g.setFont(font, gmtFontSize);
|
||||
g.drawString(meridian, xyCenter + 102, yposTime + 10, true);
|
||||
|
||||
if (is12Hour) {
|
||||
g.setFont(font, gmtFontSize);
|
||||
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
|
||||
|
|
Loading…
Reference in New Issue