bpp-core  2.1.0
bpp::SvgGraphicDevice Class Reference

SVG plotting format. More...

#include <Bpp/Graphics/Svg/SvgGraphicDevice.h>

+ Inheritance diagram for bpp::SvgGraphicDevice:
+ Collaboration diagram for bpp::SvgGraphicDevice:

List of all members.

Public Member Functions

 SvgGraphicDevice (std::ostream &out, bool inkscapeEnabled=false)
virtual ~SvgGraphicDevice ()
void begin ()
 Start the painting.
void end ()
 End the painting.
void drawLine (double x1, double y1, double x2, double y2)
 Draw a line between two points.
void drawRect (double x, double y, double width, double height, short fill=FILL_EMPTY)
 Draw a rectangle.
void drawCircle (double x, double y, double radius, short fill=FILL_EMPTY)
 Draw a circle.
void drawText (double x, double y, const std::string &text, short hpos=TEXT_HORIZONTAL_LEFT, short vpos=TEXT_VERTICAL_BOTTOM, double angle=0) throw (UnvalidFlagException)
 Draw some characters.
void comment (const std::string &text)
 Add a comment in the output.
void setXUnit (double xu)
void setYUnit (double yu)
double getXUnit () const
double getYUnit () const
void setCurrentForegroundColor (const RGBColor &color)
void setCurrentBackgroundColor (const RGBColor &color)
void setCurrentFont (const Font &font)
void setCurrentPointSize (unsigned int size)
void setCurrentLineType (short type) throw (Exception)
void setCurrentLayer (int layerIndex)
const RGBColorgetCurrentForegroundColor () const
const RGBColorgetCurrentBackgroundColor () const
const FontgetCurrentFont () const
unsigned int getCurrentPointSize () const
short getCurrentLineType () const
int getCurrentLayer () const

Static Public Member Functions

static std::string colorToText (const RGBColor &color)

Static Public Attributes

static short TEXT_HORIZONTAL_CENTER = 0
static short TEXT_HORIZONTAL_LEFT = 1
static short TEXT_HORIZONTAL_RIGHT = 2
static short TEXT_VERTICAL_CENTER = 3
static short TEXT_VERTICAL_BOTTOM = 4
static short TEXT_VERTICAL_TOP = 5
static short FILL_EMPTY = 10
static short FILL_FILLED = 11
static short FILL_PATTERN = 12
static short LINE_SOLID = 20
static short LINE_DASHED = 21
static short LINE_DOTTED = 22

Protected Member Functions

double x_ (double x) const
double y_ (double y) const
double revx_ (double x) const
double revy_ (double y) const

Private Attributes

std::ostream & out_
std::map< int, std::vector
< std::string >, std::greater
< int > > 
layers_
bool inkscapeEnabled_
double minx_
double maxx_
double miny_
double maxy_
std::map< short int, std::string > fontStyles_
std::map< short int, std::string > fontWeights_

Detailed Description

SVG plotting format.

Definition at line 55 of file SvgGraphicDevice.h.


Constructor & Destructor Documentation

bpp::SvgGraphicDevice::SvgGraphicDevice ( std::ostream &  out,
bool  inkscapeEnabled = false 
) [inline]
virtual bpp::SvgGraphicDevice::~SvgGraphicDevice ( ) [inline, virtual]

Definition at line 80 of file SvgGraphicDevice.h.


Member Function Documentation

void SvgGraphicDevice::begin ( ) [virtual]

Start the painting.

Implements bpp::GraphicDevice.

Definition at line 45 of file SvgGraphicDevice.cpp.

static std::string bpp::SvgGraphicDevice::colorToText ( const RGBColor color) [inline, static]

Definition at line 96 of file SvgGraphicDevice.h.

References bpp::TextTools::toString().

void bpp::SvgGraphicDevice::comment ( const std::string &  comment) [inline, virtual]

Add a comment in the output.

Parameters:
commentComment text.

Implements bpp::GraphicDevice.

Definition at line 90 of file SvgGraphicDevice.h.

References bpp::AbstractGraphicDevice::getCurrentLayer(), and layers_.

void SvgGraphicDevice::drawCircle ( double  x,
double  y,
double  radius,
short  fill = FILL_EMPTY 
) [virtual]

Draw a circle.

This method uses the current foreground color and the current line type for drawing the stroke of the circle, and the current background color for filling the circle.

Parameters:
xx coordinate of the center
yy coordinate of the center
radiusThe circle radius
fillFilling type (one of FILL_EMPTY, FILL_FILLED or FILL_PATTERN).

Implements bpp::GraphicDevice.

Definition at line 129 of file SvgGraphicDevice.cpp.

