Home | All Classes | Main Classes | Annotated | Grouped Classes | Functions |
The QPointArray class provides an array of points. More...
#include <qpointarray.h>
Inherits QMemArray<QPoint>.
A QPointArray is an array of QPoint objects. In addition to the functions provided by QMemArray, QPointArray provides some point-specific functions.
For convenient reading and writing of the point data use setPoints(), putPoints(), point(), and setPoint().
For geometry operations use boundingRect() and translate(). There is also the QWMatrix::map() function for more general transformations of QPointArrays. You can also create arcs and ellipses with makeArc() and makeEllipse().
Among others, QPointArray is used by QPainter::drawLineSegments(), QPainter::drawPolyline(), QPainter::drawPolygon() and QPainter::drawCubicBezier().
Note that because this class is a QMemArray, copying an array and modifying the copy modifies the original as well, i.e. a shallow copy. If you need a deep copy use copy() or detach(), for example:
void drawGiraffe( const QPointArray & r, QPainter * p ) { QPointArray tmp = r; tmp.detach(); // some code that modifies tmp p->drawPoints( tmp ); }
If you forget the tmp.detach(), the const array will be modified.
See also QPainter, QWMatrix, QMemArray, Graphics Classes, Image Processing Classes, and Implicitly and Explicitly Shared Classes.
Constructs a null point array.
See also isNull().
Constructs a point array with room for size points. Makes a null array if size == 0.
See also resize() and isNull().
Constructs a shallow copy of the point array a.
If closed is FALSE, then the point array just contains the following four points in the listed order: r.topLeft(), r.topRight(), r.bottomRight() and r.bottomLeft().
If closed is TRUE, then a fifth point is set to r.topLeft().
Destroys the point array.
Creates a deep copy of the array.
See also detach().
Angles are specified in 16ths of a degree, i.e. a full circle equals 5760 (16*360). Positive values mean counter-clockwise, whereas negative values mean the clockwise direction. Zero degrees is at the 3 o'clock position.
See the angle diagram.
Sets the points of the array to those describing an arc of an ellipse with width w and height h and position (x, y), starting from angle a1, and spanning angle by a2, and transformed by the matrix xf. The resulting array has sufficient resolution for pixel accuracy.
Angles are specified in 16ths of a degree, i.e. a full circle equals 5760 (16*360). Positive values mean counter-clockwise, whereas negative values mean the clockwise direction. Zero degrees is at the 3 o'clock position.
See the angle diagram.
The returned array has sufficient resolution for use as pixels.
Assigns a shallow copy of a to this point array and returns a reference to this point array.
Equivalent to assign(a).
Returns the point at position index within the array.
Returns TRUE if successful, or FALSE if the array could not be resized (typically due to lack of memory).
The example code creates an array with three points (4,5), (6,7) and (8,9), by expanding the array from 1 to 3 points:
QPointArray a( 1 ); a[0] = QPoint( 4, 5 ); a.putPoints( 1, 2, 6,7, 8,9 ); // index == 1, points == 2
This has the same result, but here putPoints overwrites rather than extends:
QPointArray a( 3 ); a.putPoints( 0, 3, 4,5, 0,0, 8,9 ); a.putPoints( 1, 1, 6,7 );
The points are given as a sequence of integers, starting with firstx then firsty, and so on.
See also resize().
This version of the function copies nPoints from from into this array, starting at index in this array and fromIndex in from. fromIndex is 0 by default.
QPointArray a; a.putPoints( 0, 3, 1,2, 0,0, 5,6 ); // a is now the three-point array ( 1,2, 0,0, 5,6 ); QPointArray b; b.putPoints( 0, 3, 4,4, 5,5, 6,6 ); // b is now ( 4,4, 5,5, 6,6 ); a.putPoints( 2, 3, b ); // a is now ( 1,2, 0,0, 4,4, 5,5, 6,6 );
Example: themes/wood.cpp.
This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
Sets the point at array index i to p.
Writes the point array, a to the stream s and returns a reference to the stream.
See also Format of the QDataStream operators.
Reads a point array, a from the stream s and returns a reference to the stream.
See also Format of the QDataStream operators.
This file is part of the Qt toolkit. Copyright © 1995-2005 Trolltech. All Rights Reserved.
Copyright © 2005 Trolltech | Trademarks | Qt 3.3.6
|