From d3bb100512e747131f2c3e9e5ccf0b1747a4ece3 Mon Sep 17 00:00:00 2001 From: David Peer Date: Tue, 18 Oct 2022 19:24:47 +0200 Subject: [PATCH] Improvements --- apps/aiclock/ChangeLog | 3 ++- apps/aiclock/aiclock.app.js | 49 +++++++++++++++++++++++++---------- apps/aiclock/aiclock.icon.js | 2 +- apps/aiclock/aiclock.png | Bin 5878 -> 1550 bytes apps/aiclock/metadata.json | 2 +- 5 files changed, 39 insertions(+), 17 deletions(-) diff --git a/apps/aiclock/ChangeLog b/apps/aiclock/ChangeLog index 759f68777..68f77be10 100644 --- a/apps/aiclock/ChangeLog +++ b/apps/aiclock/ChangeLog @@ -1 +1,2 @@ -0.01: New app! \ No newline at end of file +0.01: New app! +0.02: Design improvements and fixes. \ No newline at end of file diff --git a/apps/aiclock/aiclock.app.js b/apps/aiclock/aiclock.app.js index d58da6e88..caf8ac9b1 100644 --- a/apps/aiclock/aiclock.app.js +++ b/apps/aiclock/aiclock.app.js @@ -57,6 +57,17 @@ function drawCircle(isLocked){ g.fillCircle(cx, cy, 6); } +function toAngle(a){ + if (a < 0){ + return 360 + a; + } + + if(a > 360) { + return 360 - a; + } + + return a +} function drawTime(){ var drawHourHand = g.drawRotRect.bind(g,8,12,R-38); @@ -74,10 +85,10 @@ function drawTime(){ // Draw minute and hour bg g.setColor(g.theme.bg); - drawHourHand(Math.max(0, h - 2)); - drawHourHand(Math.min(360, h + 2)); - drawMinuteHand(Math.max(0, m - 2)); - drawMinuteHand(Math.min(360, m + 2)); + drawHourHand(toAngle(h-3)); + drawHourHand(toAngle(h+3)); + drawMinuteHand(toAngle(m-2)); + drawMinuteHand(toAngle(m+3)); // Draw minute and hour fg g.setColor(g.theme.fg); @@ -95,13 +106,15 @@ function drawDate(){ var text = ("0"+date.getDate()).substr(-2) + "/" + ("0"+date.getMonth()).substr(-2); var w = g.stringWidth(text); g.setColor(g.theme.bg); - g.fillRect(cx-w/2-4, 20, cx+w/2+2, 40+12); + g.fillRect(cx-w/2-4, 20, cx+w/2+4, 40+12); g.setColor(g.theme.fg); - g.drawLine(cx+w/2+1, 20, cx+w/2+1, 40+12); - g.drawLine(cx+w/2+2, 20, cx+w/2+2, 40+12); - g.drawLine(cx+w/2+3, 20, cx+w/2+3, 40+12); - g.drawLine(cx+w/2+4, 20, cx+w/2+4, 40+12); + // Draw right line as designed by stable diffusion + g.drawLine(cx+w/2+5, 20, cx+w/2+5, 40+12); + g.drawLine(cx+w/2+6, 20, cx+w/2+6, 40+12); + g.drawLine(cx+w/2+7, 20, cx+w/2+7, 40+12); + + // And finally the text g.drawString(text, cx, 40); } @@ -115,13 +128,21 @@ function drawDigits(){ var text = ("0"+date.getHours()).substr(-2) + ":" + ("0"+date.getMinutes()).substr(-2); //Bangle.getHealthStatus("day").steps; var w = g.stringWidth(text); g.setColor(g.theme.bg); - g.fillRect(cx-w/2-4, 120, cx+w/2+2, 140+20); + g.fillRect(cx-w/2-4, 120, cx+w/2+4, 140+20); + + // Draw right line as designed by stable diffusion + g.setColor(g.theme.fg); + g.drawLine(cx+w/2+5, 120, cx+w/2+5, 140+20); + g.drawLine(cx+w/2+6, 120, cx+w/2+6, 140+20); + g.drawLine(cx+w/2+7, 120, cx+w/2+7, 140+20); + + // And the 7set text + g.setColor("#999"); + g.drawString("88:88", cx, 140); + g.drawString("88:88", cx+1, 140); + g.drawString("88:88", cx, 141); g.setColor(g.theme.fg); - g.drawLine(cx+w/2+1, 120, cx+w/2+1, 140+20); - g.drawLine(cx+w/2+2, 120, cx+w/2+2, 140+20); - g.drawLine(cx+w/2+3, 120, cx+w/2+3, 140+20); - g.drawLine(cx+w/2+4, 120, cx+w/2+4, 140+20); g.drawString(text, cx, 140); g.drawString(text, cx+1, 140); g.drawString(text, cx, 141); diff --git a/apps/aiclock/aiclock.icon.js b/apps/aiclock/aiclock.icon.js index 72d916455..0033b3848 100644 --- a/apps/aiclock/aiclock.icon.js +++ b/apps/aiclock/aiclock.icon.js @@ -1 +1 @@ -require("heatshrink").decompress(atob("mEwxH+lYACq2s64Ai1gqDFwgND6OswIABqwAUDAWsKIlWF4oKDFQI2BAA1XD4QAHCY4cBGQJhHBAZFEDAgAOlhCHAgInCwKNF2QtCFIMlkosPABQgCGAYJCwKMDHAMAFjQACDwIkCMAg1BRocACALsVAA0lGAYqCRwYvBLwaiB1gABAYYACxGIAQIBBeAeCCwogBgMBSAlQRwheDDoYcEGAmsw+HBguBq97C4ZgBF4QrDGYOzBAJeCBgIdDwRPCKYIIDG4umH4xgCkqQEwOzRwj2CDIwAP2QHGMAMrvbADMQOIZoQvBGgIAJroLKAA8rkgiBSAa+ETgJnCAChYBBAyDClgvFXwRfBLxJ0BVoIUBwClCeAQbBDA4kBQYVWIIa+CF4dXCQOBvYiCDQQWCAYOsb4QxDF5TwDF4oVCwWmwWCa4XXCoQvBLQhnCqxFBd42CGAQvGq0BLwIqDAAg5BH4QFBMISXDSYYAGYARCCdwg5CCo68ECoOCAgYCEC5IvJXwIWJACLjDAAYvD1YvGao4ASUQQeEQoQpBPgQvDVYRLHLh+HlcAgAuCFQQvGXwUkF5ClCCQQ0FA4YOBgErroJB6xdCL44vCL4J9IBgIgBQQQICRAZaBVIwkBEwQvIdwJRCJwQAEDYKACld0pIVBFgQVIPQgvD6wvDJYLXDSZAxCyWSLQbIKwQvGR4lQR5CVHkkkIgIAOqC/TDhEsCSEsF4pMCF4J4KADAnBF41Qkp7QACbmBF41WgNW1oHBAD5fE1gvEgBfB1mIIgoQCDooHHComCRwRfECwQ3BF4YAHCAIXBAQPXDIQdDI4QZILwINBF5LVICAIvBAIQHBAQIdBqwdBABGBEoQvFwMlBQI0BAApaBEgQBCIAJzCGIRNCAA0rEgOAF4wKCR5AgCF4VQP4QXBAYKPKEgRNCAASZCSBRfDSIZGCFwTvCRxEAlgvHYAMADoTvGFAToDCoQJCE4TuHEYSOC2QgDBYUrwTvIAYiICDIQDDHYKHBC4SDBgDuDQAiQDEgQAVF4YFCKQQnB2SMBSQTADSBAASrrKDRwYrCAgI7CSAhpBxCtCew4AJwOICgaOG65sBcIgODAAIZBcBILCAYWCwOHAoISCKAeAXwYvBSAgPCCAIACBAIARC4YeCEgIpDZgoVCCIQAJEAQjECJRdBRwqQDGAd7I4QvKKYoNHdQQuELwQwGB4QUCVAQAPCY7ZBEoQuEHoIKCBYLoDXyYxDFgIiEFwphFAAuyDAIAQDY6MFA=")) \ No newline at end of file +require("heatshrink").decompress(atob("mEwgP/ACfAEZU/ECZELIKhSR/+PAoWAv4FDhk/x/ggP+j0fx/AgP8n8PCIX8CwIFC/F/w4FBgP4gEHC4QFE//w//DC4QFB8YFC+P/8IdCAoYdBAoPxDoQAd+CiKh4dQwDhfAA4A=")) \ No newline at end of file diff --git a/apps/aiclock/aiclock.png b/apps/aiclock/aiclock.png index cfe98b53009f160315418d87faf9d82491d58183..104261254ec1fa64881a68593b27eecc566dd446 100644 GIT binary patch delta 1517 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