References bpp::TextTools::toString().

void SvgGraphicDevice::drawLine ( double  x1,
double  y1,
double  x2,
double  y2 
) [virtual]

Draw a line between two points.

This method uses the current foreground color and the current line type.

Parameters:
x1x coordinate 1
y1y coordinate 1
x2x coordinate 2
y2y coordinate 2

Implements bpp::GraphicDevice.

Definition at line 85 of file SvgGraphicDevice.cpp.

References bpp::TextTools::toString().

void SvgGraphicDevice::drawRect ( double  x,
double  y,
double  width,
double  height,
short  fill = FILL_EMPTY 
) [virtual]

Draw a rectangle.

This method uses the current foreground color and the current line type for drawing the stroke of the rectangle, and the current background color for filling the rectangle.

Parameters:
xx coordinate
yy coordinate
widthThe rectangle width
heightThe rectangle height
fillFilling type (one of FILL_EMPTY, FILL_FILLED or FILL_PATTERN).

Implements bpp::GraphicDevice.

Definition at line 109 of file SvgGraphicDevice.cpp.

References bpp::TextTools::toString().

void SvgGraphicDevice::drawText ( double  x,
double  y,
const std::string &  text,
short  hpos = TEXT_HORIZONTAL_LEFT,
short  vpos = TEXT_VERTICAL_BOTTOM,
double  angle = 0 
) throw (UnvalidFlagException) [virtual]

Draw some characters.

This method uses the current foreground color.

Parameters:
xx coordinate
yy coordinate
textThe characters to draw
hposHorizontal adjustment, one of TEXT_HORIZONTAL_LEFT, TEXT_HORIZONTAL_CENTER or TEXT_HORIZONTAL_RIGHT.
vposVertical adjustment, one of TEXT_VERTICAL_LEFT, TEXT_VERTICAL_CENTER or TEXT_VERTICAL_RIGHT.
angleAngle i radian to rotate the text.

Implements bpp::GraphicDevice.

Definition at line 144 of file SvgGraphicDevice.cpp.

References bpp::TextTools::toString().

void SvgGraphicDevice::end ( ) [virtual]

End the painting.

Depending on the implementation of the device, the call of this method might be required before the plotting commands become visible.

Implements bpp::GraphicDevice.

Definition at line 51 of file SvgGraphicDevice.cpp.

const RGBColor& bpp::AbstractGraphicDevice::getCurrentBackgroundColor ( ) const [inline, virtual, inherited]

Implements bpp::GraphicDevice.

Definition at line 93 of file AbstractGraphicDevice.h.

References bpp::AbstractGraphicDevice::bgColor_.

const Font& bpp::AbstractGraphicDevice::getCurrentFont ( ) const [inline, virtual, inherited]

Implements bpp::GraphicDevice.

Definition at line 94 of file AbstractGraphicDevice.h.

References bpp::AbstractGraphicDevice::font_.

const RGBColor& bpp::AbstractGraphicDevice::getCurrentForegroundColor ( ) const [inline, virtual, inherited]

Implements bpp::GraphicDevice.

Definition at line 92 of file AbstractGraphicDevice.h.

References bpp::AbstractGraphicDevice::fgColor_.

short bpp::AbstractGraphicDevice::getCurrentLineType ( ) const [inline, virtual, inherited]

Implements bpp::GraphicDevice.

Definition at line 96 of file AbstractGraphicDevice.h.

References bpp::AbstractGraphicDevice::lineType_.

unsigned int bpp::AbstractGraphicDevice::getCurrentPointSize ( ) const [inline, virtual, inherited]

Implements bpp::GraphicDevice.

Definition at line 95 of file AbstractGraphicDevice.h.

References bpp::AbstractGraphicDevice::pointSize_.

double bpp::AbstractGraphicDevice::getXUnit ( ) const [inline, virtual, inherited]
Returns:
The x expansion factor. The actual unit actually depends on the implementation.

Implements bpp::GraphicDevice.

Definition at line 76 of file AbstractGraphicDevice.h.

References bpp::AbstractGraphicDevice::xUnit_.

Referenced by bpp::PgfGraphicDevice::end().

double bpp::AbstractGraphicDevice::getYUnit ( ) const [inline, virtual, inherited]
Returns:
The y expansion factor. The actual unit actually depends on the implementation.

Implements bpp::GraphicDevice.

Definition at line 77 of file AbstractGraphicDevice.h.

References bpp::AbstractGraphicDevice::yUnit_.

Referenced by bpp::PgfGraphicDevice::end().

double bpp::AbstractGraphicDevice::revx_ ( double  x) const [inline, protected, inherited]

