C# Class SWFProcessing.Swiffotron.Swiffotron

Main entry point to the swiffotron's functionality. This is the main object you need to create to start building SWF files.

Show file Open project: WeeWorld/Swiffotron Class Usage Examples

Public Methods

Method Description
Interrogate ( ) : string>.Dictionary

Get some useful information for debug purposes letting us find out how things are set up. I should list them all here, really.

LoadSwiffotronXML_accesor ( Stream swiffotronXml ) : void
Process ( Stream xml, byte[]>.Dictionary commitStore = null, StringBuilder writeLog = null, StringBuilder abcWriteLog = null, IABCLoadInterceptor abcInterceptor = null, ISwiffotronReadLogHandler readLogHandler = null ) : void

Process a job XML file.

Swiffotron ( ) : System

Initializes a new instance of the Swiffotron class. It will be created with default configuration options.

Swiffotron ( Stream configStream ) : System

Initializes a new instance of the Swiffotron class.

Private Methods

Method Description
AddDependencies ( DependencyList deps ) : void

Takes a node, works out its dependencies and adds them to the toBeProcessed list.

CreateInstance ( XPathNavigator insTag, XPathNavigator currentSwfTag, SWF swf ) : void

Process an instantiation tag in the job XML

CreateInstanceFromSWF ( XPathNavigator insTag, SWF swf, string className, SWF importSwf ) : void

Creates an instance from a referenced SWF.

CreateInstanceIn ( string qname, SWF swf, XPathNavigator transform, Sprite charToInstantiate, string qClassName ) : void

Creates an instance within another instance's clip, e.g. creating "mc1.mc2.mc3" will create mc3 within mc2, where mc1.mc2 is mc2's qname.

CreateMovieClip ( XPathNavigator movieClipTag, XPathNavigator currentSwfTag, SWF swf ) : void

Create a MovieClip that can later be referenced by SWFs and instantiated.

GenerateSWFs ( StringBuilder writeLog, StringBuilder abcWriteLog ) : void

Once the processing list has been established, we can run over the list and process each one in turn.

IsInDependenciesMap ( XPathNavigator node ) : bool

Checks an XPathNavigator object to see if it's already in the dependency map. Contains won't work with XPathNavigator objects that point to the same node, you see.

ModifyInstance ( XPathNavigator modify, SWF swf ) : void

Executes a modify tag on a SWF

ProcessSWF ( XPathNavigator swfTag, string baseSwf, int width, int height, Color bgcolor, string cachekey, StringBuilder writeLog, StringBuilder abcWriteLog ) : void

Process a SWF tag in the job XML

ProcessSWFOutput ( XPathNavigator swfNav, SWF swf, StringBuilder writeLog, StringBuilder abcWriteLog ) : void

Serialize a SWF to a store path

QNameToTimeline ( string qname, SWF swf, string &uname ) : Timeline

Finds a timeline from a qualified instance name.

RemoveInstance ( XPathNavigator nav, SWF swf ) : void

Processes a remove instance tag

SaveToStore ( string key, byte data ) : void
SwfFromStore ( string path ) : SWF

Load a SWF from a store path.

TextReplace ( XPathNavigator nav, SWF swf ) : void

Processes a text replacement tag

Method Details

Interrogate() public method

Get some useful information for debug purposes letting us find out how things are set up. I should list them all here, really.
public Interrogate ( ) : string>.Dictionary
return string>.Dictionary

LoadSwiffotronXML_accesor() public method

public LoadSwiffotronXML_accesor ( Stream swiffotronXml ) : void
swiffotronXml Stream
return void

Process() public method

Process a job XML file.
public Process ( Stream xml, byte[]>.Dictionary commitStore = null, StringBuilder writeLog = null, StringBuilder abcWriteLog = null, IABCLoadInterceptor abcInterceptor = null, ISwiffotronReadLogHandler readLogHandler = null ) : void
xml Stream An open stream to the XML data.
commitStore byte[]>.Dictionary If not null, this will hold all store commits made /// by this job.
writeLog StringBuilder Ignored in release builds. This will accumulate a /// log of write operations into the output SWF file(s).
abcWriteLog StringBuilder A log of write events to ABC data within the /// output SWF files.
abcInterceptor IABCLoadInterceptor Ignored in release builds. This will be called /// when an ABC file is loaded as an opportunity to dump the data to file /// for inspection.
readLogHandler ISwiffotronReadLogHandler Ignored in release builds. Whenever /// the Swiffotron reads a SWF file, this is called so that it can dump read /// operations to a log.
return void

Swiffotron() public method

Initializes a new instance of the Swiffotron class. It will be created with default configuration options.
public Swiffotron ( ) : System
return System

Swiffotron() public method

Initializes a new instance of the Swiffotron class.
public Swiffotron ( Stream configStream ) : System
configStream Stream An open stream to the config XML data, or null to /// use default configuration.
return System