diff options
author | Simei Yin | 2017-07-21 08:16:17 +0200 |
---|---|---|
committer | Simei Yin | 2017-07-21 11:21:45 +0200 |
commit | fd2cf90bb3eab1050d0513813c72a9e26a8166d5 (patch) | |
tree | 3179a75e87527fffaec880b2876beec2b88ddfb6 /engines/sludge/cursors.h | |
parent | 6858d3c6aefe1f39089a56ef3f2521b86d8abeb0 (diff) | |
download | scummvm-rg350-fd2cf90bb3eab1050d0513813c72a9e26a8166d5.tar.gz scummvm-rg350-fd2cf90bb3eab1050d0513813c72a9e26a8166d5.tar.bz2 scummvm-rg350-fd2cf90bb3eab1050d0513813c72a9e26a8166d5.zip |
SLUDGE: Objectify cursor manager
Diffstat (limited to 'engines/sludge/cursors.h')
-rw-r--r-- | engines/sludge/cursors.h | 32 |
1 files changed, 29 insertions, 3 deletions
diff --git a/engines/sludge/cursors.h b/engines/sludge/cursors.h index 9bc5b82806..5fd1885f69 100644 --- a/engines/sludge/cursors.h +++ b/engines/sludge/cursors.h @@ -25,9 +25,35 @@ namespace Sludge { -void pickAnimCursor(struct PersonaAnimation *pp); -void displayCursor(); -void pasteCursor(int x, int y, struct PersonaAnimation *c); +class SludgeEngine; + +struct FrozenStuffStruct; + +class CursorManager { +public: + CursorManager(SludgeEngine *vm); + virtual ~CursorManager(); + + // cursor + void pickAnimCursor(struct PersonaAnimation *pp); + void displayCursor(); + void pasteCursor(int x, int y, struct PersonaAnimation *c); + + // freeze + void freeze(FrozenStuffStruct *frozenStuff); + void resotre(FrozenStuffStruct *frozenStuff); + + // load & save + void saveCursor(Common::WriteStream *stream); + bool loadCursor(Common::SeekableReadStream *stream); + +private: + SludgeEngine *_vm; + + PersonaAnimation *_mouseCursorAnim; + int _mouseCursorFrameNum; + int _mouseCursorCountUp; +}; } // End of namespace Sludge |