QCanvasSpline(3) Multi-bezier splines on a QCanvas


#include <qcanvas.h>

Inherits QCanvasPolygon.

Public Members

QCanvasSpline ( QCanvas * canvas )

~QCanvasSpline ()

void setControlPoints ( QPointArray ctrl, bool close = TRUE )

QPointArray controlPoints () const

bool closed () const

virtual int rtti () const


The QCanvasSpline class provides multi-bezier splines on a QCanvas.

A QCanvasSpline is a sequence of 4-point bezier curves joined together to make a curved shape.

You set the control points of the spline with setControlPoints().

If the bezier is closed(), then the first control point will be re-used as the last control point. Therefore, a closed bezier must have a multiple of 3 control points and an open bezier must have one extra point.

The beziers are not necessarily joined "smoothly". To ensure this, set control points appropriately (general reference texts about beziers will explain this in detail).

Like any other canvas item splines can be moved with QCanvasItem::move() and QCanvasItem::moveBy(), or by setting coordinates with QCanvasItem::setX(), QCanvasItem::setY() and QCanvasItem::setZ().

See also Graphics Classes and Image Processing Classes.


QCanvasSpline::QCanvasSpline ( QCanvas * canvas )

Create a spline with no control points on the canvas canvas.

See also setControlPoints().

QCanvasSpline::~QCanvasSpline ()

Destroy the spline.

bool QCanvasSpline::closed () const

Returns TRUE if the control points are a closed set; otherwise returns FALSE.

QPointArray QCanvasSpline::controlPoints () const

Returns the current set of control points.

See also setControlPoints() and closed().

int QCanvasSpline::rtti () const [virtual]

Returns 8 (QCanvasItem::Rtti_Spline).

See also QCanvasItem::rtti().

Reimplemented from QCanvasPolygon.

void QCanvasSpline::setControlPoints ( QPointArray ctrl, bool close = TRUE )

Set the spline control points to ctrl.

If close is TRUE, then the first point in ctrl will be re-used as the last point, and the number of control points must be a multiple of 3. If close is FALSE, one additional control point is required, and the number of control points must be one of (4, 7, 10, 13, ...).

If the number of control points doesn't meet the above conditions, the number of points will be truncated to the largest number of points that do meet the requirement.

Example: canvas/canvas.cpp.


Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the license file included in the distribution for a complete license statement.


Generated automatically from the source code.


If you find a bug in Qt, please report it as described in http://doc.trolltech.com/bughowto.html. Good bug reports help us to help you. Thank you.

The definitive Qt documentation is provided in HTML format; it is located at $QTDIR/doc/html and can be read using Qt Assistant or with a web browser. This man page is provided as a convenience for those users who prefer man pages, although this format is not officially supported by Trolltech.

If you find errors in this manual page, please report them to [email protected]. Please include the name of the manual page (qcanvasspline.3qt) and the Qt version (3.3.8).