aboutsummaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorColin Snover2017-10-01 16:23:22 -0500
committerColin Snover2017-10-07 12:30:29 -0500
commit6e157429b7a5a64af6265d075c88595df2d6fd79 (patch)
tree6e16e359d2f427ff0aa17ae229780509595ee1b1 /common
parent24f5d456195df3b65ed2876cbca2e2981f3d1a07 (diff)
downloadscummvm-rg350-6e157429b7a5a64af6265d075c88595df2d6fd79.tar.gz
scummvm-rg350-6e157429b7a5a64af6265d075c88595df2d6fd79.tar.bz2
scummvm-rg350-6e157429b7a5a64af6265d075c88595df2d6fd79.zip
BACKENDS: Fix window sizing of games that switch between multiple resolutions
Diffstat (limited to 'common')
-rw-r--r--common/system.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/common/system.h b/common/system.h
index 32f20daf8f..a7f084b455 100644
--- a/common/system.h
+++ b/common/system.h
@@ -27,6 +27,7 @@
#include "common/noncopyable.h"
#include "common/list.h" // For OSystem::getSupportedFormats()
#include "graphics/pixelformat.h"
+#include "graphics/mode.h"
namespace Audio {
class Mixer;
@@ -634,6 +635,18 @@ public:
virtual void initSize(uint width, uint height, const Graphics::PixelFormat *format = NULL) = 0;
/**
+ * Send a list of graphics modes to the backend so it can make a decision
+ * about the best way to set up the display hardware.
+ *
+ * Engines that switch between different virtual screen sizes during a game
+ * should call this function prior to any call to initSize. Engines that use
+ * only a single screen size do not need to call this function.
+ *
+ * @param modes the list of graphics modes the engine will probably use.
+ */
+ virtual void initSizeHint(const Graphics::ModeList &modes) = 0;
+
+ /**
* Return an int value which is changed whenever any screen
* parameters (like the resolution) change. That is, whenever a
* EVENT_SCREEN_CHANGED would be sent. You can track this value