29 #ifndef CDPL_VIS_CAIRORENDERER2D_HPP
30 #define CDPL_VIS_CAIRORENDERER2D_HPP
84 void drawLine(
double x1,
double y1,
double x2,
double y2);
88 void drawText(
double x,
double y,
const std::string& txt);
89 void drawEllipse(
double x,
double y,
double width,
double height);
96 void fillPath()
const;
97 void strokePath()
const;
99 typedef std::vector<Pen> PenStack;
100 typedef std::vector<Brush> BrushStack;
101 typedef std::vector<Font> FontStack;
105 BrushStack brushStack;
Definition of the class CDPL::Vis::Brush.
Definition of the class CDPL::Vis::CairoPointer.
struct _cairo cairo_t
Definition: CairoPointer.hpp:35
Definition of the class CDPL::Vis::Font.
Definition of the class CDPL::Vis::Pen.
Definition of the class CDPL::Vis::Renderer2D.
Definition of the preprocessor macro CDPL_VIS_API.
#define CDPL_VIS_API
Tells the compiler/linker which classes, functions and variables are part of the library API.
Specifies the fill pattern and fill color of shapes.
Definition: Brush.hpp:50
Implements the Renderer2D interface on top of the Cairo 2D Graphics Library.
Definition: CairoRenderer2D.hpp:57
void transform(const Math::Matrix3D &xform)
Multiplies the current affine transformation matrix by xform.
~CairoRenderer2D()
Destructor.
void drawPoint(double x, double y)
Draws a point at the position (x, y).
void restoreState()
Restores the last renderer state saved by a call to saveState().
void drawPath(const Path2D &path)
Draws the given path.
void drawPolyline(const Math::Vector2DArray &points)
Draws the polyline defined by points.
void drawLine(double x1, double y1, double x2, double y2)
Draws a line segment from (x1, y1) to (x2, y2).
void setPen(const Pen &pen)
Sets the pen to be used in subsequent drawing operations.
void drawPolygon(const Math::Vector2DArray &points)
Draws the polygon defined by points.
void drawLineSegments(const Math::Vector2DArray &points)
Draws the sequence of disjoint line segments defined by points.
void setFont(const Font &font)
Sets the font to be used in subsequent text drawing operations.
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 ...
void setBrush(const Brush &brush)
Sets the brush to be used in subsequent drawing operations.
void setClipPath(const Path2D &path)
void drawText(double x, double y, const std::string &txt)
Draws the specified text at the position (x, y).
void setTransform(const Math::Matrix3D &xform)
Sets the applied affine transformation matrix to xform.
void clearClipPath()
Disables clipping.
void saveState()
Saves the current renderer state.
CairoRenderer2D(const CairoPointer< cairo_t > &cairo_ctxt)
Constructs a renderer object that operates on the Cairo cdrawing ontext specified by cairo_ctxt.
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).
Specifies a font for drawing text.
Definition: Font.hpp:54
Provides a container for painting operations, enabling arbitrary graphical shapes to be constructed a...
Definition: Path2D.hpp:78
Specifies how to draw lines and outlines of shapes.
Definition: Pen.hpp:53
An interface that provides methods for low level 2D drawing operations.
Definition: Renderer2D.hpp:86
VectorArray< Vector2D > Vector2DArray
An array of Math::Vector2D objects.
Definition: VectorArray.hpp:79
CMatrix< double, 3, 3 > Matrix3D
A bounded 3x3 matrix holding floating point values of type double.
Definition: Matrix.hpp:1849
The namespace of the Chemical Data Processing Library.