ResidualVM logo ResidualVM website - Forums - Contact us BuildBot - Doxygen - Wiki curved edge

Graphics::VectorRendererAA< PixelType > Class Template Reference

VectorRendererAA: Anti-Aliased Vector Renderer Class. More...

#include <VectorRendererSpec.h>

Inheritance diagram for Graphics::VectorRendererAA< PixelType >:
Collaboration diagram for Graphics::VectorRendererAA< PixelType >:

List of all members.

Public Member Functions

 VectorRendererAA (PixelFormat format)

Protected Member Functions

virtual void drawLineAlg (int x1, int y1, int x2, int y2, uint dx, uint dy, PixelType color)
 "Wu's Line Antialiasing Algorithm" as published by Xiaolin Wu, July 1991 Based on the implementation found in Michael Abrash's Graphics Programming Black Book.
virtual void drawCircleAlg (int x, int y, int r, PixelType color, VectorRenderer::FillMode fill_m)
 "Wu's Circle Antialiasing Algorithm" as published by Xiaolin Wu, July 1991 Based on the theoretical concept of the algorithm.
virtual void drawRoundedSquareAlg (int x1, int y1, int r, int w, int h, PixelType color, VectorRenderer::FillMode fill_m)
 "Wu's Circle Antialiasing Algorithm" as published by Xiaolin Wu, July 1991, modified with corner displacement to allow drawing of squares with rounded corners.
virtual void drawBorderRoundedSquareAlg (int x1, int y1, int r, int w, int h, PixelType color, VectorRenderer::FillMode fill_m, uint8 alpha_t, uint8 alpha_l, uint8 alpha_r, uint8 alpha_b)
 ROUNDED SQUARES.
virtual void drawInteriorRoundedSquareAlg (int x1, int y1, int r, int w, int h, PixelType color, VectorRenderer::FillMode fill_m)
virtual void drawRoundedSquareShadow (int x, int y, int r, int w, int h, int offset)
virtual void drawTabAlg (int x, int y, int w, int h, int r, PixelType color, VectorRenderer::FillMode fill_m, int baseLeft=0, int baseRight=0)
 TAB ALGORITHM.

Private Types

typedef VectorRendererSpec
< PixelType > 
Base

Detailed Description

template<typename PixelType>
class Graphics::VectorRendererAA< PixelType >

VectorRendererAA: Anti-Aliased Vector Renderer Class.

This templated class inherits all the functionality of the VectorRendererSpec class but uses better looking yet slightly slower AA algorithms for drawing most primitives. May be used in faster platforms.

TODO: Expand documentation.

See also:
VectorRenderer
VectorRendererSpec

Definition at line 344 of file VectorRendererSpec.h.


Member Typedef Documentation

template<typename PixelType >
typedef VectorRendererSpec<PixelType> Graphics::VectorRendererAA< PixelType >::Base [private]

Reimplemented from Graphics::VectorRendererSpec< PixelType >.

Definition at line 345 of file VectorRendererSpec.h.


Constructor & Destructor Documentation

template<typename PixelType >
Graphics::VectorRendererAA< PixelType >::VectorRendererAA ( PixelFormat  format  )  [inline]

Definition at line 347 of file VectorRendererSpec.h.


Member Function Documentation

template<typename PixelType >
void Graphics::VectorRendererAA< PixelType >::drawBorderRoundedSquareAlg ( int  x1,
int  y1,
int  r,
int  w,
int  h,
PixelType  color,
VectorRenderer::FillMode  fill_m,
uint8  alpha_t,
uint8  alpha_l,
uint8  alpha_r,
uint8  alpha_b 
) [protected, virtual]

ROUNDED SQUARES.

Reimplemented from Graphics::VectorRendererSpec< PixelType >.

Definition at line 3940 of file VectorRendererSpec.cpp.

template<typename PixelType >
void Graphics::VectorRendererAA< PixelType >::drawCircleAlg ( int  x,
int  y,
int  r,
PixelType  color,
VectorRenderer::FillMode  fill_m 
) [protected, virtual]

"Wu's Circle Antialiasing Algorithm" as published by Xiaolin Wu, July 1991 Based on the theoretical concept of the algorithm.

CIRCLES.

Implementation of Wu's algorithm for circles using fixed point arithmetics. Could be quite fast.

See also:
VectorRenderer::drawCircleAlg()

Reimplemented from Graphics::VectorRendererSpec< PixelType >.

Definition at line 4161 of file VectorRendererSpec.cpp.

template<typename PixelType >
void Graphics::VectorRendererAA< PixelType >::drawInteriorRoundedSquareAlg ( int  x1,
int  y1,
int  r,
int  w,
int  h,
PixelType  color,
VectorRenderer::FillMode  fill_m 
) [protected, virtual]

Reimplemented from Graphics::VectorRendererSpec< PixelType >.

Definition at line 4024 of file VectorRendererSpec.cpp.

template<typename PixelType >
void Graphics::VectorRendererAA< PixelType >::drawLineAlg ( int  x1,
int  y1,
int  x2,
int  y2,
uint  dx,
uint  dy,
PixelType  color 
) [protected, virtual]

"Wu's Line Antialiasing Algorithm" as published by Xiaolin Wu, July 1991 Based on the implementation found in Michael Abrash's Graphics Programming Black Book.

LINES.

Generic line drawing algorithm for the Antialiased renderer. Optimized with no floating point operations, assumes no special cases.

See also:
VectorRenderer::drawLineAlg()

Reimplemented from Graphics::VectorRendererSpec< PixelType >.

Definition at line 3760 of file VectorRendererSpec.cpp.

template<typename PixelType >
void Graphics::VectorRendererAA< PixelType >::drawRoundedSquareAlg ( int  x1,
int  y1,
int  r,
int  w,
int  h,
PixelType  color,
VectorRenderer::FillMode  fill_m 
) [protected, virtual]

"Wu's Circle Antialiasing Algorithm" as published by Xiaolin Wu, July 1991, modified with corner displacement to allow drawing of squares with rounded corners.

See also:
VectorRenderer::drawRoundedAlg()

Reimplemented from Graphics::VectorRendererSpec< PixelType >.

Definition at line 4129 of file VectorRendererSpec.cpp.

template<typename PixelType >
virtual void Graphics::VectorRendererAA< PixelType >::drawRoundedSquareShadow ( int  x,
int  y,
int  r,
int  w,
int  h,
int  offset 
) [inline, protected, virtual]

Reimplemented from Graphics::VectorRendererSpec< PixelType >.

Definition at line 386 of file VectorRendererSpec.h.

template<typename PixelType >
void Graphics::VectorRendererAA< PixelType >::drawTabAlg ( int  x,
int  y,
int  w,
int  h,
int  r,
PixelType  color,
VectorRenderer::FillMode  fill_m,
int  baseLeft = 0,
int  baseRight = 0 
) [protected, virtual]

TAB ALGORITHM.

Reimplemented from Graphics::VectorRendererSpec< PixelType >.

Definition at line 3811 of file VectorRendererSpec.cpp.


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


Generated on Sat May 25 2019 05:05:26 for ResidualVM by doxygen 1.7.1
curved edge   curved edge