diff options
author | Sven Hesse | 2012-06-29 19:34:14 +0200 |
---|---|---|
committer | Sven Hesse | 2012-07-30 01:44:43 +0200 |
commit | 412ae53854dc2ef352a3f3e990f0d2b56d97ad7e (patch) | |
tree | 819d646f01c5c080f0e97dae0f3a56aeb10bfef8 /engines | |
parent | aae8c607596d9ce228935c01297902381c8b442c (diff) | |
download | scummvm-rg350-412ae53854dc2ef352a3f3e990f0d2b56d97ad7e.tar.gz scummvm-rg350-412ae53854dc2ef352a3f3e990f0d2b56d97ad7e.tar.bz2 scummvm-rg350-412ae53854dc2ef352a3f3e990f0d2b56d97ad7e.zip |
GOB: Add PreGob animation utility functions
Diffstat (limited to 'engines')
-rw-r--r-- | engines/gob/pregob/pregob.cpp | 21 | ||||
-rw-r--r-- | engines/gob/pregob/pregob.h | 6 |
2 files changed, 27 insertions, 0 deletions
diff --git a/engines/gob/pregob/pregob.cpp b/engines/gob/pregob/pregob.cpp index 1c3fb8221c..b9c36d7cf8 100644 --- a/engines/gob/pregob/pregob.cpp +++ b/engines/gob/pregob/pregob.cpp @@ -29,6 +29,7 @@ #include "gob/palanim.h" #include "gob/draw.h" #include "gob/video.h" +#include "gob/aniobject.h" #include "gob/pregob/pregob.h" @@ -181,4 +182,24 @@ bool PreGob::hasInput() { return checkInput(mouseX, mouseY, mouseButtons) || (mouseButtons != kMouseButtonsNone); } +void PreGob::clearAnim(ANIObject &ani) { + int16 left, top, right, bottom; + + if (ani.clear(*_vm->_draw->_backSurface, left, top, right, bottom)) + _vm->_draw->dirtiedRect(_vm->_draw->_backSurface, left, top, right, bottom); +} + +void PreGob::drawAnim(ANIObject &ani) { + int16 left, top, right, bottom; + + if (ani.draw(*_vm->_draw->_backSurface, left, top, right, bottom)) + _vm->_draw->dirtiedRect(_vm->_draw->_backSurface, left, top, right, bottom); + ani.advance(); +} + +void PreGob::redrawAnim(ANIObject &ani) { + clearAnim(ani); + drawAnim(ani); +} + } // End of namespace Gob diff --git a/engines/gob/pregob/pregob.h b/engines/gob/pregob/pregob.h index 4cf4a39fdb..9efdbe8df6 100644 --- a/engines/gob/pregob/pregob.h +++ b/engines/gob/pregob/pregob.h @@ -30,6 +30,8 @@ namespace Gob { class GobEngine; class Surface; +class ANIObject; + class PreGob { public: PreGob(GobEngine *vm); @@ -71,6 +73,10 @@ protected: int16 waitInput(); bool hasInput(); + void clearAnim(ANIObject &ani); + void drawAnim(ANIObject &ani); + void redrawAnim(ANIObject &ani); + GobEngine *_vm; |