Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef GNASH_MOVIE_H
00023 #define GNASH_MOVIE_H
00024
00025 #include <string>
00026
00027 #include "MovieClip.h"
00028
00029
00030 namespace gnash {
00031 class DisplayObject;
00032 class movie_definition;
00033 }
00034
00035 namespace gnash
00036 {
00037
00039
00042
00046 class Movie : public MovieClip
00047 {
00048
00049 public:
00050
00051 Movie(as_object* object, const movie_definition* def,
00052 DisplayObject* parent)
00053 :
00054 MovieClip(object, def, this, parent)
00055 {}
00056
00057 virtual ~Movie() {}
00058
00059 virtual void advance() = 0;
00060
00061 virtual float frameRate() const = 0;
00062
00063 virtual size_t widthPixels() const = 0;
00064
00065 virtual size_t heightPixels() const = 0;
00066
00067 virtual bool ensureFrameLoaded(size_t ) const {
00068 return true;
00069 }
00070
00072 virtual const std::string& url() const = 0;
00073
00075
00078 virtual int version() const = 0;
00079
00081
00084
00088 virtual SWF::DefinitionTag* exportedCharacter(const std::string& ) {
00089 return 0;
00090 }
00091
00093
00097 virtual void addCharacter(boost::uint16_t ) {}
00098
00100
00103 virtual bool initializeCharacter(boost::uint16_t ) {
00104 return false;
00105 }
00106
00107 virtual const movie_definition* definition() const = 0;
00108
00109 };
00110
00111
00112 }
00113
00114 #endif