aboutsummaryrefslogtreecommitdiff
path: root/engines/wage/menu.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/wage/menu.cpp')
-rw-r--r--engines/wage/menu.cpp16
1 files changed, 11 insertions, 5 deletions
diff --git a/engines/wage/menu.cpp b/engines/wage/menu.cpp
index 7c680d7c68..5dc761b82c 100644
--- a/engines/wage/menu.cpp
+++ b/engines/wage/menu.cpp
@@ -274,6 +274,10 @@ void Menu::renderSubmenu(MenuItem *menu) {
Design::drawFilledRect(&_gui->_screen, *r, kColorWhite, _patterns, 1);
Design::drawRect(&_gui->_screen, *r, 1, kColorBlack, _patterns, 1);
+ Design::drawVLine(&_gui->_screen, r->right + 1, r->top + 2, r->bottom + 2, 1, kColorBlack, _patterns, 1);
+ Design::drawVLine(&_gui->_screen, r->right + 2, r->top + 2, r->bottom + 2, 1, kColorBlack, _patterns, 1);
+ Design::drawHLine(&_gui->_screen, r->left + 3, r->right + 2, r->bottom + 1, 1, kColorBlack, _patterns, 1);
+ Design::drawHLine(&_gui->_screen, r->left + 3, r->right + 2, r->bottom + 2, 1, kColorBlack, _patterns, 1);
int x = r->left + kMenuDropdownPadding;
int y = r->top;
@@ -283,7 +287,7 @@ void Menu::renderSubmenu(MenuItem *menu) {
y += kMenuDropdownItemHeight;
}
- g_system->copyRectToScreen(_gui->_screen.getBasePtr(r->left, r->top), _gui->_screen.pitch, r->left, r->top, r->width() + 1, r->height() + 1);
+ g_system->copyRectToScreen(_gui->_screen.getBasePtr(r->left, r->top), _gui->_screen.pitch, r->left, r->top, r->width() + 3, r->height() + 3);
}
bool Menu::mouseClick(int x, int y) {
@@ -296,11 +300,13 @@ bool Menu::mouseClick(int x, int y) {
if (_activeItem == i)
return false;
- if (_activeItem != -1) {
- Common::Rect *r = &_items[_activeItem]->subbbox;
+ if (_activeItem != -1) { // Restore background
+ Common::Rect r(_items[_activeItem]->subbbox);
+ r.right += 3;
+ r.bottom += 3;
- _gui->_screen.copyRectToSurface(_screenCopy, r->left, r->top, *r);
- g_system->copyRectToScreen(_gui->_screen.getBasePtr(r->left, r->top), _gui->_screen.pitch, r->left, r->top, r->width() + 1, r->height() + 1);
+ _gui->_screen.copyRectToSurface(_screenCopy, r.left, r.top, r);
+ g_system->copyRectToScreen(_gui->_screen.getBasePtr(r.left, r.top), _gui->_screen.pitch, r.left, r.top, r.width() + 1, r.height() + 1);
}
_activeItem = i;