Some more fixes / tweaking

This commit is contained in:
Raphael Coeffic
2021-06-14 06:34:57 +02:00
parent cd815232ee
commit a4a816720f
4 changed files with 48 additions and 20 deletions
@@ -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);
}
+22 -11
View File
@@ -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());
}
}
@@ -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);
+12 -7
View File
@@ -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()) {