From 30864632a626dc66c7f41bd0d6993f640f6055a2 Mon Sep 17 00:00:00 2001 From: Ben Whittaker Date: Sat, 13 Jun 2020 17:10:42 -0400 Subject: [PATCH 1/2] largeclock: Adjust layout to account for new font --- apps.json | 2 +- apps/largeclock/ChangeLog | 1 + apps/largeclock/largeclock.js | 10 +++++----- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/apps.json b/apps.json index a09aa6c6b..563e7fd70 100644 --- a/apps.json +++ b/apps.json @@ -1605,7 +1605,7 @@ "id": "largeclock", "name": "Large Clock", "icon": "largeclock.png", - "version": "0.03", + "version": "0.04", "description": "A readable and informational digital watch, with date, seconds and moon phase", "readme": "README.md", "tags": "clock", diff --git a/apps/largeclock/ChangeLog b/apps/largeclock/ChangeLog index fe44e5078..15dcd269e 100644 --- a/apps/largeclock/ChangeLog +++ b/apps/largeclock/ChangeLog @@ -1,3 +1,4 @@ 0.01: Init 0.02: fix 3/4 moon orientation 0.03: Change `largeclock.json` to 'data' file to allow settings to be preserved +0.04: Adjust layout to account for new vector font diff --git a/apps/largeclock/largeclock.js b/apps/largeclock/largeclock.js index 9975775fb..913040557 100644 --- a/apps/largeclock/largeclock.js +++ b/apps/largeclock/largeclock.js @@ -8,7 +8,7 @@ const moonR = 12; const moonX = 215; const moonY = 50; -const settings = require("Storage").readJSON("largeclock.json", 1); +const settings = require("Storage").readJSON("largeclock.json", 1)||{}; const BTN1app = settings.BTN1 || ""; const BTN3app = settings.BTN3 || ""; @@ -131,12 +131,12 @@ function drawTime(d) { g.setColor(1, 1, 1); g.setFontAlign(-1, -1); g.setFont("Vector", 100); - g.drawString(hours, 50, 24, true); + g.drawString(hours, 40, 24, true); g.setColor(1, 50, 1); - g.drawString(minutes, 50, 135, true); + g.drawString(minutes, 40, 135, true); g.setFont("Vector", 20); g.setRotation(3); - g.drawString(`${dow} ${day} ${month}`, 50, 15, true); + g.drawString(`${dow} ${day} ${month}`, 50, 10, true); g.drawString(year, 75, 205, true); lastMinutes = minutes; } @@ -144,7 +144,7 @@ function drawTime(d) { g.setFont("Vector", 20); g.setColor(1, 1, 1); g.setFontAlign(0, -1); - g.clearRect(200, 210, 240, 240); + g.clearRect(195, 210, 240, 240); g.drawString(seconds, 215, 215); } From 86bb7da3524a3266fe86f1d2a88387f3978bda43 Mon Sep 17 00:00:00 2001 From: Ben Whittaker Date: Sat, 13 Jun 2020 17:49:45 -0400 Subject: [PATCH 2/2] largeclock: Support 12 hour time --- apps.json | 2 +- apps/largeclock/ChangeLog | 1 + apps/largeclock/largeclock.js | 20 +++++++++++++++----- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/apps.json b/apps.json index 563e7fd70..ec757c96e 100644 --- a/apps.json +++ b/apps.json @@ -1605,7 +1605,7 @@ "id": "largeclock", "name": "Large Clock", "icon": "largeclock.png", - "version": "0.04", + "version": "0.05", "description": "A readable and informational digital watch, with date, seconds and moon phase", "readme": "README.md", "tags": "clock", diff --git a/apps/largeclock/ChangeLog b/apps/largeclock/ChangeLog index 15dcd269e..494002e0e 100644 --- a/apps/largeclock/ChangeLog +++ b/apps/largeclock/ChangeLog @@ -2,3 +2,4 @@ 0.02: fix 3/4 moon orientation 0.03: Change `largeclock.json` to 'data' file to allow settings to be preserved 0.04: Adjust layout to account for new vector font +0.05: Add support for 12 hour time \ No newline at end of file diff --git a/apps/largeclock/largeclock.js b/apps/largeclock/largeclock.js index 913040557..6f3d638fa 100644 --- a/apps/largeclock/largeclock.js +++ b/apps/largeclock/largeclock.js @@ -4,9 +4,11 @@ let interval; let lastMoonPhase; let lastMinutes; +const is12Hour = (require("Storage").readJSON("setting.json",1)||{})["12hour"]; + const moonR = 12; const moonX = 215; -const moonY = 50; +const moonY = is12Hour ? 90 : 50; const settings = require("Storage").readJSON("largeclock.json", 1)||{}; const BTN1app = settings.BTN1 || ""; @@ -118,15 +120,23 @@ function drawMoon(d) { function drawTime(d) { const da = d.toString().split(" "); - const time = da[4].substr(0, 5).split(":"); + const time = da[4].split(":"); const dow = da[0]; const month = da[1]; const day = da[2]; const year = da[3]; - const hours = time[0]; + const hours = is12Hour ? ("0" + (((d.getHours() + 11) % 12) + 1)).substr(-2) : time[0]; + const meridian = d.getHours() < 12 ? "AM" : "PM"; const minutes = time[1]; - const seconds = d.getSeconds(); + const seconds = time[2]; if (minutes != lastMinutes) { + if (is12Hour) { + g.setFont("Vector", 18); + g.setColor(1, 1, 1); + g.setFontAlign(0, -1); + g.clearRect(195, 34, 240, 44); + g.drawString(meridian, 217, 34); + } g.clearRect(0, 24, moonX - moonR - 10, 239); g.setColor(1, 1, 1); g.setFontAlign(-1, -1); @@ -137,7 +147,7 @@ function drawTime(d) { g.setFont("Vector", 20); g.setRotation(3); g.drawString(`${dow} ${day} ${month}`, 50, 10, true); - g.drawString(year, 75, 205, true); + g.drawString(year, is12Hour ? 46 : 75, 205, true); lastMinutes = minutes; } g.setRotation(0);