Home | All Classes | Main Classes | Annotated | Grouped Classes | Functions | ![]() |
The QPointArray class provides a vector of points. More...
#include <QPointArray>
Inherits QVector<QPoint>.
Note: All the functions in this class are reentrant, except shortPoints() and cleanBuffers().
The QPointArray class provides a vector of points.
A QPointArray is a QVector<QPoint>. It is implicitly shared. In addition to the functions provided by QVector, 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().
See also QPainter, QWMatrix, and QVector.
Constructs a null point array.
See also QVector::isEmpty().
Constructs a point array with room for size points. Makes a null array if size == 0.
See also QVector::isEmpty().
Constructs a copy of the point array a.
Constructs a point array from the rectangle r.
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.
Returns the bounding rectangle of the points in the array, or QRect(0,0,0,0) if the array is empty.
Returns the Bezier points for the four control points in this array.
Sets the points of the array to those describing an arc of an ellipse with size, width w by height h, and position (x, y), starting from angle a1 and spanning by angle a2. The resulting array has sufficient resolution for pixel accuracy (see the overloaded function which takes an additional QWMatrix parameter).
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.
This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
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.
Sets the points of the array to those describing an ellipse with size, width w by height h, and position (x, y).
The returned array has sufficient resolution for use as pixels.
Reads the coordinates of the point at position index within the array and writes them into *x and *y.
This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
Returns the point at position index within the array.
Copies nPoints points from the variable argument list into this point array from position index, and resizes the point array if index+nPoints exceeds the size of the array.
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.
This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
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);
Sets the point at position index in the array to (x, y).
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.
This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
Resizes the array to nPoints and sets the points in the array to the values taken from the variable argument list.
The example code creates an array with two points (1,2) and (3,4):
QPointArray a; a.setPoints(2, 1,2, 3,4);
The points are given as a sequence of integers, starting with firstx then firsty, and so on.
See also resize() and putPoints().
Translates all points in the array by (dx, dy).
This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
Translates all points in the array by offset.
This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
Writes the point array, a to the stream s and returns a reference to the stream.
See also Format of the QDataStream operators.
This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
Reads a point array, a from the stream s and returns a reference to the stream.
See also Format of the QDataStream operators.
Copyright © 2004 Trolltech. | Trademarks | Qt 4.0.0-tp1 |