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
00023 #ifndef GNASH_SWF_MORPH_SHAPE_H
00024 #define GNASH_SWF_MORPH_SHAPE_H
00025
00026 #include "SWF.h"
00027 #include "ShapeRecord.h"
00028 #include "DefinitionTag.h"
00029
00030
00031 namespace gnash {
00032 class movie_definition;
00033 class SWFStream;
00034 class RunResources;
00035 class MorphShape;
00036 class Renderer;
00037 }
00038
00039 namespace gnash {
00040 namespace SWF {
00041
00043
00044 class DefineMorphShapeTag : public DefinitionTag
00045 {
00046 public:
00047
00048 static void loader(SWFStream& in, TagType tag, movie_definition& m,
00049 const RunResources& r);
00050
00051 virtual ~DefineMorphShapeTag() {}
00052
00053 virtual DisplayObject* createDisplayObject(Global_as& gl,
00054 DisplayObject* parent) const;
00055
00056 virtual void display(Renderer& renderer, const MorphShape& inst) const;
00057
00058 const ShapeRecord& shape1() const {
00059 return _shape1;
00060 }
00061
00062 const ShapeRecord& shape2() const {
00063 return _shape2;
00064 }
00065
00066 private:
00067
00068 DefineMorphShapeTag(SWFStream& in, SWF::TagType tag, movie_definition& md,
00069 const RunResources& r, boost::uint16_t id);
00070
00072
00088 void read(SWFStream& in, SWF::TagType tag, movie_definition& m,
00089 const RunResources& r);
00090
00091 ShapeRecord _shape1;
00092 ShapeRecord _shape2;
00093
00094 SWFRect _bounds;
00095
00096 };
00097
00098 }
00099 }
00100
00101
00102 #endif
00103
00104
00105
00106
00107
00108
00109