Public Member Functions

gnash::PathParser Class Reference

#include <PathParser.h>

Inherited by gnash::CairoPathRunner.

Collaboration diagram for gnash::PathParser:
Collaboration graph

List of all members.

Public Member Functions

 PathParser (const std::vector< Path > &paths, size_t num_styles)
virtual ~PathParser ()
void run (const SWFCxForm &cx, const SWFMatrix &mat)
virtual void prepareFill (int fill_style, const SWFCxForm &cx)=0
virtual void terminateFill (int fill_style)=0
virtual void fillShape ()
virtual void moveTo (const point &p)=0
virtual void curveTo (const Edge &curve)=0
 Draw the given curve using the path pencil.
virtual void lineTo (const point &p)=0
 Draw a straight line to the given point.

Detailed Description

PathParser is a class which aims to efficiently transpose Flash paths into well formed, single-filled shapes. A renderer should utilize this class by subclassing PathParser. The methods reimplemented will receive low level path information (e.g., moveTo).

Constructor & Destructor Documentation

gnash::PathParser::PathParser ( const std::vector< Path > &  paths,
size_t  num_styles 
paths list of Flash paths to be 'parsed'.
num_styles count of fill styles pointed to by the first argument.

References gnash::UnivocalPath::_fill_type, gnash::UnivocalPath::_path, gnash::Path::ap, gnash::UnivocalPath::FILL_LEFT, and gnash::Path::m_edges.

virtual gnash::PathParser::~PathParser (  )  [inline, virtual]

Member Function Documentation

virtual void gnash::PathParser::curveTo ( const Edge curve  )  [pure virtual]

Draw the given curve using the path pencil.

virtual void gnash::PathParser::fillShape (  )  [inline, virtual]

Fill a single shape. Implementation is optional, because most renderers can handle multiple well-formed, singly-filled shapes and can do the render/fill stage during terminateFill(). However, those that can't may implement this method.

virtual void gnash::PathParser::lineTo ( const point p  )  [pure virtual]

Draw a straight line to the given point.

virtual void gnash::PathParser::moveTo ( const point p  )  [pure virtual]

Move the path pencil to the given location. Thus a new shape should be started. The parser may invoke this method several times for a single fill style, creating several shapes.

virtual void gnash::PathParser::prepareFill ( int  fill_style,
const SWFCxForm cx 
) [pure virtual]

Prepare the fill style for subsequent use for filling one or more shapes.

fill_style fill style number, as indicated by class Path.
void gnash::PathParser::run ( const SWFCxForm cx,
const SWFMatrix mat 

Runs the path parser, invoking the pure virtual methods where appropriate.

cx the color transform that will be passed to prepareFill.
mat the SWFMatrix that will be passed to prepareFill.
virtual void gnash::PathParser::terminateFill ( int  fill_style  )  [pure virtual]

Terminates the fill style, that is, precludes the fill style from further use, which may be freed or otherwise cleaned up. Most renderers should fill the paths previously parsed.

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