From 1f62bab4f186b14d4054be94631d85da97c2c8c2 Mon Sep 17 00:00:00 2001 From: yaapu Date: Mon, 14 Jun 2021 08:07:31 +0000 Subject: [PATCH] colorlcd: lua fix INVERS+RIGHT in drawText, drawNumber --- radio/src/lua/api_colorlcd.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/radio/src/lua/api_colorlcd.cpp b/radio/src/lua/api_colorlcd.cpp index a4483728e..c83229c16 100644 --- a/radio/src/lua/api_colorlcd.cpp +++ b/radio/src/lua/api_colorlcd.cpp @@ -243,8 +243,12 @@ static int luaLcdDrawText(lua_State *L) if (invers) { int height = getFontHeight(att & 0xFFFF); int width = getTextWidth(s, 255, att); + int ix = x - INVERT_BOX_MARGIN; + if (att & RIGHT) { + ix = x - width - INVERT_BOX_MARGIN; + } luaLcdBuffer->drawSolidFilledRect( - x - INVERT_BOX_MARGIN, y - INVERT_BOX_MARGIN, + ix, y - INVERT_BOX_MARGIN, width + 2 * INVERT_BOX_MARGIN, height + 2 * INVERT_BOX_MARGIN, FOCUS_BGCOLOR); att = (att & 0xFFFF) | FOCUS_COLOR; @@ -338,8 +342,12 @@ static int luaLcdDrawNumber(lua_State *L) if (invers) { int height = getFontHeight(att & 0xFFFF); int width = getTextWidth(s, 255, att); + int ix = x - INVERT_BOX_MARGIN; + if (att & RIGHT) { + ix = x - width - INVERT_BOX_MARGIN; + } luaLcdBuffer->drawSolidFilledRect( - x - INVERT_BOX_MARGIN, y - INVERT_BOX_MARGIN, + ix, y - INVERT_BOX_MARGIN, width + 2 * INVERT_BOX_MARGIN, height + 2 * INVERT_BOX_MARGIN, FOCUS_BGCOLOR); att = (att & 0xFFFF) | FOCUS_COLOR;