diff options
author | Nicola Mettifogo | 2008-12-06 04:51:04 +0000 |
---|---|---|
committer | Nicola Mettifogo | 2008-12-06 04:51:04 +0000 |
commit | 7681461b16ee09eb8620fc99d8cd9445c263594b (patch) | |
tree | 960f1af1edde885e2243214cf447b401e5b38615 /engines/parallaction/graphics.h | |
parent | 7a4984304721eb91ca5c3349871be1cab228451d (diff) | |
download | scummvm-rg350-7681461b16ee09eb8620fc99d8cd9445c263594b.tar.gz scummvm-rg350-7681461b16ee09eb8620fc99d8cd9445c263594b.tar.bz2 scummvm-rg350-7681461b16ee09eb8620fc99d8cd9445c263594b.zip |
Implemented horizontal scrolling for BRA, by using a back buffer. Dialogues in scrollable locations are a bit messed up for the moment.
svn-id: r35253
Diffstat (limited to 'engines/parallaction/graphics.h')
-rw-r--r-- | engines/parallaction/graphics.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/engines/parallaction/graphics.h b/engines/parallaction/graphics.h index 90cc5f55b7..662bfc6b59 100644 --- a/engines/parallaction/graphics.h +++ b/engines/parallaction/graphics.h @@ -572,7 +572,6 @@ protected: // frame data stored in programmable variables int32 _varBackgroundMode; // 1 = normal, 2 = only mask - int32 _varScrollX; int32 _varAnimRenderMode; // 1 = normal, 2 = flat int32 _varMiscRenderMode; // 1 = normal, 2 = flat int32 _varRenderMode; @@ -580,6 +579,18 @@ protected: Graphics::Surface _bitmapMask; int32 getRenderMode(const char *type); + Graphics::Surface *lockScreen(); + void unlockScreen(); + void updateScreenIntern(); + + bool _doubleBuffering; + int _gameType; + Graphics::Surface _backBuffer; + void copyRectToScreen(const byte *buf, int pitch, int x, int y, int w, int h); + + int _scrollPos; + int _minScroll, _maxScroll; + public: struct Item { @@ -605,6 +616,9 @@ public: void copyRect(const Common::Rect &r, Graphics::Surface &src, Graphics::Surface &dst); + int getScrollPos(); + void setScrollPos(int scrollX); + // low level text and patches void drawText(Font *font, Graphics::Surface* surf, uint16 x, uint16 y, const char *text, byte color); |