aboutsummaryrefslogtreecommitdiff
path: root/backends/sdl/sdl-common.h
diff options
context:
space:
mode:
authorEugene Sandulenko2004-11-23 21:30:38 +0000
committerEugene Sandulenko2004-11-23 21:30:38 +0000
commit7877ccf628d4033a4941762b867b819770a61fa6 (patch)
tree96aa6102564f8847f0c51c82bfe73699c3e281f7 /backends/sdl/sdl-common.h
parent37e900a2a3201550b7027c271c28a0c943837271 (diff)
downloadscummvm-rg350-7877ccf628d4033a4941762b867b819770a61fa6.tar.gz
scummvm-rg350-7877ccf628d4033a4941762b867b819770a61fa6.tar.bz2
scummvm-rg350-7877ccf628d4033a4941762b867b819770a61fa6.zip
Next step in transaction implementation. Now it postpones all calls.
NOTE: This breaks most ports, and they will not pass assertions. If you will fix it (by moving violating OSystem calls to go() method), I'll be grateful. If you don't bother to fix it, there is a workaround. Just comment out beginGFXTransaction() and endGFXTransaction() in backends/sdl/graphics.cpp. This will tunr it off and will use default transaction-less implementation. svn-id: r15870
Diffstat (limited to 'backends/sdl/sdl-common.h')
-rw-r--r--backends/sdl/sdl-common.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/backends/sdl/sdl-common.h b/backends/sdl/sdl-common.h
index 646c9a262e..2175d70590 100644
--- a/backends/sdl/sdl-common.h
+++ b/backends/sdl/sdl-common.h
@@ -53,6 +53,9 @@ public:
OSystem_SDL();
virtual ~OSystem_SDL();
+ void beginGFXTransaction(void);
+ void endGFXTransaction(void);
+
// Set the size of the video bitmap.
// Typically, 320x200
void initSize(uint w, uint h);
@@ -195,11 +198,31 @@ protected:
DF_UPDATE_EXPAND_1_PIXEL = 1 << 1
};
+ enum {
+ kTransactionNone = 0,
+ kTransactionCommit = 1,
+ kTransactionActive = 2
+ };
+
+ struct transactionDetails {
+ int mode;
+ bool modeChanged;
+ int w;
+ bool wChanged;
+ int h;
+ bool hChanged;
+ bool fs;
+ bool fsChanged;
+ bool ar;
+ bool arChanged;
+ } _transactionDetails;
+
bool _forceFull; // Force full redraw on next updateScreen
ScalerProc *_scalerProc;
int _scalerType;
int _scaleFactor;
int _mode;
+ int _transactionMode;
bool _full_screen;
uint32 _mode_flags;
bool _modeChanged;
@@ -281,6 +304,7 @@ protected:
virtual void hotswap_gfx_mode();
void setFullscreenMode(bool enable);
+ void setAspectRatioCorrection(bool enable);
bool save_screenshot(const char *filename);