Gnash  0.8.10
Public Member Functions
gnash::PathParser Class Reference

#include <PathParser.h>

Inherited by gnash::CairoPathRunner.

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 
)
Parameters:
pathslist of Flash paths to be 'parsed'.
num_stylescount of fill styles pointed to by the first argument.
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.

Parameters:
fill_stylefill 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.

Parameters:
cxthe color transform that will be passed to prepareFill.
matthe SWFMatrix that will be passed to prepareFill.

References gnash::key::i, gnash::UnivocalPath::FILL_LEFT, gnash::UnivocalPath::FILL_RIGHT, and _.

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: