aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/wage/menu.cpp4
-rw-r--r--engines/wage/menu.h1
2 files changed, 5 insertions, 0 deletions
diff --git a/engines/wage/menu.cpp b/engines/wage/menu.cpp
index e0a64aa9d0..681fb624b7 100644
--- a/engines/wage/menu.cpp
+++ b/engines/wage/menu.cpp
@@ -179,6 +179,8 @@ Menu::Menu(Gui *gui) : _gui(gui) {
_menuActivated = false;
_activeItem = -1;
_activeSubItem = -1;
+
+ _screenCopy.create(_gui->_screen.w, _gui->_screen.h, Graphics::PixelFormat::createFormatCLUT8());
}
Menu::~Menu() {
@@ -286,6 +288,8 @@ void Menu::renderSubmenu(MenuItem *menu) {
bool Menu::mouseClick(int x, int y) {
if (_bbox.contains(x, y)) {
+ _screenCopy.copyFrom(_gui->_screen);
+
for (int i = 0; i < _items.size(); i++)
if (_items[i]->bbox.contains(x, y)) {
if (_activeItem == i)
diff --git a/engines/wage/menu.h b/engines/wage/menu.h
index bfcb7301c1..6f8e14a3e4 100644
--- a/engines/wage/menu.h
+++ b/engines/wage/menu.h
@@ -69,6 +69,7 @@ public:
private:
Gui *_gui;
Patterns _patterns;
+ Graphics::Surface _screenCopy;
private:
const Graphics::Font *getMenuFont();