Chemical Data Processing Library Python API - Version 1.1.1
Public Member Functions | List of all members
CDPL.Vis.CairoBackend.CairoRenderer2D Class Reference

Implements the Renderer2D interface on top of the Cairo 2D Graphics Library. More...

+ Inheritance diagram for CDPL.Vis.CairoBackend.CairoRenderer2D:

Public Member Functions

None __init__ (cairo.Context cairo_ctxt)
 Constructs a renderer object that operates on the Cairo cdrawing ontext specified by cairo_ctxt. More...
 
None saveState ()
 Saves the current renderer state. More...
 
None restoreState ()
 Restores the last renderer state saved by a call to saveState(). More...
 
None setTransform (Math.Matrix3D xform)
 Sets the applied affine transformation matrix to xform. More...
 
None transform (Math.Matrix3D xform)
 Multiplies the current affine transformation matrix by xform. More...
 
None setPen (Vis.Pen pen)
 Sets the pen to be used in subsequent drawing operations. More...
 
None setBrush (Vis.Brush brush)
 Sets the brush to be used in subsequent drawing operations. More...
 
None setFont (Vis.Font font)
 Sets the font to be used in subsequent text drawing operations. More...
 
None drawRectangle (float x, float y, float width, float height)
 Draws an axis aligned rectangle of the specified width and height whose upper-left corner is located at (x, y). More...
 
None drawPolygon (Math.Vector2DArray points)
 Draws the polygon defined by points. More...
 
None drawLine (float x1, float y1, float x2, float y2)
 Draws a line segment from (x1, y1) to (x2, y2). More...
 
None drawPolyline (Math.Vector2DArray points)
 Draws the polyline defined by points. More...
 
None drawLineSegments (Math.Vector2DArray points)
 Draws the sequence of disjoint line segments defined by points. More...
 
None drawPoint (float x, float y)
 Draws a point at the position (x, y). More...
 
None drawEllipse (float x, float y, float width, float height)
 Draws an ellipse with the given width and height around the center position (x, y). More...
 
None drawText (float x, float y, str txt)
 Draws the specified text at the position (x, y). More...
 
None drawPath (Vis.Path2D path)
 Draws the given path. More...
 
None setClipPath (Vis.Path2D path)
 
None clearClipPath ()
 Disables clipping.
 
- Public Member Functions inherited from CDPL.Vis.Renderer2D
None __init__ ()
 Initializes the Renderer2D instance.
 
int getObjectID ()
 Returns the numeric identifier (ID) of the wrapped C++ class instance. More...
 
None setPen (Pen pen)
 Sets the pen to be used in subsequent drawing operations. More...
 
None setBrush (Brush brush)
 Sets the brush to be used in subsequent drawing operations. More...
 
None setFont (Font font)
 Sets the font to be used in subsequent text drawing operations. More...
 
None drawPath (Path2D path)
 Draws the given path. More...
 
None setClipPath (Path2D path)
 

Additional Inherited Members

- Properties inherited from CDPL.Vis.Renderer2D
 objectID = property(getObjectID)
 

Detailed Description

Implements the Renderer2D interface on top of the Cairo 2D Graphics Library.

For more information about the Cairo 2D Graphics Library see [CAIRO].

Constructor & Destructor Documentation

◆ __init__()

None CDPL.Vis.CairoBackend.CairoRenderer2D.__init__ ( cairo.Context  cairo_ctxt)

Constructs a renderer object that operates on the Cairo cdrawing ontext specified by cairo_ctxt.

Parameters
cairo_ctxtThe Cairo drawing context.
Exceptions
Base.NullPointerExceptionif cairo_ctxt is None.

Member Function Documentation

◆ saveState()

None CDPL.Vis.CairoBackend.CairoRenderer2D.saveState ( )

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().

See also
restoreState()

Reimplemented from CDPL.Vis.Renderer2D.

◆ restoreState()

None CDPL.Vis.CairoBackend.CairoRenderer2D.restoreState ( )

Restores the last renderer state saved by a call to saveState().

See also
saveState()

Reimplemented from CDPL.Vis.Renderer2D.

◆ setTransform()

None CDPL.Vis.CairoBackend.CairoRenderer2D.setTransform ( Math.Matrix3D  xform)

Sets the applied affine transformation matrix to xform.

Parameters
xformThe new affine transformation matrix.

Reimplemented from CDPL.Vis.Renderer2D.

◆ transform()

