bpp-core3  3.0.0
bpp::GraphicDevice Class Referenceabstract

Interface for all plotting devices. More...

#include <Bpp/Graphics/GraphicDevice.h>

+ Inheritance diagram for bpp::GraphicDevice:

Public Member Functions

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

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
 

Detailed Description

Interface for all plotting devices.

Implement this interface to support new formats.

Definition at line 26 of file GraphicDevice.h.

Constructor & Destructor Documentation

◆ GraphicDevice()

bpp::GraphicDevice::GraphicDevice ( )
inline

Definition at line 29 of file GraphicDevice.h.

◆ ~GraphicDevice()

virtual bpp::GraphicDevice::~GraphicDevice ( )
inlinevirtual

Definition at line 30 of file GraphicDevice.h.

Member Function Documentation

◆ begin()

virtual void bpp::GraphicDevice::begin ( )
pure virtual

Start the painting.

Implemented in bpp::XFigGraphicDevice, bpp::PgfGraphicDevice, and bpp::SvgGraphicDevice.

◆ comment()

virtual void bpp::GraphicDevice::comment ( const std::string &  comment)
pure virtual

Add a comment in the output.

Parameters
commentComment text.

Implemented in bpp::XFigGraphicDevice, bpp::PgfGraphicDevice, and bpp::SvgGraphicDevice.

◆ drawCircle()

virtual void bpp::GraphicDevice::drawCircle ( double  x,
double  y,
double  radius,
short  fill = FILL_EMPTY 
)
pure 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).

Implemented in bpp::XFigGraphicDevice, bpp::PgfGraphicDevice, and bpp::SvgGraphicDevice.

◆ drawLine()

virtual void bpp::GraphicDevice::drawLine ( double  x1,
double  y1,
double  x2,
double  y2 
)
pure 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

Implemented in bpp::XFigGraphicDevice, bpp::PgfGraphicDevice, and bpp::SvgGraphicDevice.

◆ drawRect()

virtual void bpp::GraphicDevice::drawRect ( double  x,
double  y,
double  width,
double  height,
short  fill = FILL_EMPTY 
)
pure 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).

Implemented in bpp::XFigGraphicDevice, bpp::PgfGraphicDevice, and bpp::SvgGraphicDevice.

◆ drawText()

virtual void bpp::GraphicDevice::drawText ( double  x,
double  y,
const std::string &  text,
short  hpos = TEXT_HORIZONTAL_LEFT,
short  vpos = TEXT_VERTICAL_BOTTOM,
double  angle = 0 
)
pure 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.

Implemented in bpp::XFigGraphicDevice, bpp::PgfGraphicDevice, and bpp::SvgGraphicDevice.

◆ end()

virtual void bpp::GraphicDevice::end ( )
pure 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.

Implemented in bpp::XFigGraphicDevice, bpp::PgfGraphicDevice, and bpp::SvgGraphicDevice.

◆ getCurrentBackgroundColor()

virtual const RGBColor& bpp::GraphicDevice::getCurrentBackgroundColor ( ) const
pure virtual

Implemented in bpp::AbstractGraphicDevice.

◆ getCurrentFont()

virtual const Font& bpp::GraphicDevice::getCurrentFont ( ) const
pure virtual

Implemented in bpp::AbstractGraphicDevice.

◆ getCurrentForegroundColor()

virtual const RGBColor& bpp::GraphicDevice::getCurrentForegroundColor ( ) const
pure virtual

Implemented in bpp::AbstractGraphicDevice.

◆ getCurrentLayer()

virtual int bpp::GraphicDevice::getCurrentLayer ( ) const
pure virtual

Implemented in bpp::AbstractGraphicDevice.

◆ getCurrentLineType()

virtual short bpp::GraphicDevice::getCurrentLineType ( ) const
pure virtual

Implemented in bpp::AbstractGraphicDevice.

◆ getCurrentPointSize()

virtual unsigned int bpp::GraphicDevice::getCurrentPointSize ( ) const
pure virtual

Implemented in bpp::AbstractGraphicDevice.

◆ getXUnit()

virtual double bpp::GraphicDevice::getXUnit ( ) const
pure virtual
Returns
The x expansion factor. The actual unit actually depends on the implementation.

Implemented in bpp::AbstractGraphicDevice.

◆ getYUnit()

virtual double bpp::GraphicDevice::getYUnit ( ) const
pure virtual
Returns
The y expansion factor. The actual unit actually depends on the implementation.

Implemented in bpp::AbstractGraphicDevice.

◆ setCurrentBackgroundColor()

virtual void bpp::GraphicDevice::setCurrentBackgroundColor ( const RGBColor color)
pure virtual

◆ setCurrentFont()

virtual void bpp::GraphicDevice::setCurrentFont ( const Font font)
pure virtual

◆ setCurrentForegroundColor()

virtual void bpp::GraphicDevice::setCurrentForegroundColor ( const RGBColor color)
pure virtual

◆ setCurrentLayer()

virtual void bpp::GraphicDevice::setCurrentLayer ( int  layerIndex)
pure virtual

◆ setCurrentLineType()

virtual void bpp::GraphicDevice::setCurrentLineType ( short  type)
pure virtual

◆ setCurrentPointSize()

virtual void bpp::GraphicDevice::setCurrentPointSize ( unsigned int  size)
pure virtual

◆ setXUnit()

virtual void bpp::GraphicDevice::setXUnit ( double  xu)
pure virtual
Parameters
xuThe x expansion factor. The actual unit actually depends on the implementation.

Implemented in bpp::AbstractGraphicDevice.

◆ setYUnit()

virtual void bpp::GraphicDevice::setYUnit ( double  yu)
pure virtual
Parameters
yuThe y expansion factor. The actual unit actually depends on the implementation.

Implemented in bpp::AbstractGraphicDevice.

Member Data Documentation

◆ FILL_EMPTY

short GraphicDevice::FILL_EMPTY = 10
static

◆ FILL_FILLED

short GraphicDevice::FILL_FILLED = 11
static

◆ FILL_PATTERN

short GraphicDevice::FILL_PATTERN = 12
static

Definition at line 152 of file GraphicDevice.h.

◆ LINE_DASHED

◆ LINE_DOTTED

◆ LINE_SOLID

◆ TEXT_HORIZONTAL_CENTER

short GraphicDevice::TEXT_HORIZONTAL_CENTER = 0
static

Definition at line 143 of file GraphicDevice.h.

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

◆ TEXT_HORIZONTAL_LEFT

◆ TEXT_HORIZONTAL_RIGHT

short GraphicDevice::TEXT_HORIZONTAL_RIGHT = 2
static

Definition at line 145 of file GraphicDevice.h.

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

◆ TEXT_VERTICAL_BOTTOM

◆ TEXT_VERTICAL_CENTER

short GraphicDevice::TEXT_VERTICAL_CENTER = 3
static

Definition at line 146 of file GraphicDevice.h.

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

◆ TEXT_VERTICAL_TOP

short GraphicDevice::TEXT_VERTICAL_TOP = 5
static

Definition at line 148 of file GraphicDevice.h.

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


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