summaryrefslogtreecommitdiff
path: root/src/gui/widgets/window.h
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/widgets/window.h
parent502a0a0163e702af7334979a2eabfc4826a94091 (diff)
downloadmanaverse-8292b80eac900ec5dd75d184063b7b35934e800a.tar.gz
manaverse-8292b80eac900ec5dd75d184063b7b35934e800a.tar.bz2
manaverse-8292b80eac900ec5dd75d184063b7b35934e800a.tar.xz
manaverse-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/widgets/window.h')
-rw-r--r--src/gui/widgets/window.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/gui/widgets/window.h b/src/gui/widgets/window.h
index 65dbf196b..6fa47dedc 100644
--- a/src/gui/widgets/window.h
+++ b/src/gui/widgets/window.h
@@ -329,6 +329,13 @@ class Window : public gcn::Window, gcn::WidgetListener
virtual void resetToDefaultSize();
/**
+ * Adjusts the window position after the application window has been
+ * resized.
+ */
+ void adjustPositionAfterResize(int oldScreenWidth,
+ int oldScreenHeight);
+
+ /**
* Gets the layout handler for this window.
*/
Layout &getLayout();
@@ -406,11 +413,11 @@ class Window : public gcn::Window, gcn::WidgetListener
};
/**
- * Check if the window is off-screen and then move it to be visible
- * again. This is internally used by loadWindowState
- * and setVisible(true) members.
+ * Ensures the window is on the screen, moving it if necessary. This is
+ * used by loadWindowState and setVisible(true), and when the screen
+ * is resized.
*/
- void checkIfIsOffScreen(bool partially = true, bool entirely = true);
+ void ensureOnScreen();
/**
* Determines if the mouse is in a resize area and returns appropriate