From c4bdf324d7d464bc7fabbf88e1a6e66701c6e7cb Mon Sep 17 00:00:00 2001 From: Thorbjørn Lindeijer Date: Sat, 21 Jan 2012 12:30:36 +0100 Subject: 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 --- src/gui/gui.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'src/gui/gui.cpp') diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 593bed10..70086eb6 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -102,8 +102,7 @@ Gui::Gui(Graphics *graphics): // Initialize top GUI widget WindowContainer *guiTop = new WindowContainer; guiTop->setFocusable(true); - guiTop->setDimension(gcn::Rectangle(0, 0, - graphics->getWidth(), graphics->getHeight())); + guiTop->setSize(graphics->getWidth(), graphics->getHeight()); guiTop->setOpaque(false); Window::setWindowContainer(guiTop); setTop(guiTop); @@ -221,6 +220,17 @@ void Gui::draw() mGraphics->popClipArea(); } +void Gui::videoResized() +{ + WindowContainer *top = static_cast(getTop()); + + int oldWidth = top->getWidth(); + int oldHeight = top->getHeight(); + + top->setSize(graphics->getWidth(), graphics->getHeight()); + top->adjustAfterResize(oldWidth, oldHeight); +} + void Gui::setUseCustomCursor(bool customCursor) { if (customCursor != mCustomCursor) -- cgit v1.2.3-60-g2f50