Chemical Data Processing Library C++ API - Version 1.1.1
|
Implements the Renderer2D interface on top of the Cairo 2D Graphics Library. More...
#include <CairoRenderer2D.hpp>
Public Member Functions | |
CairoRenderer2D (const CairoPointer< cairo_t > &cairo_ctxt) | |
Constructs a renderer object that operates on the Cairo cdrawing ontext specified by cairo_ctxt. More... | |
~CairoRenderer2D () | |
Destructor. More... | |
void | saveState () |
Saves the current renderer state. More... | |
void | restoreState () |
Restores the last renderer state saved by a call to saveState(). More... | |
void | setTransform (const Math::Matrix3D &xform) |
Sets the applied affine transformation matrix to xform. More... | |
void | transform (const Math::Matrix3D &xform) |
Multiplies the current affine transformation matrix by xform. More... | |
void | setPen (const Pen &pen) |
Sets the pen to be used in subsequent drawing operations. More... | |
void | setBrush (const Brush &brush) |
Sets the brush to be used in subsequent drawing operations. More... | |
void | setFont (const Font &font) |
Sets the font to be used in subsequent text drawing operations. More... | |
void | drawRectangle (double x1, double y1, double x2, double y2) |
Draws an axis aligned rectangle of the specified width and height whose upper-left corner is located at (x, y). More... | |
void | drawPolygon (const Math::Vector2DArray &points) |
Draws the polygon defined by points. More... | |
void | drawLine (double x1, double y1, double x2, double y2) |
Draws a line segment from (x1, y1) to (x2, y2). More... | |
void | drawPolyline (const Math::Vector2DArray &points) |
Draws the polyline defined by points. More... | |
void | drawLineSegments (const Math::Vector2DArray &points) |
Draws the sequence of disjoint line segments defined by points. More... | |
void | drawPoint (double x, double y) |
Draws a point at the position (x, y). More... | |
void | drawText (double x, double y, const std::string &txt) |
Draws the specified text at the position (x, y). More... | |
void | drawEllipse (double x, double y, double width, double height) |
Draws an ellipse with the given width and height around the center position (x, y). More... | |
void | drawPath (const Path2D &path) |
Draws the given path. More... | |
void | setClipPath (const Path2D &path) |
void | clearClipPath () |
Disables clipping. More... | |
Public Member Functions inherited from CDPL::Vis::Renderer2D | |
virtual | ~Renderer2D () |
Virtual destructor. More... | |
Implements the Renderer2D interface on top of the Cairo 2D Graphics Library.
For more information about the Cairo 2D Graphics Library see [CAIRO].
CDPL::Vis::CairoRenderer2D::CairoRenderer2D | ( | const CairoPointer< cairo_t > & | cairo_ctxt | ) |
Constructs a renderer object that operates on the Cairo cdrawing ontext specified by cairo_ctxt.
cairo_ctxt | The Cairo drawing context. |
Base::NullPointerException | if cairo_ctxt is null. |
CDPL::Vis::CairoRenderer2D::~CairoRenderer2D | ( | ) |
Destructor.
|
virtual |
Saves the current renderer state.
The method saves the current pen, brush, font and transformation matrix on an internal stack. The last saved state can be restored later on by a call to restoreState().
Implements CDPL::Vis::Renderer2D.
|
virtual |
Restores the last renderer state saved by a call to saveState().
Implements CDPL::Vis::Renderer2D.
|
virtual |
Sets the applied affine transformation matrix to xform.
xform | The new affine transformation matrix. |
Implements CDPL::Vis::Renderer2D.
|
virtual |
Multiplies the current affine transformation matrix by xform.
xform | The matrix by which the current affine transformation matrix is multiplied. |
Implements CDPL::Vis::Renderer2D.
|
virtual |
Sets the pen to be used in subsequent drawing operations.
pen | The new pen for subsequent drawing operations. |
Implements CDPL::Vis::Renderer2D.
|
virtual |
Sets the brush to be used in subsequent drawing operations.
brush | The new brush for subsequent drawing operations. |
Implements CDPL::Vis::Renderer2D.
|
virtual |
Sets the font to be used in subsequent text drawing operations.
font | The new font used in subsequent text drawing operations. |
Implements CDPL::Vis::Renderer2D.
|
virtual |
Draws an axis aligned rectangle of the specified width and height whose upper-left corner is located at (x, y).
The rectangle is filled as specified by the current brush and the outline will be drawn as specified by the current pen.
x | The x-coordinate of the upper-left corner. |
y | The y-coordinate of the upper-left corner. |
width | The width of the rectangle. |
height | The height of the rectangle. |
Implements CDPL::Vis::Renderer2D.
|
virtual |
Draws the polygon defined by points.
For a given set of \( N \) corner points \( p_i \) with \( i = 1, 2, \ldots, N \), the polygon's \( N \) edges are given by \( (p_1, p_2), (p_2, p_3), \ldots, (p_N, p_0) \). The polygon is filled as specified by the current brush and the outline will be drawn as specified by the current pen.
points | An array of points specifying the corners of the polygon. |
Implements CDPL::Vis::Renderer2D.
Draws a line segment from (x1, y1) to (x2, y2).
The line style, color, cap style and line width is specified by the current pen.
x1 | The x-coordinate of the starting point. |
y1 | The y-coordinate of the starting point. |
x2 | The x-coordinate of the end point. |
y2 | The y-coordinate of the end point. |
Implements CDPL::Vis::Renderer2D.
|
virtual |
Draws the polyline defined by points.
For a given set of \( N \) points \( p_i \) with \( i = 1, 2, \ldots, N \), \( N - 1 \) connected line segments \( (p_1, p_2), (p_2, p_3), \ldots, (p_{N - 1}, p_N) \) will be drawn. The line style, color, cap style, join style and line width is specified by the current pen.
points | An array of points defining the polyline. |
Implements CDPL::Vis::Renderer2D.
|
virtual |
Draws the sequence of disjoint line segments defined by points.
For a given set of \( 2N \) points \( p_i \) with \( i = 1, 2, \ldots, 2N \), \( N \) disjoint line segments \( (p_1, p_2), (p_3, p_4), \ldots, (p_{2N - 1}, p_2N) \) will be drawn. The line style, color, cap style and line width is specified by the current pen.
points | An array of points defining the line segments. |
Implements CDPL::Vis::Renderer2D.
Draws a point at the position (x, y).
The diameter and color of the point is specified by the current pen.
x | The x-coordinate of the point. |
y | The y-coordinate of the point. |
Implements CDPL::Vis::Renderer2D.
Draws the specified text at the position (x, y).
The text color is specified by the current pen. The font has to be specified by setFont().
x | The x-position of the drawn text. |
y | The y-position of the baseline. |
txt | The text to draw. |
Implements CDPL::Vis::Renderer2D.
|
virtual |
Draws an ellipse with the given width and height around the center position (x, y).
The ellipse is filled as specified by the current brush and the outline will be drawn as specified by the current pen.
x | The x-coordinate of the center point. |
y | The y-coordinate of the center point. |
width | The width of the ellipse. |
height | The height of the ellipse. |
Implements CDPL::Vis::Renderer2D.
|
virtual |
Draws the given path.
The path is filled as specified by the current brush and the outline will be drawn as specified by the current pen.
path | The path to draw. |
Implements CDPL::Vis::Renderer2D.
|
virtual |
Implements CDPL::Vis::Renderer2D.
|
virtual |
Disables clipping.
Implements CDPL::Vis::Renderer2D.