aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction/graphics.h
diff options
context:
space:
mode:
authorNicola Mettifogo2009-03-23 00:56:05 +0000
committerNicola Mettifogo2009-03-23 00:56:05 +0000
commit71f42a954988bfe490d9c76e16edfa06873fe1b8 (patch)
treee641a159bd307189d96dc6afca2efbec56f9316e /engines/parallaction/graphics.h
parente3f9acc3e6c66ab42e6e992536c933069771c99e (diff)
downloadscummvm-rg350-71f42a954988bfe490d9c76e16edfa06873fe1b8.tar.gz
scummvm-rg350-71f42a954988bfe490d9c76e16edfa06873fe1b8.tar.bz2
scummvm-rg350-71f42a954988bfe490d9c76e16edfa06873fe1b8.zip
Fully implemented scrolling.
svn-id: r39622
Diffstat (limited to 'engines/parallaction/graphics.h')
-rw-r--r--engines/parallaction/graphics.h18
1 files changed, 14 insertions, 4 deletions
diff --git a/engines/parallaction/graphics.h b/engines/parallaction/graphics.h
index 2816729eb6..e7e7c7fb41 100644
--- a/engines/parallaction/graphics.h
+++ b/engines/parallaction/graphics.h
@@ -478,8 +478,13 @@ public:
void setProjectorProgram(int16 *data);
int16 *_nextProjectorPos;
- int getScrollPos();
- void setScrollPos(int scrollX);
+ // start programmatic relative scroll
+ void initiateScroll(int deltaX, int deltaY);
+ // immediate and absolute x,y scroll
+ void setScrollPosX(int scrollX);
+ void setScrollPosY(int scrollY);
+ // return current scroll position
+ void getScrollPos(Common::Point &p);
// init
Gfx(Parallaction* vm);
@@ -512,9 +517,14 @@ protected:
Graphics::Surface _backBuffer;
void copyRectToScreen(const byte *buf, int pitch, int x, int y, int w, int h);
- int _scrollPos;
- int _minScroll, _maxScroll;
+ int _scrollPosX, _scrollPosY;
+ int _minScrollX, _maxScrollX, _minScrollY, _maxScrollY;
+ uint32 _requestedHScrollSteps;
+ uint32 _requestedVScrollSteps;
+ int32 _requestedHScrollDir;
+ int32 _requestedVScrollDir;
+ void scroll();
#define NO_FLOATING_LABEL 1000
GfxObjArray _labels;