From 83c829781b778b2c015c9a709f95377abc7d79a0 Mon Sep 17 00:00:00 2001 From: David Volovskiy Date: Sun, 1 Jun 2025 19:27:24 -0400 Subject: [PATCH] Added fullest color to ring setting --- apps/daisy/app.js | 19 +++++++++++++++++++ apps/daisy/settings.js | 2 +- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/apps/daisy/app.js b/apps/daisy/app.js index 79dcaaa95..47c72ab2b 100644 --- a/apps/daisy/app.js +++ b/apps/daisy/app.js @@ -538,6 +538,8 @@ function drawClock() { drawAllRings(date, null); setLargeFont(); + if (settings.color == 'Fullest') + settings.fg = settings.rings[getFullestRing()].fg; g.setColor(settings.fg); g.setFontAlign(1,0); // right aligned g.drawString(hh, (w/2) - 1, h/2); @@ -917,6 +919,7 @@ function queueDraw() { } function getInnerOuterMostRing() { + // Outputs 1 through 3 let innerMost = 0; let outerMost = 0; for (let i = 0; i < settings.rings.length; i++) { @@ -935,6 +938,22 @@ function getInnerOuterMostRing() { outerMostRing = outerMost; } +function getFullestRing() { + // Outputs 0 through 2 + let largestPercent = 0; + let fullestRing = 0; + for (let i = 0; i < settings.rings.length; i++) { + if (settings.rings[i].type !== "None") { + let percent = (prevRing[i].end - prevRing[i].start) / prevRing[i].max; + if (largestPercent < percent) { + largestPercent = percent; + fullestRing = i; + } + } + } + return fullestRing; +} + // Stop updates when LCD is off, restart when on Bangle.on('lcdPower',on=>{ if (on) { diff --git a/apps/daisy/settings.js b/apps/daisy/settings.js index e2234e8c1..6a829be2f 100644 --- a/apps/daisy/settings.js +++ b/apps/daisy/settings.js @@ -58,7 +58,7 @@ function save() { var ring_options = ['Hours', 'Minutes', 'Seconds', 'Day', 'Sun', 'Steps', 'Battery']; var ring_types = ['None', 'Full', 'Semi', 'C']; var step_options = [100, 1000, 5000, 10000, 15000, 20000]; - var color_options_font = ['Outer', 'Inner'].concat(color_options); + var color_options_font = ['Outer', 'Inner', 'Fullest'].concat(color_options); var fg_code_font = [null, null].concat(color_options); function showRingMenu(ringIndex) {