From a4a816720fe2cbadeb4e7142598c3653ed244239 Mon Sep 17 00:00:00 2001 From: Raphael Coeffic Date: Sun, 13 Jun 2021 12:28:11 +0200 Subject: [PATCH] Some more fixes / tweaking --- radio/src/gui/colorlcd/model_flightmodes.cpp | 3 ++ radio/src/gui/colorlcd/model_gvars.cpp | 33 ++++++++++++------- .../gui/colorlcd/model_logical_switches.cpp | 13 ++++++-- radio/src/gui/colorlcd/model_select.cpp | 19 +++++++---- 4 files changed, 48 insertions(+), 20 deletions(-) diff --git a/radio/src/gui/colorlcd/model_flightmodes.cpp b/radio/src/gui/colorlcd/model_flightmodes.cpp index 1298828d4..26bcfc789 100644 --- a/radio/src/gui/colorlcd/model_flightmodes.cpp +++ b/radio/src/gui/colorlcd/model_flightmodes.cpp @@ -58,6 +58,9 @@ class FlightModeGroup: public FormGroup if (index == getFlightMode()) { dc->drawSolidFilledRect(0, 0, width(), height(), HIGHLIGHT_COLOR); } + else { + dc->drawSolidFilledRect(0, 0, width(), height(), FIELD_BGCOLOR); + } FormGroup::paint(dc); } diff --git a/radio/src/gui/colorlcd/model_gvars.cpp b/radio/src/gui/colorlcd/model_gvars.cpp index e810d85ed..ba123f7c7 100644 --- a/radio/src/gui/colorlcd/model_gvars.cpp +++ b/radio/src/gui/colorlcd/model_gvars.cpp @@ -64,7 +64,7 @@ void GVarButton::paint(BitmapBuffer * dc) currentFlightMode = getFlightMode(); gvarSum = 0; - dc->drawSolidFilledRect(0, 0, nameRectW, rect.h, CURVE_AXIS_COLOR); + dc->drawSolidFilledRect(0, 0, rect.w, rect.h, FIELD_BGCOLOR); dc->drawText(FIELD_PADDING_LEFT, FIELD_PADDING_TOP, getGVarString(gvarIdx), 0); dc->drawSizedText(x, y, gvar->name, LEN_GVAR_NAME, 0); @@ -91,7 +91,8 @@ void GVarButton::paint(BitmapBuffer * dc) } if (!bgFilled) { - dc->drawSolidFilledRect(startX, y, width() - startX, PAGE_LINE_HEIGHT, CURVE_AXIS_COLOR); + dc->drawSolidFilledRect(startX, y, width() - startX, PAGE_LINE_HEIGHT, + FIELD_FRAME_COLOR); bgFilled = true; } @@ -116,7 +117,10 @@ void GVarButton::paint(BitmapBuffer * dc) } } - dc->drawSolidRect(0, 0, rect.w, rect.h, 2, hasFocus() ? FOCUS_BGCOLOR : DISABLE_COLOR); + if (hasFocus()) + dc->drawSolidRect(0, 0, rect.w, rect.h, 2, FOCUS_BGCOLOR); + else + dc->drawSolidRect(0, 0, rect.w, rect.h, 2, FIELD_FRAME_COLOR); } void GVarButton::drawFlightMode(BitmapBuffer * dc, coord_t x, coord_t y, int fm, LcdFlags attr) @@ -131,17 +135,17 @@ void GVarRenderer::paint(BitmapBuffer * dc) lastFlightMode = getFlightMode(); FlightModeData * fmData = &g_model.flightModeData[lastFlightMode]; lastGVar = fmData->gvars[index]; - coord_t x = drawStringWithIndex(dc, 0, FIELD_PADDING_TOP, STR_GV, index + 1, MENU_COLOR, nullptr, "="); + coord_t x = drawStringWithIndex(dc, 0, FIELD_PADDING_TOP, STR_GV, index + 1, + DEFAULT_COLOR, nullptr, "="); if (lastGVar > GVAR_MAX) { uint8_t fm = lastGVar - GVAR_MAX - 1; if (fm >= lastFlightMode) fm++; char label[16]; getFlightModeString(label, fm + 1); - dc->drawSizedText(x, FIELD_PADDING_TOP, label, strlen(label), MENU_COLOR); - } - else { - drawGVarValue(dc, x, FIELD_PADDING_TOP, index, lastGVar, MENU_COLOR); + dc->drawSizedText(x, FIELD_PADDING_TOP, label, strlen(label), DEFAULT_COLOR); + } else { + drawGVarValue(dc, x, FIELD_PADDING_TOP, index, lastGVar, DEFAULT_COLOR); } } @@ -167,8 +171,15 @@ bool GVarRenderer::isUpdated() void GVarEditWindow::buildHeader(Window * window) { - new StaticText(window, {PAGE_TITLE_LEFT, PAGE_TITLE_TOP, LCD_W - PAGE_TITLE_LEFT, PAGE_LINE_HEIGHT}, STR_GLOBAL_VAR, 0, MENU_COLOR); - gVarInHeader = new GVarRenderer(window, {PAGE_TITLE_LEFT, PAGE_TITLE_TOP + PAGE_LINE_HEIGHT, LCD_W - PAGE_TITLE_LEFT, PAGE_LINE_HEIGHT}, index); + new StaticText(window, + {PAGE_TITLE_LEFT, PAGE_TITLE_TOP, LCD_W - PAGE_TITLE_LEFT, + PAGE_LINE_HEIGHT}, + STR_GLOBAL_VAR, 0, DEFAULT_COLOR); + gVarInHeader = + new GVarRenderer(window, + {PAGE_TITLE_LEFT, PAGE_TITLE_TOP + PAGE_LINE_HEIGHT, + LCD_W - PAGE_TITLE_LEFT, PAGE_LINE_HEIGHT}, + index); } void GVarEditWindow::checkEvents() @@ -357,4 +368,4 @@ void ModelGVarsPage::build(FormWindow * window) grid.nextLine(button->height()); } window->setInnerHeight(grid.getWindowHeight()); -} \ No newline at end of file +} diff --git a/radio/src/gui/colorlcd/model_logical_switches.cpp b/radio/src/gui/colorlcd/model_logical_switches.cpp index 4d3e6aa5e..bae954375 100644 --- a/radio/src/gui/colorlcd/model_logical_switches.cpp +++ b/radio/src/gui/colorlcd/model_logical_switches.cpp @@ -73,8 +73,15 @@ class LogicalSwitchEditPage: public Page void buildHeader(Window * window) { - new StaticText(window, { PAGE_TITLE_LEFT, PAGE_TITLE_TOP, LCD_W - PAGE_TITLE_LEFT, PAGE_LINE_HEIGHT }, STR_MENULOGICALSWITCHES, 0, MENU_COLOR); - headerSwitchName = new StaticText(window, { PAGE_TITLE_LEFT, PAGE_TITLE_TOP + PAGE_LINE_HEIGHT, LCD_W - PAGE_TITLE_LEFT, PAGE_LINE_HEIGHT }, getSwitchPositionName(SWSRC_SW1 + index), 0, MENU_COLOR); + new StaticText(window, + {PAGE_TITLE_LEFT, PAGE_TITLE_TOP, LCD_W - PAGE_TITLE_LEFT, + PAGE_LINE_HEIGHT}, + STR_MENULOGICALSWITCHES, 0, MENU_COLOR); + headerSwitchName = new StaticText( + window, + {PAGE_TITLE_LEFT, PAGE_TITLE_TOP + PAGE_LINE_HEIGHT, + LCD_W - PAGE_TITLE_LEFT, PAGE_LINE_HEIGHT}, + getSwitchPositionName(SWSRC_SW1 + index), 0, MENU_COLOR); } void updateLogicalSwitchOneWindow() @@ -311,6 +318,8 @@ class LogicalSwitchButton : public Button { { if (active) dc->drawSolidFilledRect(2, 2, rect.w-4, rect.h-4, HIGHLIGHT_COLOR); + else + dc->drawSolidFilledRect(2, 2, rect.w-4, rect.h-4, FIELD_BGCOLOR); paintLogicalSwitchLine(dc); diff --git a/radio/src/gui/colorlcd/model_select.cpp b/radio/src/gui/colorlcd/model_select.cpp index 1f15647f1..38d38e19e 100644 --- a/radio/src/gui/colorlcd/model_select.cpp +++ b/radio/src/gui/colorlcd/model_select.cpp @@ -125,10 +125,6 @@ class ModelButton : public Button buffer->drawText(width() / 2, 2, "(Invalid Model)", DEFAULT_COLOR | CENTERED); } else { - buffer->drawSizedText(width() / 2, 2, modelCell->modelName, - LEN_MODEL_NAME, - DEFAULT_COLOR | CENTERED); - GET_FILENAME(filename, BITMAPS_PATH, partialModel.header.bitmap, ""); const BitmapBuffer *bitmap = BitmapBuffer::loadBitmap(filename); if (bitmap) { @@ -150,11 +146,20 @@ class ModelButton : public Button dc->drawSizedText(width() / 2, 2, modelCell->modelName, LEN_MODEL_NAME, DEFAULT_COLOR | CENTERED); - } else if (hasFocus()) { - dc->drawFilledRect(0, 0, width(), 20, SOLID, FOCUS_BGCOLOR, 5); + } else { + LcdFlags textColor; + if (hasFocus()) { + dc->drawFilledRect(0, 0, width(), 20, SOLID, FOCUS_BGCOLOR, 5); + textColor = FOCUS_COLOR; + } + else { + dc->drawFilledRect(0, 0, width(), 20, SOLID, COLOR2FLAGS(WHITE)/*FIELD_BGCOLOR*/, 5); + textColor = DEFAULT_COLOR; + } + dc->drawSizedText(width() / 2, 2, modelCell->modelName, LEN_MODEL_NAME, - FOCUS_COLOR | CENTERED); + textColor | CENTERED); } if (!hasFocus()) {