From 3472bbdc781a93ef87fc6273b255889da921860e Mon Sep 17 00:00:00 2001 From: Raphael Coeffic Date: Sun, 20 Jun 2021 10:35:35 +0200 Subject: [PATCH] Fixed 2 lines display of GPS values --- radio/src/gui/colorlcd/draw_functions.cpp | 15 ++++++++++----- radio/src/gui/colorlcd/widgets/value.cpp | 15 ++++++--------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/radio/src/gui/colorlcd/draw_functions.cpp b/radio/src/gui/colorlcd/draw_functions.cpp index 687aeab62..0b2ca84f3 100644 --- a/radio/src/gui/colorlcd/draw_functions.cpp +++ b/radio/src/gui/colorlcd/draw_functions.cpp @@ -323,12 +323,17 @@ coord_t drawGPSCoord(BitmapBuffer * dc, coord_t x, coord_t y, int32_t value, con void drawGPSPosition(BitmapBuffer * dc, coord_t x, coord_t y, int32_t longitude, int32_t latitude, LcdFlags flags) { - if (flags & RIGHT) { - x = drawGPSCoord(dc, x, y, longitude, "EW", flags, false); - drawGPSCoord(dc, x - 5, y, latitude, "NS", flags, false); + if (flags & PREC1) { + drawGPSCoord(dc, x, y, latitude, "NS", flags, false); + drawGPSCoord(dc, x, y + FH, longitude, "EW", flags, false); } else { - x = drawGPSCoord(dc, x, y, latitude, "NS", flags, false); - drawGPSCoord(dc, x + 5, y, longitude, "EW", flags, false); + if (flags & RIGHT) { + x = drawGPSCoord(dc, x, y, longitude, "EW", flags, false); + drawGPSCoord(dc, x - 5, y, latitude, "NS", flags, false); + } else { + x = drawGPSCoord(dc, x, y, latitude, "NS", flags, false); + drawGPSCoord(dc, x + 5, y, longitude, "EW", flags, false); + } } } diff --git a/radio/src/gui/colorlcd/widgets/value.cpp b/radio/src/gui/colorlcd/widgets/value.cpp index f6515f731..6c8821a2a 100644 --- a/radio/src/gui/colorlcd/widgets/value.cpp +++ b/radio/src/gui/colorlcd/widgets/value.cpp @@ -43,7 +43,6 @@ class ValueWidget: public Widget coord_t xValue, yValue, xLabel, yLabel; LcdFlags attrValue, attrLabel = 0; - bool twolines = false; if (width() < 120 && height() < 50) { xValue = 0; yValue = 14; @@ -57,7 +56,7 @@ class ValueWidget: public Widget yValue = -2; xLabel = NUMBERS_PADDING; yLabel = +2; - attrValue = RIGHT | NO_UNIT | FONT(XL); + attrValue = RIGHT | NO_UNIT | FONT(L); } else { xValue = NUMBERS_PADDING; @@ -66,8 +65,7 @@ class ValueWidget: public Widget yLabel = 2; if (field >= MIXSRC_FIRST_TELEM) { if (isGPSSensor(1 + (field - MIXSRC_FIRST_TELEM) / 3)) { - attrValue = LEFT | FONT(L);// | EXPANDED; // TODO - twolines = true; + attrValue = LEFT | FONT(L) | PREC1; } else { attrValue = LEFT | FONT(XL); @@ -75,8 +73,7 @@ class ValueWidget: public Widget } #if defined(INTERNAL_GPS) else if (field == MIXSRC_TX_GPS) { - attrValue = LEFT | FONT(L);// | EXPANDED; // TODO - twolines = true; + attrValue = LEFT | FONT(L) | PREC1; } #endif else { @@ -87,10 +84,10 @@ class ValueWidget: public Widget if (field >= MIXSRC_FIRST_TIMER && field <= MIXSRC_LAST_TIMER) { TimerState & timerState = timersStates[field - MIXSRC_FIRST_TIMER]; if (timerState.val < 0) { - lcdSetColor(lcdColorTable[ALARM_COLOR_INDEX]); + color = ALARM_COLOR; } - drawSource(dc, NUMBERS_PADDING, 2, field, CUSTOM_COLOR); - drawSource(dc, NUMBERS_PADDING + 1, 3, field, BLACK); + drawSource(dc, NUMBERS_PADDING, 2, field, color); + drawSource(dc, NUMBERS_PADDING + 1, 3, field, COLOR2FLAGS(BLACK)); drawTimer(dc, xValue, yValue, abs(timerState.val), attrValue | FONT(XL) | color); }