From ec850868c952addd02383c70995854bed586b9c5 Mon Sep 17 00:00:00 2001 From: Gordon Williams Date: Tue, 18 Jan 2022 14:47:44 +0000 Subject: [PATCH] slevel 0.04: Now work with different themes --- apps.json | 3 ++- apps/slevel/ChangeLog | 1 + apps/slevel/screenshot.png | Bin 0 -> 2582 bytes apps/slevel/spiritlevel.js | 26 ++++++++------------------ 4 files changed, 11 insertions(+), 19 deletions(-) create mode 100644 apps/slevel/screenshot.png diff --git a/apps.json b/apps.json index 3db5bab3f..b12ee700d 100644 --- a/apps.json +++ b/apps.json @@ -838,7 +838,7 @@ { "id": "slevel", "name": "Spirit Level", - "version": "0.03", + "version": "0.04", "description": "Show the current angle of the watch, so you can use it to make sure something is absolutely flat", "icon": "spiritlevel.png", "tags": "tool", @@ -854,6 +854,7 @@ "version": "0.07", "description": "Show currently installed apps, free space, and allow their deletion from the watch", "icon": "files.png", + "screenshots": [{"url":"screenshot.png"}], "tags": "tool,system,files", "supports": ["BANGLEJS","BANGLEJS2"], "storage": [ diff --git a/apps/slevel/ChangeLog b/apps/slevel/ChangeLog index 63a4d34d5..e77ca4e8b 100644 --- a/apps/slevel/ChangeLog +++ b/apps/slevel/ChangeLog @@ -1,3 +1,4 @@ 0.01: New App! 0.02: Updated to work with both Bangle.js 1 and 2. 0.03: Now also visible on Bangle.js 2 +0.04: Now work with different themes diff --git a/apps/slevel/screenshot.png b/apps/slevel/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..e945414aced577b55828d33d3c988601e2fdbeee GIT binary patch literal 2582 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 literal 0 HcmV?d00001 diff --git a/apps/slevel/spiritlevel.js b/apps/slevel/spiritlevel.js index be56f3c11..dd6d56bdc 100644 --- a/apps/slevel/spiritlevel.js +++ b/apps/slevel/spiritlevel.js @@ -3,12 +3,6 @@ var old = {x:0,y:0}; var W = g.getWidth(); var H = g.getHeight(); -// colour definitions for Bangle.js 2 -const RED = "#ff0000"; -const GRN = "#00ff00"; -const BLU = "#0000ff"; -const HwVer = process.env.HWVERSION; - Bangle.on('accel',function(v) { var max = Math.max(Math.abs(v.x),Math.abs(v.y),Math.abs(v.z)); if (Math.abs(v.y)==max) { @@ -20,21 +14,17 @@ Bangle.on('accel',function(v) { var d = Math.sqrt(v.x*v.x+v.y*v.y); var ang = Math.atan2(d,Math.abs(v.z))*180/Math.PI; - if (2 == HwVer) g.setColor(RED); else - g.setColor(1,1,1); - g.setFont("6x8",2); - g.setFontAlign(0,-1); - g.clearRect(W*(1/4),0,W*(3/4),H*(1/16)); - g.drawString(ang.toFixed(1),W/2,0); + g.reset(); + g.clearRect(W*(1/4),0,W*(3/4),16);// clear behind text + g.setFont("6x8",2).setFontAlign(0,-1).drawString(ang.toFixed(1),W/2,0); var n = { x:E.clip(W/2+v.x*256,4,W-4), y:E.clip(H/2+v.y*256,4,H-4)}; - g.clearRect(old.x-3,old.y-3,old.x+6,old.y+6); - if (2 == HwVer) g.setColor(GRN); else - g.setColor(1,1,1); - g.fillRect(n.x-3,n.y-3,n.x+6,n.y+6); - if (2 == HwVer) g.setColor(BLU); else - g.setColor(1,0,0); + g.clearRect(old.x-3,old.y-3,old.x+6,old.y+6); // clear old marker + g.setColor("#0f0"); + g.fillRect(n.x-3,n.y-3,n.x+6,n.y+6); // draw new marker + // draw rings + g.setColor("#f00"); g.drawCircle(W/2,H/2,W*(1/12)); g.drawCircle(W/2,H/2,W*(1/4)); g.drawCircle(W/2,H/2,W*(5/12));