PolygonVersionE Class Reference

Version E of the polygon filler. Similar to D, but has unrolled loops. More...

#include <PolygonVersionE.h>

Inheritance diagram for PolygonVersionE:

PolygonFiller Renderer List of all members.

Public Member Functions

 PolygonVersionE ()
 Constructor.
bool init (unsigned int aWidth, unsigned int aHeight)
 Initializer.
virtual ~PolygonVersionE ()
 Virtual destructor.
virtual void renderEvenOdd (BitmapData *aTarget, const Polygon *aPolygon, unsigned long aColor, const MATRIX2D &aTransformation)
 Renders the polygon with even-odd fill.
virtual void renderNonZeroWinding (BitmapData *aTarget, const Polygon *aPolygon, unsigned long aColor, const MATRIX2D &aTransformation)
 Renders the polygon with non-zero winding fill.
virtual void setClipRect (unsigned int aX, unsigned int aY, unsigned int aWidth, unsigned int aHeight)
 Sets the clip rectangle for the polygon filler.

Protected Member Functions

bool isSupported (BitmapData::BitmapFormat aFormat)
 Checks if a surface format is supported.
void addEvenOddEdge (const PolygonEdge &aEdge)
 Adds an edge to be used with even-odd fill.
void fillEvenOdd (BitmapData *aTarget, unsigned long aColor)
 Renders the mask to the canvas with even-odd fill.
void addNonZeroEdge (const PolygonEdge &aEdge)
 Adds an edge to be used with non-zero winding fill.
void fillNonZero (BitmapData *aTarget, unsigned long aColor, const ClipRectangle &aClipRect)
 Renders the mask to the canvas with non-zero winding fill.
void resetExtents ()
 Resets the fill extents.

Protected Attributes

SUBPIXEL_DATA * mMaskBuffer
NonZeroMaskmWindingBuffer
SpanExtentsmEdgeExtents
SpanExtents mVerticalExtents
unsigned int mWidth
unsigned int mBufferWidth
unsigned int mHeight
ClipRectangle mClipRect
MATRIX2D mRemappingMatrix

Detailed Description

Version E of the polygon filler. Similar to D, but has unrolled loops.


Constructor & Destructor Documentation

PolygonVersionE::PolygonVersionE  ) 
 

Constructor.

PolygonVersionE::~PolygonVersionE  )  [virtual]
 

Virtual destructor.


Member Function Documentation

void PolygonVersionE::addEvenOddEdge const PolygonEdge aEdge  )  [protected]
 

Adds an edge to be used with even-odd fill.

void PolygonVersionE::addNonZeroEdge const PolygonEdge aEdge  )  [protected]
 

Adds an edge to be used with non-zero winding fill.

void PolygonVersionE::fillEvenOdd BitmapData aTarget,
unsigned long  aColor
[protected]
 

Renders the mask to the canvas with even-odd fill.

void PolygonVersionE::fillNonZero BitmapData aTarget,
unsigned long  aColor,
const ClipRectangle aClipRect
[protected]
 

Renders the mask to the canvas with non-zero winding fill.

bool PolygonVersionE::init unsigned int  aWidth,
unsigned int  aHeight
 

Initializer.

aWidth and aHeight define the maximum output size for the filler. The filler will output to larger bitmaps as well, but the output will be cropped.

bool PolygonVersionE::isSupported BitmapData::BitmapFormat  aFormat  )  [protected]
 

Checks if a surface format is supported.

void PolygonVersionE::renderEvenOdd BitmapData aTarget,
const Polygon aPolygon,
unsigned long  aColor,
const MATRIX2D &  aTransformation
[virtual]
 

Renders the polygon with even-odd fill.

Parameters:
aTarget the target bitmap.
aPolygon the polygon to render.
aColor the color to be used for rendering.
aTransformation the transformation matrix.

Implements PolygonFiller.

void PolygonVersionE::renderNonZeroWinding BitmapData aTarget,
const Polygon aPolygon,
unsigned long  aColor,
const MATRIX2D &  aTransformation
[virtual]
 

Renders the polygon with non-zero winding fill.

Parameters:
aTarget the target bitmap.
aPolygon the polygon to render.
aColor the color to be used for rendering.
aTransformation the transformation matrix.

Implements PolygonFiller.

void PolygonVersionE::resetExtents  )  [protected]
 

Resets the fill extents.

void PolygonVersionE::setClipRect unsigned int  aX,
unsigned int  aY,
unsigned int  aWidth,
unsigned int  aHeight
[virtual]
 

Sets the clip rectangle for the polygon filler.

Implements PolygonFiller.


Member Data Documentation

unsigned int PolygonVersionE::mBufferWidth [protected]
 

ClipRectangle PolygonVersionE::mClipRect [protected]
 

SpanExtents* PolygonVersionE::mEdgeExtents [protected]
 

unsigned int PolygonVersionE::mHeight [protected]
 

SUBPIXEL_DATA* PolygonVersionE::mMaskBuffer [protected]
 

MATRIX2D PolygonVersionE::mRemappingMatrix [protected]
 

SpanExtents PolygonVersionE::mVerticalExtents [protected]
 

unsigned int PolygonVersionE::mWidth [protected]
 

NonZeroMask* PolygonVersionE::mWindingBuffer [protected]
 


The documentation for this class was generated from the following files:
Generated on Fri Aug 3 00:44:40 2007 for Scanline edge-flag algorithm for antialiasing by  doxygen 1.4.6-NO