From 234f9bcc5753f7693309d1b6df4a4ac9ea0387d3 Mon Sep 17 00:00:00 2001 From: Explorer09 Date: Thu, 15 Feb 2024 14:52:33 +0800 Subject: [PATCH] makeDetailsMask() blanksAtEnd (q21a) --- Meter.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Meter.c b/Meter.c index 8a25bbb25..0d0f6e68e 100644 --- a/Meter.c +++ b/Meter.c @@ -527,10 +527,13 @@ static uint16_t GraphMeterMode_makeDetailsMask(const GraphColorComputeState* pre roundsUpInAscii = distance > 0.5; roundsDownInAscii = distance < 0.5; - double fraction = (uint8_t)numDots % 2 == 0 ? 0.5 : 0.0; - distance = ceil(distance * 8.0 - fraction); - if (8.0 - distance - (uint8_t)numDots / 2 > 0) { - blanksAtEnd = 8.0 - distance - (uint8_t)numDots / 2; + distance *= 8.0; + if ((uint8_t)numDots % 2 == 0) { + distance -= 0.5; + } + unsigned int dotPosition = (unsigned int)(int) ceil(distance) + (unsigned int)(int)numDots / 2; + if (dotPosition < 8) { + blanksAtEnd = (uint8_t)(8 - dotPosition); } else { blanksAtEnd = 0; }