Sourceforge.net - The VCF's Project Host
   The VCF Website Home   |   Online Discussion Forums   |   Sourceforge.net Project Page   

VCF::GradientFill Class Reference

This is the base class for gradient fills. More...

#include <GradientFills.h>

Inheritance diagram for VCF::GradientFill:

VCF::Object VCF::Fill VCF::Interface VCF::ConicGradientFill VCF::HorizontalGradientFill VCF::RadialGradientFill VCF::VerticalGradientFill List of all members.

Public Member Functions

 GradientFill ()
virtual ~GradientFill ()
virtual void setContext (GraphicsContext *context)
 sets the context for the fill.
virtual void render (Path *path)
 renders the fill using the current path.
void setAlpha (const double &val)
double getAlpha () const
GradientColoraddColor (const Color &color, double location, double midPoint=0.5)
void setColor (const size_t &index, const GradientColor &val)
void setColorValue (const size_t &index, const Color &val)
void setColorLocation (const size_t &index, const double &val)
GradientColor getColor (const size_t index) const
Color getColorValue (const size_t index) const
double getColorLocation (const size_t index) const
size_t getColorCount () const
void setMidPoint (const size_t &index, double val)
double getMidPoint (const size_t &index) const
size_t getMidPointCount () const
void sortColors ()
void setGradientMatrix (const Matrix2D &val)
Matrix2D getGradientMatrix () const
Matrix2DgetGradientMatrix ()
void setMaxColorProfileSize (const size_t &val)
size_t getMaxColorProfileSize () const
void resetColors ()

Protected Types

typedef agg::span_interpolator_linear InterpolatorType
typedef color_type ColorT
typedef std::vector< ColorTColorProfileVector
typedef component_order OrderT
typedef agg::renderer_base<
pixfmt > 
RendererBase

Protected Member Functions

virtual void renderGradient (agg::rendering_buffer &renderingBuffer, agg::rasterizer_scanline_aa<> &rasterizer)=0
void initColors ()
void buildColorProfile ()

Protected Attributes

double alpha_
GraphicsContextcontext_
std::vector< GradientColorcolors_
std::vector< double > midPoints_
ColorProfileVector colorProfile_
size_t maxColorProfileSize_
Matrix2D gradientMatrix_

Classes

class  ColorSorter
struct  GradientColor

Detailed Description

This is the base class for gradient fills.

Gradient fills use the AGG gradient span generators to render the gradient.

The main class function is to produce a color profile, that is then used by the agg gradient functions to determine what color to use at any given pixel.

The interface for the class functions identically to that of the Photoshop Gradient Editor. You have a series of 2 or more colors and a series of 1 or more "mid points" where the number of mid points is equal to 1 less than the number of colors. Each color is associated with a location value that indicates it's position within the range of 0.0 to 1.0. Location values need to be unique per color and the list of colors is sorted by it's location. Each mid point has a value ranging 0.0 to 1.0. Mid point values do not need to be unique.


Member Typedef Documentation

typedef std::vector<ColorT> VCF::GradientFill::ColorProfileVector [protected]
 

typedef color_type VCF::GradientFill::ColorT [protected]
 

typedef agg::span_interpolator_linear VCF::GradientFill::InterpolatorType [protected]
 

typedef component_order VCF::GradientFill::OrderT [protected]
 

typedef agg::renderer_base<pixfmt> VCF::GradientFill::RendererBase [protected]
 


Constructor & Destructor Documentation

VCF::GradientFill::GradientFill  )  [inline]
 

virtual VCF::GradientFill::~GradientFill  )  [inline, virtual]
 


Member Function Documentation

GradientColor& VCF::GradientFill::addColor const Color color,
double  location,
double  midPoint = 0.5
[inline]
 

void VCF::GradientFill::buildColorProfile  )  [inline, protected]
 

double VCF::GradientFill::getAlpha  )  const [inline]
 

GradientColor VCF::GradientFill::getColor const size_t  index  )  const [inline]
 

size_t VCF::GradientFill::getColorCount  )  const [inline]
 

double VCF::GradientFill::getColorLocation const size_t  index  )  const [inline]
 

Color VCF::GradientFill::getColorValue const size_t  index  )  const [inline]
 

Matrix2D& VCF::GradientFill::getGradientMatrix  )  [inline]
 

Matrix2D VCF::GradientFill::getGradientMatrix  )  const [inline]
 

size_t VCF::GradientFill::getMaxColorProfileSize  )  const [inline]
 

double VCF::GradientFill::getMidPoint const size_t &  index  )  const [inline]
 

size_t VCF::GradientFill::getMidPointCount  )  const [inline]
 

void VCF::GradientFill::initColors  )  [inline, protected]
 

virtual void VCF::GradientFill::render Path path  )  [inline, virtual]
 

renders the fill using the current path.

The fill can retrieve the points for the path by calling either Path::getPoints() or Path::flattenPoints().

Implements VCF::Fill.

virtual void VCF::GradientFill::renderGradient agg::rendering_buffer &  renderingBuffer,
agg::rasterizer_scanline_aa<> &  rasterizer
[protected, pure virtual]
 

Implemented in VCF::RadialGradientFill, VCF::HorizontalGradientFill, VCF::VerticalGradientFill, and VCF::ConicGradientFill.

void VCF::GradientFill::resetColors  )  [inline]
 

void VCF::GradientFill::setAlpha const double &  val  )  [inline]
 

void VCF::GradientFill::setColor const size_t &  index,
const GradientColor val
[inline]
 

void VCF::GradientFill::setColorLocation const size_t &  index,
const double &  val
[inline]
 

void VCF::GradientFill::setColorValue const size_t &  index,
const Color val
[inline]
 

virtual void VCF::GradientFill::setContext GraphicsContext context  )  [inline, virtual]
 

sets the context for the fill.

The GraphicsContext will call this when the GraphicsContext::setCurrrentFill() method is called.

Implements VCF::Fill.

void VCF::GradientFill::setGradientMatrix const Matrix2D val  )  [inline]
 

void VCF::GradientFill::setMaxColorProfileSize const size_t &  val  )  [inline]
 

void VCF::GradientFill::setMidPoint const size_t &  index,
double  val
[inline]
 

void VCF::GradientFill::sortColors  )  [inline]
 


Member Data Documentation

double VCF::GradientFill::alpha_ [protected]
 

ColorProfileVector VCF::GradientFill::colorProfile_ [protected]
 

std::vector<GradientColor> VCF::GradientFill::colors_ [protected]
 

GraphicsContext* VCF::GradientFill::context_ [protected]
 

Matrix2D VCF::GradientFill::gradientMatrix_ [protected]
 

size_t VCF::GradientFill::maxColorProfileSize_ [protected]
 

std::vector<double> VCF::GradientFill::midPoints_ [protected]
 


The documentation for this class was generated from the following file:
   Comments or Suggestions?    License Information