[Menu] tuned look of menus with toolbar

- use DEFAULT_BGCOLOR for toolbar
- draw line around the complete menu
This commit is contained in:
Raphael Coeffic
2021-06-14 06:35:12 +02:00
parent 2b3df9aea9
commit f8042ee2e0
4 changed files with 28 additions and 13 deletions
+14 -6
View File
@@ -143,7 +143,7 @@ void MenuBody::paint(BitmapBuffer * dc)
MenuWindowContent::MenuWindowContent(Menu* parent) :
ModalWindowContent(parent, {(LCD_W - MENUS_WIDTH) / 2,
(LCD_H - MENUS_WIDTH) / 2, MENUS_WIDTH, 0}),
body(this, {1, 1, width() - 2, height() - 2})
body(this, {0, 0, width(), height()})
{
body.setFocus(SET_FOCUS_DEFAULT);
}
@@ -161,8 +161,6 @@ void MenuWindowContent::paint(BitmapBuffer * dc)
dc->drawSolidHorizontalLine(0, POPUP_HEADER_HEIGHT - 1, MENUS_WIDTH,
MENU_LINE_COLOR);
}
dc->drawSolidRect(0, 0, MENUS_WIDTH, height(), 1, MENU_LINE_COLOR);
}
Menu::Menu(Window * parent, bool multiple):
@@ -181,11 +179,11 @@ void Menu::updatePosition()
MENUS_MIN_HEIGHT, content->body.lines.size() * MENUS_LINE_HEIGHT - 1,
MENUS_MAX_HEIGHT);
content->setTop((LCD_H - headerHeight - bodyHeight) / 2 + MENUS_OFFSET_TOP);
content->setHeight(headerHeight + bodyHeight + 2);
content->body.setTop(headerHeight + 1);
content->setHeight(headerHeight + bodyHeight);
content->body.setTop(headerHeight);
content->body.setHeight(bodyHeight);
}
content->body.setInnerHeight(content->body.lines.size() * MENUS_LINE_HEIGHT - 1);
content->body.setInnerHeight(content->body.lines.size() * MENUS_LINE_HEIGHT);
}
void Menu::setTitle(std::string text)
@@ -226,3 +224,13 @@ void Menu::onEvent(event_t event)
}
}
#endif
void Menu::paint(BitmapBuffer * dc)
{
rect_t r(content->getRect());
if (toolbar) {
r.x = toolbar->left();
r.w += toolbar->width();
}
dc->drawSolidRect(r.x - 1, r.y - 1, r.w + 2, r.h + 2, 1, MENU_LINE_COLOR);
}
+2
View File
@@ -224,6 +224,8 @@ class Menu: public ModalWindow
}
}
void paint(BitmapBuffer * dc) override;
protected:
MenuWindowContent * content;
bool multiple;
+11 -6
View File
@@ -23,10 +23,15 @@
void MenuToolbarButton::paint(BitmapBuffer * dc)
{
if (checked()) {
dc->drawSolidFilledRect(MENUS_TOOLBAR_BUTTON_PADDING, MENUS_TOOLBAR_BUTTON_PADDING, MENUS_TOOLBAR_BUTTON_WIDTH - 2 * MENUS_TOOLBAR_BUTTON_PADDING, MENUS_TOOLBAR_BUTTON_WIDTH - 2 * MENUS_TOOLBAR_BUTTON_PADDING, FOCUS_BGCOLOR);
dc->drawSizedText(rect.w / 2, (rect.h - getFontHeight(FONT(STD))) / 2 + 1, &picto, 1, CENTERED | FOCUS_COLOR);
dc->drawSolidFilledRect(
MENUS_TOOLBAR_BUTTON_PADDING, MENUS_TOOLBAR_BUTTON_PADDING,
MENUS_TOOLBAR_BUTTON_WIDTH - 2 * MENUS_TOOLBAR_BUTTON_PADDING,
MENUS_TOOLBAR_BUTTON_WIDTH - 2 * MENUS_TOOLBAR_BUTTON_PADDING,
FOCUS_BGCOLOR);
dc->drawSizedText(rect.w / 2, (rect.h - getFontHeight(FONT(STD))) / 2 + 1,
&picto, 1, CENTERED | FOCUS_COLOR);
} else {
dc->drawSizedText(rect.w / 2, (rect.h - getFontHeight(FONT(STD))) / 2 + 1,
&picto, 1, CENTERED | DEFAULT_COLOR);
}
else {
dc->drawSizedText(rect.w / 2, (rect.h - getFontHeight(FONT(STD))) / 2 + 1, &picto, 1, CENTERED | DEFAULT_COLOR);
}
}
}
+1 -1
View File
@@ -78,7 +78,7 @@ class MenuToolbar: public FormGroup {
void paint(BitmapBuffer * dc) override
{
dc->clear(DISABLE_COLOR);
dc->clear(DEFAULT_BGCOLOR);
}
#if defined(HARDWARE_KEYS)