From dab9a52bc226dbcc72d78811d7e58f92ad64ba33 Mon Sep 17 00:00:00 2001 From: Explorer09 Date: Sat, 23 Mar 2024 17:50:17 +0800 Subject: [PATCH] lookupCell() one item blanksAtEnd code (1) --- Meter.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Meter.c b/Meter.c index adfead2224..8bc5f17c8a 100644 --- a/Meter.c +++ b/Meter.c @@ -1046,16 +1046,17 @@ static int GraphMeterMode_lookupCell(const Meter* this, const GraphDrawContext* // Scale according to exponent difference. Round up. numDots = deltaExp < UINT16_WIDTH ? ((numDots - 1) >> deltaExp) : 0; numDots++; + unsigned int blanksAtEnd = graphHeight * 8 - numDots; - if (y > (numDots - 1) / 8) + if (graphHeight - 1 - y < blanksAtEnd / 8) goto cellIsEmpty; itemIndex = 0; *details = 0xFF; - if (y == (numDots - 1) / 8) { + if (graphHeight - 1 - y == blanksAtEnd / 8) { const uint8_t dotAlignment = 2; - unsigned int blanksAtTopCell = (8 - 1 - (numDots - 1) % 8) / dotAlignment * dotAlignment; - *details <<= blanksAtTopCell; + blanksAtEnd = (blanksAtEnd % 8) / dotAlignment * dotAlignment; + *details <<= blanksAtEnd; } } else { int deltaExpArg = deltaExp >= UINT16_WIDTH ? UINT16_WIDTH - 1 : deltaExp;