diff options
author | RichieSams | 2014-12-30 01:10:36 -0600 |
---|---|---|
committer | RichieSams | 2014-12-30 01:10:36 -0600 |
commit | 68d3ebd57b0313e517032681a119b47956803e71 (patch) | |
tree | 375a5db108c75add395a4b2b37d6ae1e1c87c2df /engines/zvision/scripting/effects/animation_effect.h | |
parent | 6c3af3c2e7b8d2852669c141944964c82a11ce1b (diff) | |
download | scummvm-rg350-68d3ebd57b0313e517032681a119b47956803e71.tar.gz scummvm-rg350-68d3ebd57b0313e517032681a119b47956803e71.tar.bz2 scummvm-rg350-68d3ebd57b0313e517032681a119b47956803e71.zip |
ZVISION: Rename some scripting classes to better represent what the classes are
Also, rename the graphics 'Effect' class in order to avoid naming clashes (and/or coder
confusion) with the newly named ScriptingEffect class.
Lastly, add some documentation for the classes for further clarity.
Diffstat (limited to 'engines/zvision/scripting/effects/animation_effect.h')
-rw-r--r-- | engines/zvision/scripting/effects/animation_effect.h | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/engines/zvision/scripting/effects/animation_effect.h b/engines/zvision/scripting/effects/animation_effect.h new file mode 100644 index 0000000000..a564b83ff3 --- /dev/null +++ b/engines/zvision/scripting/effects/animation_effect.h @@ -0,0 +1,77 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +#ifndef ZVISION_ANIMATION_NODE_H +#define ZVISION_ANIMATION_NODE_H + +#include "zvision/scripting/scripting_effect.h" +#include "common/rect.h" +#include "common/list.h" + +namespace Graphics { +struct Surface; +} + +namespace Video { + class VideoDecoder; +} + +namespace ZVision { + +class ZVision; + +class AnimationEffect : public ScriptingEffect { +public: + AnimationEffect(ZVision *engine, uint32 controlKey, const Common::String &fileName, int32 mask, int32 frate, bool disposeAfterUse = true); + ~AnimationEffect(); + + struct playnode { + Common::Rect pos; + int32 slot; + int32 start; + int32 loop; + int32 _delay; + Graphics::Surface *_scaled; + }; + +private: + typedef Common::List<playnode> PlayNodes; + + PlayNodes _playList; + + int32 _mask; + bool _disposeAfterUse; + + Video::VideoDecoder *_animation; + int32 _frmDelayOverride; + +public: + bool process(uint32 deltaTimeInMillis); + + void addPlayNode(int32 slot, int x, int y, int x2, int y2, int startFrame, int endFrame, int loops = 1); + + bool stop(); +}; + +} // End of namespace ZVision + +#endif |