summaryrefslogtreecommitdiff
path: root/src/gui/gui.cpp
diff options
context:
space:
mode:
authorThorbjørn Lindeijer <thorbjorn@lindeijer.nl>2012-01-21 12:30:36 +0100
committerAndrei Karas <akaras@inbox.ru>2012-01-30 19:53:07 +0300
commit8292b80eac900ec5dd75d184063b7b35934e800a (patch)
tree3ce68afff38d75d0cb1cdb89260f2b49f232e86a /src/gui/gui.cpp
parent502a0a0163e702af7334979a2eabfc4826a94091 (diff)
downloadmv-8292b80eac900ec5dd75d184063b7b35934e800a.tar.gz
mv-8292b80eac900ec5dd75d184063b7b35934e800a.tar.bz2
mv-8292b80eac900ec5dd75d184063b7b35934e800a.tar.xz
mv-8292b80eac900ec5dd75d184063b7b35934e800a.zip
Allow resizing of the game in windowed mode
Window positions are semi-smartly corrected as a result of the resize. Not supported when using OpenGL on Windows for now. Reviewed-by: Yohann Ferreira Conflicts: src/client.cpp src/client.h src/game.cpp src/gui/gui.cpp src/gui/widgets/window.cpp
Diffstat (limited to 'src/gui/gui.cpp')
-rw-r--r--src/gui/gui.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp
index 3d79f0cdf..e441111a9 100644
--- a/src/gui/gui.cpp
+++ b/src/gui/gui.cpp
@@ -99,8 +99,7 @@ Gui::Gui(Graphics *graphics):
// Initialize top GUI widget
WindowContainer *guiTop = new WindowContainer;
guiTop->setFocusable(true);
- guiTop->setDimension(gcn::Rectangle(0, 0,
- graphics->mWidth, graphics->mHeight));
+ guiTop->setSize(graphics->mWidth, graphics->mHeight);
guiTop->setOpaque(false);
Window::setWindowContainer(guiTop);
setTop(guiTop);
@@ -287,6 +286,17 @@ void Gui::draw()
mGraphics->popClipArea();
}
+void Gui::videoResized()
+{
+ WindowContainer *top = static_cast<WindowContainer*>(getTop());
+
+ int oldWidth = top->getWidth();
+ int oldHeight = top->getHeight();
+
+ top->setSize(mainGraphics->mWidth, mainGraphics->mHeight);
+ top->adjustAfterResize(oldWidth, oldHeight);
+}
+
void Gui::setUseCustomCursor(bool customCursor)
{
if (customCursor != mCustomCursor)