From 8292b80eac900ec5dd75d184063b7b35934e800a 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 Conflicts: src/client.cpp src/client.h src/game.cpp src/gui/gui.cpp src/gui/widgets/window.cpp --- src/gui/widgets/windowcontainer.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/gui/widgets/windowcontainer.cpp') diff --git a/src/gui/widgets/windowcontainer.cpp b/src/gui/widgets/windowcontainer.cpp index 43aaea8a4..ce218e042 100644 --- a/src/gui/widgets/windowcontainer.cpp +++ b/src/gui/widgets/windowcontainer.cpp @@ -22,6 +22,8 @@ #include "gui/widgets/windowcontainer.h" +#include "gui/widgets/window.h" + #include "utils/dtor.h" #include "debug.h" @@ -41,3 +43,11 @@ void WindowContainer::scheduleDelete(gcn::Widget *widget) if (widget) mDeathList.push_back(widget); } + +void WindowContainer::adjustAfterResize(int oldScreenWidth, + int oldScreenHeight) +{ + for (WidgetListIterator i = mWidgets.begin(); i != mWidgets.end(); ++i) + if (Window *window = dynamic_cast(*i)) + window->adjustPositionAfterResize(oldScreenWidth, oldScreenHeight); +} -- cgit v1.2.3-60-g2f50