From 48d8fae37c04b19dfae172316b4a721e7c881463 Mon Sep 17 00:00:00 2001 From: DC959 Date: Mon, 28 Feb 2022 22:07:33 +1300 Subject: [PATCH 1/3] Fix date alignment and change font to closer match Rolex --- apps/rolex/ChangeLog | 3 ++- apps/rolex/README.md | 4 +++- apps/rolex/app.js | 17 +++++++++++------ apps/rolex/app.js:Zone.Identifier | 3 +++ apps/rolex/screenshot1.png | Bin 0 -> 3905 bytes apps/rolex/screenshot1.png:Zone.Identifier | 3 +++ 6 files changed, 22 insertions(+), 8 deletions(-) create mode 100644 apps/rolex/app.js:Zone.Identifier create mode 100644 apps/rolex/screenshot1.png create mode 100644 apps/rolex/screenshot1.png:Zone.Identifier diff --git a/apps/rolex/ChangeLog b/apps/rolex/ChangeLog index 3bfed4a4e..a1e2cee0a 100644 --- a/apps/rolex/ChangeLog +++ b/apps/rolex/ChangeLog @@ -1,3 +1,4 @@ 0.01: Initial Release 0.02: Minor tweaks for light theme -0.03: Made images 2 bit and fixed theme honoring \ No newline at end of file +0.03: Made images 2 bit and fixed theme honoring +0.04: Fixed date font alignment and changed date font to match a real Rolex diff --git a/apps/rolex/README.md b/apps/rolex/README.md index 4c24aad0c..5339f1d0e 100644 --- a/apps/rolex/README.md +++ b/apps/rolex/README.md @@ -1,11 +1,13 @@ # Rolex -![](screenshot.png) +![](screenshot.png) ![](screenshot1.png) Created with the aid of the Espruino documentation and looking through many of the wonderful exising watchfaces that have been made. This has not been tested on a watch yet as I haven't aquired one but has been tested in the emulator. The hands don't rotate dead on center but they're as close as I could get them to. +Colour switches based on watch theme so if you want a white on black change your watch theme to dark, and for black on white change it to light. + Special thanks to: * rozek (for his updated widget draw code for utilization with background images) * Gordon Williams (Bangle.js, watchapps for reference code and documentation) diff --git a/apps/rolex/app.js b/apps/rolex/app.js index e409704fc..124cb6fee 100644 --- a/apps/rolex/app.js +++ b/apps/rolex/app.js @@ -28,6 +28,14 @@ var imgSec = { buffer : E.toArrayBuffer(atob("v/q//r/+v/qv+q/qq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qv+v/6/D/wD8PDw8PwD/w///6v+qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqr+r//v///X/1X/Vf9V/1X/1///+//q/qq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq+qr6qvqq6qrqg==")) }; +/* use font closer to Rolex */ + +Graphics.prototype.setFontRolexFont = function(scale) { + // Actual height 12 (12 - 1) + this.setFontCustom(atob("AAAABAACAAAAAYAHgA4AOABgAAAAA/gD/gMBgQBAwGA/4A/gAAAAAAIBAQCB/8D/4AAQAAAAAAAAAwEDAYEBQIEgYxA/CA4MAAAAAAAAgIBAhCBCEDOYHvgCOAAAAAAABgANAAyAHEAf/A/+AAgABAAAAAAADBAcCBsECYIEYgIeAAAAAAAHwAfwB5wGggZBAjGBH4CDgAAACAAYAAgABAMCDwE+APgAYAAAAAAABxwH3wJwgRhA3iB54AhgAAAAAAPhA/iBDMCCQGHgH+AHwAAAAAAAQIAgQAAAAAA="), 46, atob("BAUJCQkJCQkJCQkJBQ=="), 17+(scale<<8)+(1<<16)); + return this; +}; + /* Set variables to get screen width, height and center points */ let W = g.getWidth(); @@ -36,10 +44,6 @@ let cx = W/2; let cy = H/2; let Timeout; -/* set font */ - -require("Font4x5Numeric").add(Graphics); - Bangle.loadWidgets(); /* Custom version of Bangle.drawWidgets (does not clear the widget areas) Thanks to rozek */ @@ -106,9 +110,10 @@ function drawHands() { g.drawImage(imgHour,cx-22*hourSin,cy+22*hourCos,{rotate:hourAngle}); g.drawImage(imgMin,cx-34*minSin,cy+34*minCos,{rotate:minAngle}); g.drawImage(imgSec,cx-25*secSin,cy+25*secCos,{rotate:secAngle}); - g.setFont("4x5Numeric:3"); + g.setFontRolexFont(); g.setColor(g.theme.bg); - g.drawString(d.getDate(),157,81); + g.setFontAlign(0,0,0); + g.drawString(d.getDate(),165,89); } function drawBackground() { diff --git a/apps/rolex/app.js:Zone.Identifier b/apps/rolex/app.js:Zone.Identifier new file mode 100644 index 000000000..053d1127c --- /dev/null +++ b/apps/rolex/app.js:Zone.Identifier @@ -0,0 +1,3 @@ +[ZoneTransfer] +ZoneId=3 +HostUrl=about:internet diff --git a/apps/rolex/screenshot1.png b/apps/rolex/screenshot1.png new file mode 100644 index 0000000000000000000000000000000000000000..f84b0ef5c3ef50356dc790e36e51d0a99cabe16f GIT binary patch literal 3905 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 literal 0 HcmV?d00001 diff --git a/apps/rolex/screenshot1.png:Zone.Identifier b/apps/rolex/screenshot1.png:Zone.Identifier new file mode 100644 index 000000000..053d1127c --- /dev/null +++ b/apps/rolex/screenshot1.png:Zone.Identifier @@ -0,0 +1,3 @@ +[ZoneTransfer] +ZoneId=3 +HostUrl=about:internet From 08c9e519b99982c57a3f53c16693b33f503a6f4b Mon Sep 17 00:00:00 2001 From: DC959 Date: Mon, 28 Feb 2022 22:11:19 +1300 Subject: [PATCH 2/3] Fix date alignment and change font to closer match Rolex --- apps/rolex/app.js:Zone.Identifier | 3 --- apps/rolex/screenshot1.png:Zone.Identifier | 3 --- 2 files changed, 6 deletions(-) delete mode 100644 apps/rolex/app.js:Zone.Identifier delete mode 100644 apps/rolex/screenshot1.png:Zone.Identifier diff --git a/apps/rolex/app.js:Zone.Identifier b/apps/rolex/app.js:Zone.Identifier deleted file mode 100644 index 053d1127c..000000000 --- a/apps/rolex/app.js:Zone.Identifier +++ /dev/null @@ -1,3 +0,0 @@ -[ZoneTransfer] -ZoneId=3 -HostUrl=about:internet diff --git a/apps/rolex/screenshot1.png:Zone.Identifier b/apps/rolex/screenshot1.png:Zone.Identifier deleted file mode 100644 index 053d1127c..000000000 --- a/apps/rolex/screenshot1.png:Zone.Identifier +++ /dev/null @@ -1,3 +0,0 @@ -[ZoneTransfer] -ZoneId=3 -HostUrl=about:internet From 6ed617949b1317274aefe7e5bcc8e58003c3792f Mon Sep 17 00:00:00 2001 From: Daniel Cox Date: Mon, 28 Feb 2022 22:22:26 +1300 Subject: [PATCH 3/3] Update metadata.json --- apps/rolex/metadata.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/rolex/metadata.json b/apps/rolex/metadata.json index e24344dad..f307e60c4 100644 --- a/apps/rolex/metadata.json +++ b/apps/rolex/metadata.json @@ -2,8 +2,8 @@ "name": "rolex", "shortName":"rolex", "icon": "rolex.png", - "screenshots": [{"url":"screenshot.png"}], - "version":"0.03", + "screenshots": [{"url":"screenshot1.png"}], + "version":"0.04", "description": "A rolex like watch face", "tags": "clock", "type": "clock", @@ -14,4 +14,4 @@ {"name":"rolex.app.js","url":"app.js"}, {"name":"rolex.img","url":"app-icon.js","evaluate":true} ] - } \ No newline at end of file + }