SWF Movies

SWF Movies definitions are created by reading an SWF stream. Gnash doesn't play SWF Movie definitions, but instances. So you can play the same SWF file (Movie definiton) using multiple instances.

A Movie definition is defined by the gnash::movie_definition class. A Movie instance is defined by the gnash::Movie class.

A Movie instance exposes the ActionScript Object base interface (gnash::as_object), thus it can manage gnash::as_value members.

The implementation of SWF parsing for a Movie definition is found in gnash::SWFMovieDefinition::read.

Note that movie_definition is also used as a base class for gnash::sprite_definition, which is a sub-movie defined in an SWF file. This seems to be the only reason to have a SWFMovieDefinition class, being the top-level definition of a movie (the one with a CharacterDictionary in it).

Also note that gnash::Movie is a subclass of gnash::MovieClip, being the instance of a gnash::sprite_definition.