Gnash  0.8.11dev
Public Types | Public Member Functions | List of all members
gnash::SWF::ControlTag Class Reference

Control tags are swf tags that control the operation of the movie. More...

#include <ControlTag.h>

Inheritance diagram for gnash::SWF::ControlTag:
gnash::ref_counted gnash::SWF::DefineSceneAndFrameLabelDataTag gnash::SWF::DefinitionTag gnash::SWF::DisplayListTag gnash::SWF::DoABCTag gnash::SWF::DoActionTag gnash::SWF::DoInitActionTag gnash::SWF::ExportAssetsTag gnash::SWF::ImportAssetsTag gnash::SWF::ScriptLimitsTag gnash::SWF::SetBackgroundColorTag gnash::SWF::StartSoundTag gnash::SWF::StreamSoundBlockTag gnash::SWF::SymbolClassTag

Public Types

enum  Type { TAG_ACTION = 1 << 0, TAG_DLIST = 1 << 1 }
 Type of ControlTag. More...
 

Public Member Functions

virtual ~ControlTag ()
 
virtual void executeActions (MovieClip *, DisplayList &) const
 Execute Action tags. More...
 
virtual void executeState (MovieClip *, DisplayList &) const
 Execute "state" or "DisplayList" tags. More...
 
- Public Member Functions inherited from gnash::ref_counted
 ref_counted ()
 
 ref_counted (const ref_counted &)
 
void add_ref () const
 
void drop_ref () const
 
long get_ref_count () const
 

Additional Inherited Members

- Protected Member Functions inherited from gnash::ref_counted
virtual ~ref_counted ()
 

Detailed Description

Control tags are swf tags that control the operation of the movie.

These are the events associated with a frame.

TODO: check whether this needs to be ref_counted. They are generally owned by a sprite_definition or a SWFMovieDefinition. TODO: rename this class so it's not the same as the SWF spec. It doesn't exactly correspond to the ControlTag defined there.

Member Enumeration Documentation

§ Type

Type of ControlTag.

Enumerator
TAG_ACTION 
TAG_DLIST 

Constructor & Destructor Documentation

§ ~ControlTag()

virtual gnash::SWF::ControlTag::~ControlTag ( )
inlinevirtual

Member Function Documentation

§ executeActions()

virtual void gnash::SWF::ControlTag::executeActions ( MovieClip ,
DisplayList  
) const
inlinevirtual

Execute Action tags.

Not all tags that have ActionScript code are considered Action tags.

Reimplemented in gnash::SWF::StartSoundTag, gnash::SWF::StreamSoundBlockTag, gnash::SWF::DoActionTag, gnash::SWF::DoABCTag, and gnash::SWF::SymbolClassTag.

§ executeState()

virtual void gnash::SWF::ControlTag::executeState ( MovieClip ,
DisplayList  
) const
inlinevirtual

Execute "state" or "DisplayList" tags.

State tags exist to control the state of MovieClips along the timeline. They are executed even for skipped frames so that the state is consistent at each frame. Some tags are considered state tags even though they only contain ActionScript, e.g. the DoInitAction tag.

Reimplemented in gnash::SWF::PlaceObject2Tag, gnash::SWF::SetBackgroundColorTag, gnash::SWF::DefinitionTag, gnash::SWF::ImportAssetsTag, gnash::SWF::DoInitActionTag, gnash::SWF::RemoveObjectTag, gnash::SWF::ExportAssetsTag, gnash::SWF::DisplayListTag, gnash::SWF::DefineSceneAndFrameLabelDataTag, and gnash::SWF::ScriptLimitsTag.


The documentation for this class was generated from the following file: