Open Babel  3.0
Public Member Functions | List of all members
CairoPainter Class Reference

#include <cairopainter.h>

Inheritance diagram for CairoPainter:
OBPainter

Public Member Functions

 CairoPainter ()
 
 ~CairoPainter ()
 
OBPainter methods
void NewCanvas (double width, double height)
 
bool IsGood () const
 
void SetFontFamily (const std::string &fontFamily)
 
void SetFontSize (int pointSize)
 
void SetFillColor (const OBColor &color)
 
void SetFillRadial (const OBColor &start, const OBColor &end)
 
void SetPenColor (const OBColor &color)
 
void SetPenWidth (double width)
 
double GetPenWidth ()
 
void DrawLine (double x1, double y1, double x2, double y2, const std::vector< double > &dashes=std::vector< double >())
 
void DrawPolygon (const std::vector< std::pair< double, double > > &points)
 
void DrawCircle (double x, double y, double r)
 
void DrawBall (double x, double y, double r, double opacity)
 
void DrawText (double x, double y, const std::string &text)
 
OBFontMetrics GetFontMetrics (const std::string &text)
 
CairoPainter specific
void WriteImage (const std::string &filename)
 
void WriteImage (std::ostream &ofs)
 
void SetWidth (int width)
 
void SetHeight (int height)
 
void SetTitle (std::string title)
 
void SetIndex (int index)
 
void SetTableSize (int nrows, int ncols)
 
void SetBackground (std::string color)
 
void SetBondColor (std::string color)
 
void SetTransparent (bool tr)
 
void SetCropping (bool cr)
 

Constructor & Destructor Documentation

◆ CairoPainter()

◆ ~CairoPainter()

Member Function Documentation

◆ NewCanvas()

void NewCanvas ( double  width,
double  height 
)
virtual

Create a new canvas to paint on with size width x height. OBDepict will always call NewCanvas before performing any drawing operations. Painters that are capable of drawing on a previously unspecified area don't need to implement this.

Implements OBPainter.

◆ IsGood()

bool IsGood ( ) const
virtual

Before OBDepict performes any drawing operation, this method is called to check if the painter is ready to start drawing. If this method returns false, drawing is aborted.

Implements OBPainter.

◆ SetFontFamily()

void SetFontFamily ( const std::string &  fontFamily)
inlinevirtual

Set the painter's font family.

Implements OBPainter.

◆ SetFontSize()

void SetFontSize ( int  pointSize)
virtual

Set the painter's font point size.

Implements OBPainter.

Referenced by CairoPainter::NewCanvas(), and CairoPainter::SetFontFamily().

◆ SetFillColor()

void SetFillColor ( const OBColor color)
virtual

Set the painter's fill color.

Implements OBPainter.

Referenced by CairoPainter::SetFontFamily().

◆ SetFillRadial()

void SetFillRadial ( const OBColor start,
const OBColor end 
)
virtual

Set the painter's fill as a radial gradient.

Implements OBPainter.

Referenced by CairoPainter::SetFontFamily().

◆ SetPenColor()

void SetPenColor ( const OBColor color)
virtual

Set the painter's pen color.

Implements OBPainter.

Referenced by CairoPainter::NewCanvas(), and CairoPainter::SetFontFamily().

◆ SetPenWidth()

void SetPenWidth ( double  width)
virtual

Set the painter's pen width.

Implements OBPainter.

Referenced by CairoPainter::SetFontFamily().

◆ GetPenWidth()

double GetPenWidth ( )
virtual

Get the painter's pen width.

Implements OBPainter.

Referenced by CairoPainter::SetFontFamily().

◆ DrawLine()

void DrawLine ( double  x1,
double  y1,
double  x2,
double  y2,
const std::vector< double > &  dashes = std::vector< double >() 
)
virtual

Draw a line from x1, y1 to x2, y2. The line is drawn using the current pen color and width.

Implements OBPainter.

Referenced by CairoPainter::SetFontFamily().

◆ DrawPolygon()

void DrawPolygon ( const std::vector< std::pair< double, double > > &  points)
virtual

Draw a polygon by connecting consecutive points. The last point will be connected to the first one. The lines are drawn using the current pen color and width. The area inside the polygon is filled with the current fill color.

Implements OBPainter.

Referenced by CairoPainter::SetFontFamily().

◆ DrawCircle()

void DrawCircle ( double  x,
double  y,
double  r 
)
virtual

Implements OBPainter.

Referenced by CairoPainter::SetFontFamily().

◆ DrawBall()

void DrawBall ( double  x,
double  y,
double  r,
double  opacity 
)
virtual

Draw a pseudo 3D ball, centered on (x,y) of radius r filled with the current Fill color or gradient

Implements OBPainter.

Referenced by CairoPainter::SetFontFamily().

◆ DrawText()

void DrawText ( double  x,
double  y,
const std::string &  text 
)
virtual

◆ GetFontMetrics()

OBFontMetrics GetFontMetrics ( const std::string &  text)
virtual

◆ WriteImage() [1/2]

void WriteImage ( const std::string &  filename)

◆ WriteImage() [2/2]

void WriteImage ( std::ostream &  ofs)

◆ SetWidth()

void SetWidth ( int  width)
inline

◆ SetHeight()

void SetHeight ( int  height)
inline

◆ SetTitle()

void SetTitle ( std::string  title)
inline

◆ SetIndex()

void SetIndex ( int  index)
inline

◆ SetTableSize()

void SetTableSize ( int  nrows,
int  ncols 
)
inline

◆ SetBackground()

void SetBackground ( std::string  color)
inline

◆ SetBondColor()

void SetBondColor ( std::string  color)
inline

◆ SetTransparent()

void SetTransparent ( bool  tr)
inline

◆ SetCropping()

void SetCropping ( bool  cr)
inline

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