None CDPL.Vis.CairoBackend.CairoRenderer2D.transform ( Math.Matrix3D  xform)

Multiplies the current affine transformation matrix by xform.

Parameters
xformThe matrix by which the current affine transformation matrix is multiplied.

Reimplemented from CDPL.Vis.Renderer2D.

◆ setPen()

None CDPL.Vis.CairoBackend.CairoRenderer2D.setPen ( Vis.Pen  pen)

Sets the pen to be used in subsequent drawing operations.

Parameters
penThe new pen for subsequent drawing operations.
See also
Vis.Pen

◆ setBrush()

None CDPL.Vis.CairoBackend.CairoRenderer2D.setBrush ( Vis.Brush  brush)

Sets the brush to be used in subsequent drawing operations.

Parameters
brushThe new brush for subsequent drawing operations.
See also
Vis.Brush

◆ setFont()

None CDPL.Vis.CairoBackend.CairoRenderer2D.setFont ( Vis.Font  font)

Sets the font to be used in subsequent text drawing operations.

Parameters
fontThe new font used in subsequent text drawing operations.
See also
Vis.Font

◆ drawRectangle()

None CDPL.Vis.CairoBackend.CairoRenderer2D.drawRectangle ( float  x,
float  y,
float  width,
float  height 
)

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.

Parameters
xThe x-coordinate of the upper-left corner.
yThe y-coordinate of the upper-left corner.
widthThe width of the rectangle.
heightThe height of the rectangle.
See also
setPen(), setBrush()

Reimplemented from CDPL.Vis.Renderer2D.

◆ drawPolygon()

None CDPL.Vis.CairoBackend.CairoRenderer2D.drawPolygon ( Math.Vector2DArray  points)

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.

Parameters
pointsAn array of points specifying the corners of the polygon.
See also
setPen(), setBrush()

Reimplemented from CDPL.Vis.Renderer2D.

◆ drawLine()

None CDPL.Vis.CairoBackend.CairoRenderer2D.drawLine ( float  x1,
float  y1,
float  x2,
float  y2 
)

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.

Parameters
x1The x-coordinate of the starting point.
y1The y-coordinate of the starting point.
x2The x-coordinate of the end point.
y2The y-coordinate of the end point.
See also
setPen()

Reimplemented from CDPL.Vis.Renderer2D.

◆ drawPolyline()

None CDPL.Vis.CairoBackend.CairoRenderer2D.drawPolyline ( Math.Vector2DArray  points)

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.

Parameters
pointsAn array of points defining the polyline.
See also
setPen()

Reimplemented from CDPL.Vis.Renderer2D.

◆ drawLineSegments()

None CDPL.Vis.CairoBackend.CairoRenderer2D.drawLineSegments ( Math.Vector2DArray  points)

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.

Parameters
pointsAn array of points defining the line segments.
See also
setPen()

Reimplemented from CDPL.Vis.Renderer2D.

◆ drawPoint()

None CDPL.Vis.CairoBackend.CairoRenderer2D.drawPoint ( float  x,
float  y 
)

Draws a point at the position (x, y).

The diameter and color of the point is specified by the current pen.

Parameters
xThe x-coordinate of the point.
yThe y-coordinate of the point.
See also
setPen()

Reimplemented from CDPL.Vis.Renderer2D.

◆ drawEllipse()

None CDPL.Vis.CairoBackend.CairoRenderer2D.drawEllipse ( float  x,
float  y,
float  width,
float  height 
)

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.

Parameters
xThe x-coordinate of the center point.
yThe y-coordinate of the center point.
widthThe width of the ellipse.
heightThe height of the ellipse.
See also
setPen(), setBrush()

Reimplemented from CDPL.Vis.Renderer2D.

◆ drawText()

None CDPL.Vis.CairoBackend.CairoRenderer2D.drawText ( float  x,
float  y,
str  txt 
)

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().

Parameters
xThe x-position of the drawn text.
yThe y-position of the baseline.
txtThe text to draw.
See also
setPen(), setFont()

Reimplemented from CDPL.Vis.Renderer2D.

◆ drawPath()

None CDPL.Vis.CairoBackend.CairoRenderer2D.drawPath ( Vis.Path2D  path)

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.

Parameters
pathThe path to draw.
See also
setPen(), setBrush()

◆ setClipPath()

None CDPL.Vis.CairoBackend.CairoRenderer2D.setClipPath ( Vis.Path2D  path)
Parameters
path