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 #include <set>
00027
00028 #include "MovieClip.h"
00029
00030
00031 namespace gnash {
00032 class DisplayObject;
00033 class movie_definition;
00034 }
00035
00036 namespace gnash
00037 {
00038
00040
00043
00047 class Movie : public MovieClip
00048 {
00049
00050 public:
00051
00052 Movie(as_object* object, const movie_definition* def,
00053 DisplayObject* parent)
00054 :
00055 MovieClip(object, def, this, parent)
00056 {}
00057
00058 virtual ~Movie() {}
00059
00060 virtual void advance() = 0;
00061
00062 virtual float frameRate() const = 0;
00063
00064 virtual size_t widthPixels() const = 0;
00065
00066 virtual size_t heightPixels() const = 0;
00067
00068 virtual bool ensureFrameLoaded(size_t ) const {
00069 return true;
00070 }
00071
00073 virtual const std::string& url() const = 0;
00074
00076
00079 virtual int version() const = 0;
00080
00082
00085
00089 virtual SWF::DefinitionTag* exportedCharacter(const std::string& ) {
00090 return 0;
00091 }
00092
00094
00098 virtual void addCharacter(boost::uint16_t ) {}
00099
00101
00104 virtual bool initializeCharacter(boost::uint16_t ) {
00105 return false;
00106 }
00107
00108 virtual const movie_definition* definition() const = 0;
00109
00110 };
00111
00112
00113 }
00114
00115 #endif