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

#include <asciipainter.h>

Inheritance diagram for ASCIIPainter:
OBPainter

Public Member Functions

 ASCIIPainter (int width, int height, double aspect)
 
 ~ASCIIPainter ()
 
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=1.0)
 
void DrawText (double x, double y, const std::string &text)
 
OBFontMetrics GetFontMetrics (const std::string &text)
 
ASCIIPainter specific
void Write (std::ostream &ofs)
 
int round (double r)
 
std::string Bresenham (int x, int y, int x2, int y2, std::vector< std::pair< int, int > > &coords)
 

Constructor & Destructor Documentation

◆ ASCIIPainter()

ASCIIPainter ( int  width,
int  height,
double  aspect 
)

◆ ~ASCIIPainter()

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 ASCIIPainter::SetFontFamily().

◆ SetFillColor()

void SetFillColor ( const OBColor color)
virtual

Set the painter's fill color.

Implements OBPainter.

Referenced by ASCIIPainter::SetFontFamily().

◆ SetFillRadial()

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

Set the painter's fill as a radial gradient.

Implements OBPainter.

Referenced by ASCIIPainter::SetFontFamily().

◆ SetPenColor()

void SetPenColor ( const OBColor color)
virtual

Set the painter's pen color.

Implements OBPainter.

Referenced by ASCIIPainter::SetFontFamily().

◆ SetPenWidth()

void SetPenWidth ( double  width)
virtual

Set the painter's pen width.

Implements OBPainter.

Referenced by ASCIIPainter::SetFontFamily().

◆ GetPenWidth()

double GetPenWidth ( )
virtual

Get the painter's pen width.

Implements OBPainter.

Referenced by ASCIIPainter::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 ASCIIPainter::DrawPolygon(), and ASCIIPainter::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 ASCIIPainter::SetFontFamily().

◆ DrawCircle()

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

Implements OBPainter.

Referenced by ASCIIPainter::SetFontFamily().

◆ DrawBall()

void DrawBall ( double  x,
double  y,
double  r,
double  opacity = 1.0 
)
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 ASCIIPainter::SetFontFamily().

◆ DrawText()

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

Implements OBPainter.

Referenced by ASCIIPainter::SetFontFamily().

◆ GetFontMetrics()

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

Implements OBPainter.

Referenced by ASCIIPainter::SetFontFamily().

◆ Write()

void Write ( std::ostream &  ofs)

◆ round()

int round ( double  r)

◆ Bresenham()

string Bresenham ( int  x,
int  y,
int  x2,
int  y2,
std::vector< std::pair< int, int > > &  coords 
)

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