/*! * @file movie_loader.h * loads a movie */ #ifndef _MOVIE_LOADER_H #define _MOVIE_LOADER_H #include "story_entity.h" #include "event_listener.h" class MoviePlayer; class MovieLoader : public StoryEntity, virtual public EventListener { ObjectListDeclaration(MovieLoader); private: MoviePlayer* movie_player; Uint32 lastFrame; Uint32 currentFrame; Uint32 dt; // time needed to calculate this frame (in milliSeconds) float dts; public: MovieLoader(const TiXmlElement* root); virtual ~MovieLoader(); virtual void loadParams(const TiXmlElement* root); /* functions from story-entity */ virtual ErrorMessage init(); virtual ErrorMessage loadData(); virtual ErrorMessage unloadData(); virtual bool start(); virtual bool stop(); virtual bool pause(); virtual bool resume(); virtual void run(); virtual void process(const Event &event); private: void loadMovie(const std::string& filename); void setFPS(float fps); void tick(); void draw() const; }; #endif /* _MOVIE_LOADER_H */