22 #ifndef MEDIASTATION_SPRITE_H 23 #define MEDIASTATION_SPRITE_H 25 #include "common/rect.h" 26 #include "common/array.h" 28 #include "mediastation/asset.h" 29 #include "mediastation/datafile.h" 30 #include "mediastation/bitmap.h" 31 #include "mediastation/mediascript/scriptvalue.h" 32 #include "mediastation/mediascript/scriptconstants.h" 38 uint firstFrameIndex = 0;
39 uint lastFrameIndex = 0;
74 virtual void process()
override;
77 virtual void readParameter(
Chunk &chunk, AssetHeaderSectionType paramType)
override;
80 virtual bool isVisible()
const override {
return _isVisible; }
82 virtual void readChunk(
Chunk &chunk)
override;
85 static const uint DEFAULT_CLIP_ID = 1200;
91 bool _isPlaying =
false;
92 uint _currentFrameIndex = 0;
93 uint _nextFrameTime = 0;
98 void setCurrentClip(uint clipId);
100 bool activateNextFrame();
101 bool activatePreviousFrame();
103 void dirtyIfVisible();
104 void setCurrentFrameToInitial();
105 void setCurrentFrameToFinal();
107 void scheduleNextFrame();
108 void scheduleNextTimerEvent();
109 void postMovieEndEventIfNecessary();
110 void setVisibility(
bool visibility);
112 void updateFrameState();