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 #ifndef GNASH_DEFINITION_TAG_H
00020 #define GNASH_DEFINITION_TAG_H
00021
00022
00023 #include <boost/noncopyable.hpp>
00024 #include <boost/cstdint.hpp>
00025
00026 #include "ControlTag.h"
00027
00028
00029
00030 namespace gnash {
00031 class DisplayObject;
00032 class Global_as;
00033 class SWFMatrix;
00034 class SWFRect;
00035 namespace SWF {
00036 class TextRecord;
00037 }
00038 }
00039
00040 namespace gnash {
00041 namespace SWF {
00042
00044
00047 class DefinitionTag : public ControlTag
00048 {
00049 public:
00050
00051 virtual ~DefinitionTag() {};
00052
00054
00057
00060
00064 virtual DisplayObject* createDisplayObject(Global_as& gl,
00065 DisplayObject* parent) const = 0;
00066
00068
00071 virtual void executeState(MovieClip* m, DisplayList& ) const;
00072
00074
00076 boost::uint16_t id() const {
00077 return _id;
00078 }
00079
00080 protected:
00081
00082 DefinitionTag(boost::uint16_t id) : _id(id) {}
00083
00084 private:
00085
00086 const boost::uint16_t _id;
00087
00088 };
00089
00090 }
00091 }
00092
00093 #endif
00094
00095
00096
00097
00098