# TQCanvasSpline Class Reference

[canvas module]

The TQCanvasSpline class provides multi-bezier splines on a TQCanvas.
More...

`#include <ntqcanvas.h>`

Inherits TQCanvasPolygon.

List of all member functions.

## Public Members

## Detailed Description

The TQCanvasSpline class provides multi-bezier splines on a TQCanvas.

A TQCanvasSpline 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
TQCanvasItem::move() and TQCanvasItem::moveBy(), or by setting
coordinates with TQCanvasItem::setX(), TQCanvasItem::setY() and
TQCanvasItem::setZ().

See also Graphics Classes and Image Processing Classes.

## Member Function Documentation

### TQCanvasSpline::TQCanvasSpline ( TQCanvas * canvas )

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

See also setControlPoints().

### TQCanvasSpline::~TQCanvasSpline ()

Destroy the spline.
### bool TQCanvasSpline::closed () const

Returns TRUE if the control points are a closed set; otherwise
returns FALSE.
### TQPointArray TQCanvasSpline::controlPoints () const

Returns the current set of control points.

See also setControlPoints() and closed().

### int TQCanvasSpline::rtti () const` [virtual]`

Returns 8 (TQCanvasItem::Rtti_Spline).

See also TQCanvasItem::rtti().

Reimplemented from TQCanvasPolygon.

### void TQCanvasSpline::setControlPoints ( TQPointArray 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.

This file is part of the TQt toolkit.
Copyright © 1995-2007
Trolltech. All Rights Reserved.