Definition at line 104 of file AbstractGraphicDevice.h.

References bpp::AbstractGraphicDevice::xUnit_.

double bpp::AbstractGraphicDevice::revy_ ( double  y) const [inline, protected, inherited]

Definition at line 105 of file AbstractGraphicDevice.h.

References bpp::AbstractGraphicDevice::yUnit_.

void bpp::AbstractGraphicDevice::setCurrentFont ( const Font font) [inline, virtual, inherited]
void bpp::AbstractGraphicDevice::setCurrentLayer ( int  layerIndex) [inline, virtual, inherited]
void bpp::AbstractGraphicDevice::setCurrentPointSize ( unsigned int  size) [inline, virtual, inherited]

Implements bpp::GraphicDevice.

Reimplemented in bpp::PgfGraphicDevice.

Definition at line 82 of file AbstractGraphicDevice.h.

References bpp::AbstractGraphicDevice::pointSize_.

void bpp::AbstractGraphicDevice::setXUnit ( double  xu) [inline, virtual, inherited]
Parameters:
xuThe x expansion factor. The actual unit actually depends on the implementation.

Implements bpp::GraphicDevice.

Definition at line 74 of file AbstractGraphicDevice.h.

References bpp::AbstractGraphicDevice::xUnit_.

Referenced by bpp::PgfGraphicDevice::PgfGraphicDevice().

void bpp::AbstractGraphicDevice::setYUnit ( double  yu) [inline, virtual, inherited]
Parameters:
yuThe y expansion factor. The actual unit actually depends on the implementation.

Implements bpp::GraphicDevice.

Definition at line 75 of file AbstractGraphicDevice.h.

References bpp::AbstractGraphicDevice::yUnit_.

Referenced by bpp::PgfGraphicDevice::PgfGraphicDevice().

double bpp::AbstractGraphicDevice::x_ ( double  x) const [inline, protected, inherited]
double bpp::AbstractGraphicDevice::y_ ( double  y) const [inline, protected, inherited]

Definition at line 102 of file AbstractGraphicDevice.h.

References bpp::AbstractGraphicDevice::yUnit_.


Member Data Documentation

short GraphicDevice::FILL_EMPTY = 10 [static, inherited]

Definition at line 186 of file GraphicDevice.h.

short GraphicDevice::FILL_FILLED = 11 [static, inherited]
short GraphicDevice::FILL_PATTERN = 12 [static, inherited]

Definition at line 188 of file GraphicDevice.h.

std::map<short int, std::string> bpp::SvgGraphicDevice::fontStyles_ [private]

Definition at line 63 of file SvgGraphicDevice.h.

Referenced by SvgGraphicDevice().

std::map<short int, std::string> bpp::SvgGraphicDevice::fontWeights_ [private]

Definition at line 64 of file SvgGraphicDevice.h.

Referenced by SvgGraphicDevice().

Definition at line 61 of file SvgGraphicDevice.h.

std::map<int, std::vector<std::string>, std::greater<int> > bpp::SvgGraphicDevice::layers_ [private]

Definition at line 60 of file SvgGraphicDevice.h.

Referenced by comment().

double bpp::SvgGraphicDevice::maxx_ [private]

Definition at line 62 of file SvgGraphicDevice.h.

double bpp::SvgGraphicDevice::maxy_ [private]

Definition at line 62 of file SvgGraphicDevice.h.

double bpp::SvgGraphicDevice::minx_ [private]

Definition at line 62 of file SvgGraphicDevice.h.

double bpp::SvgGraphicDevice::miny_ [private]

Definition at line 62 of file SvgGraphicDevice.h.

std::ostream& bpp::SvgGraphicDevice::out_ [private]

Definition at line 59 of file SvgGraphicDevice.h.

short GraphicDevice::TEXT_HORIZONTAL_CENTER = 0 [static, inherited]

Definition at line 179 of file GraphicDevice.h.

short GraphicDevice::TEXT_HORIZONTAL_LEFT = 1 [static, inherited]

Definition at line 180 of file GraphicDevice.h.

short GraphicDevice::TEXT_HORIZONTAL_RIGHT = 2 [static, inherited]

Definition at line 181 of file GraphicDevice.h.

short GraphicDevice::TEXT_VERTICAL_BOTTOM = 4 [static, inherited]

Definition at line 183 of file GraphicDevice.h.

short GraphicDevice::TEXT_VERTICAL_CENTER = 3 [static, inherited]

Definition at line 182 of file GraphicDevice.h.

short GraphicDevice::TEXT_VERTICAL_TOP = 5 [static, inherited]

Definition at line 184 of file GraphicDevice.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Friends