From f89579ad6d98973e3daaf34a2a068ebd736c690b Mon Sep 17 00:00:00 2001 From: Stergios Mekras Date: Fri, 4 Mar 2022 00:52:33 +0100 Subject: [PATCH] Add font support for date and week info --- apps/smclock/app.js | 37 +++++++++++++++++++++++++++++++------ apps/smclock/settings.js | 12 ++---------- 2 files changed, 33 insertions(+), 16 deletions(-) diff --git a/apps/smclock/app.js b/apps/smclock/app.js index cb7d2e3e9..099fcad74 100644 --- a/apps/smclock/app.js +++ b/apps/smclock/app.js @@ -89,8 +89,8 @@ function draw() { const day = d.getDate(); const month = d.getMonth() + 1; const week = d02(ISO8601_week_no(d)); - const date1 = d02(day) + "/" + d02(month); - const date2 = weekday[d.getDay()] + " " + d02(week); + const date1 = ""; + const date2 = ""; const h = d.getHours(); const m = d.getMinutes(); const time = d02(h) + ":" + d02(m); @@ -119,15 +119,40 @@ function draw() { g.drawString(bat, 46, 22, false); } + // draw date info g.setColor(0, 0, 0); - if (useVectorFont == true && dateFormat == "Short") { + if (useVectorFont == true) { g.setFont("Vector", 20); } else { g.setFont("6x8", 2); } - g.drawString(date1, 105, 20, false); - g.setFont("Vector", 16); - g.drawString(date2, 105, 55, false); + if (dateFormat == "Short") { + date1 = d02(day) + "/" + d02(month); + g.drawString(date1, 105, 20, false); + } else { + date1 = monthName[month - 1] + d02(day); + g.drawString(date1, 104, 20, false); + } + + // draw week info + if (showWeekInfo == true) { + date2 = weekday[d.getDay()] + " " + d02(week) + if (useVectorFont == true) { + g.setFont("Vector", 18); + } else { + g.setFont("6x8", 2); + } + g.drawString(date2, 105, 55, false); + } else { + date2 = d.getFullYear(); + if (useVectorFont == true) { + g.setFont("Vector", 22); + g.drawString(date2, 105, 55, false); + } else { + g.setFont("4x6", 3); + g.drawString(date2, 108, 55, false); + } + } // draw time g.setColor(1, 1, 1); diff --git a/apps/smclock/settings.js b/apps/smclock/settings.js index 53ff974f3..a6c7d1b98 100644 --- a/apps/smclock/settings.js +++ b/apps/smclock/settings.js @@ -48,11 +48,7 @@ settings.showAnalogFace !== undefined ? settings.showAnalogFace : false, format: v => v ? "On" : "Off", onchange: v => { - if (v == "On") { - settings.showAnalogFace = true; - } else { - settings.showAnalogFace = false; - } + settings.showAnalogFace = v; writeSettings(); }, }, @@ -76,11 +72,7 @@ settings.showWeekInfo !== undefined ? settings.showWeekInfo : false, format: v => v ? "On" : "Off", onchange: v => { - if (v == "On") { - settings.showWeekInfo = true; - } else { - settings.showWeekInfo = false; - } + settings.showWeekInfo = v; writeSettings(); }, },