aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Horn2002-11-10 19:39:32 +0000
committerMax Horn2002-11-10 19:39:32 +0000
commitbc883a5f1ac2c5dd375ce868dd085466001e4b8d (patch)
treeff3cbc88860b8234b1db6655fd92de4008fc828d
parent843fa5f7533929d8f037ff3eec747f6fc15bd396 (diff)
downloadscummvm-rg350-bc883a5f1ac2c5dd375ce868dd085466001e4b8d.tar.gz
scummvm-rg350-bc883a5f1ac2c5dd375ce868dd085466001e4b8d.tar.bz2
scummvm-rg350-bc883a5f1ac2c5dd375ce868dd085466001e4b8d.zip
fixed dialog redrawing (when you switched in the save/load dialog between save and load mode, it would loose the transparency)
svn-id: r5512
-rw-r--r--gui/dialog.cpp5
-rw-r--r--gui/dialog.h1
-rw-r--r--gui/newgui.cpp2
3 files changed, 7 insertions, 1 deletions
diff --git a/gui/dialog.cpp b/gui/dialog.cpp
index d87b26611e..5805e95f2f 100644
--- a/gui/dialog.cpp
+++ b/gui/dialog.cpp
@@ -97,6 +97,11 @@ void Dialog::close()
void Dialog::draw()
{
+ _gui->_needRedraw = true;
+}
+
+void Dialog::drawDialog()
+{
Widget *w = _firstWidget;
if (!isVisible())
diff --git a/gui/dialog.h b/gui/dialog.h
index 04496a233e..fa74737818 100644
--- a/gui/dialog.h
+++ b/gui/dialog.h
@@ -64,6 +64,7 @@ protected:
virtual void close();
virtual void draw();
+ virtual void drawDialog();
virtual void handleTickle(); // Called periodically (in every guiloop() )
virtual void handleMouseDown(int x, int y, int button, int clickCount);
diff --git a/gui/newgui.cpp b/gui/newgui.cpp
index d070b5ab25..e7b492dc9e 100644
--- a/gui/newgui.cpp
+++ b/gui/newgui.cpp
@@ -119,7 +119,7 @@ void NewGui::runLoop()
_system->clear_overlay();
_system->grab_overlay(_screen, _screenPitch);
for (int i = 0; i < _dialogStack.size(); i++)
- _dialogStack[i]->draw();
+ _dialogStack[i]->drawDialog();
_needRedraw = false;
}