Gnash  0.8.11dev
DefinitionTag.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
3 // Free Software Foundation, Inc
4 //
5 // This program is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation; either version 3 of the License, or
8 // (at your option) any later version.
9 //
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
14 //
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software
17 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 
19 #ifndef GNASH_DEFINITION_TAG_H
20 #define GNASH_DEFINITION_TAG_H
21 
22 
23 #include <boost/noncopyable.hpp>
24 #include <boost/cstdint.hpp>
25 
26 #include "ControlTag.h"
27 #include "dsodefs.h" // for DSOTEXPORT
28 
29 // Forward declarations
30 
31 namespace gnash {
32  class DisplayObject;
33  class Global_as;
34  class SWFMatrix;
35  class SWFRect;
36  namespace SWF {
37  class TextRecord;
38  }
39 }
40 
41 namespace gnash {
42 namespace SWF {
43 
45 //
48 class DefinitionTag : public ControlTag
49 {
50 public:
51 
52  virtual ~DefinitionTag() {};
53 
55  //
58  //
61  //
66  DisplayObject* parent) const = 0;
67 
69  //
72  DSOTEXPORT virtual void executeState(MovieClip* m, DisplayList& /*dlist*/) const;
73 
75  //
77  boost::uint16_t id() const {
78  return _id;
79  }
80 
81 protected:
82 
83  DefinitionTag(boost::uint16_t id) : _id(id) {}
84 
85 private:
86 
87  const boost::uint16_t _id;
88 
89 };
90 
91 } // namespace SWF
92 } // namespace gnash
93 
94 #endif
95 
96 // Local Variables:
97 // mode: C++
98 // indent-tabs-mode: t
99 // End:
A MovieClip is a container for DisplayObjects.
Definition: MovieClip.h:83
DisplayObject is the base class for all DisplayList objects.
Definition: DisplayObject.h:168
virtual DisplayObject * createDisplayObject(Global_as &gl, DisplayObject *parent) const =0
Create a DisplayObject with the given parent.
boost::uint16_t id() const
The immutable id of the DefinitionTag.
Definition: DefinitionTag.h:77
Anonymous namespace for callbacks, local functions, event handlers etc.
Definition: dbus_ext.cpp:40
Immutable data representing the definition of a movie display element.
Definition: DefinitionTag.h:48
Control tags are swf tags that control the operation of the movie.
Definition: ControlTag.h:43
The Global object ultimately contains all objects in an ActionScript run.
Definition: Global_as.h:55
virtual ~DefinitionTag()
Definition: DefinitionTag.h:52
#define DSOTEXPORT
Definition: dsodefs.h:63
DefinitionTag(boost::uint16_t id)
Definition: DefinitionTag.h:83
Definition: GnashKey.h:159
virtual DSOTEXPORT void executeState(MovieClip *m, DisplayList &) const
Executing a DefinitionTag adds its id to list of known characters.
Definition: DefinitionTag.cpp:26
A list of on-stage DisplayObjects, ordered by depth.
Definition: DisplayList.h:64
Definition: GnashKey.h:331