The QRegion class specifies a clip region for a painter. More...
#include <qregion.h>
A region can be a rectangle, an ellipse, a polygon or a combination of these.
Regions are combined by creating a new region which is a union, intersection or difference between any two regions.
The region XOR operation is defined as:
a XOR b = (a UNION b) - (a INTERSECTION b)
Example of using complex regions:
void MyWidget::paintEvent( QPaintEvent * ) { QPainter p; // our painter QRegion r1( QRect(100,100,200,80), // r1 = elliptic region QRegion::Ellipse ); QRegion r2( QRect(100,120,90,30) ); // r2 = rectangular region QRegion r3 = r1.intersect( r2 ); // r3 = intersection p.begin( this ); // start painting widget p.setClipRegion( r3 ); // set clip region ... // paint clipped graphics p.end(); // painting done }
See also: QPainter::setClipRegion() and QPainter::setClipRect().
Constructs an null region.
See also: isNull().
Constructs a polygon region from the point array a.
If winding is TRUE, the polygon region uses the winding algorithm, otherwise the alternative (even-odd) algorithm will be used.
Constructs a rectangular or elliptic region.
Arguments:
Constructs a region which is a shallow copy of r.
Constructs a rectangular or elliptic region.
x, y, w, and h specify the region rectangle. t is the region type: QRegion::Rectangle (default) or QRegion::Ellipse.
Destroys the region.
Returns the bounding rectange of this region. An empty region gives a null rectangle.
Returns TRUE if the region contains the point p, or FALSE if p is outside the region.
Returns TRUE if the region contains the rectangle r, or FALSE if r is outside the region.
Returns a region which is this region XOR r.
Returns a region which is the intersection of this region and r.
Returns TRUE if the region is empty, or FALSE if it is non-empty.
Example:
QRegion r1( 10, 10, 20, 20 ); QRegion r2( 40, 40, 20, 20 ); QRegion r3; r1.isNull(); // FALSE r1.isEmpty(); // FALSE r3.isNull(); // TRUE r3.isEmpty(); // TRUE r3 = r1.intersect( r2 ); // r3 = intersection of r1 and r2 r3.isNull(); // FALSE r3.isEmpty(); // TRUE r3 = r1.unite( r2 ); // r3 = union of r1 and r2 r3.isNull(); // FALSE r3.isEmpty(); // FALSE
See also: isNull().
Returns TRUE if the region is a null region, otherwise FALSE.
A null region is a region that has not been initialized. The documentation for isEmpty() contains an example that shows how to use isNull() and isEmpty().
See also: isEmpty().
Returns TRUE if the region is different from r, or FALSE if the regions are equal.
Assigns a shallow copy of r to this region and returns a reference to the region.
Returns TRUE if the region is equal to r, or FALSE if the regions are different.
Returns an array of the rectangles that make up the region. The rectangles are non-overlapping. The region is formed by the union of all these rectangles.
Returns a region which is r subtracted from this region.
Translates the region dx along the X axis and dy along the Y axis.
Returns a region which is the union of this region and r.
Writes a region to the stream and returns a reference to the stream.
Reads a region from the stream and returns a reference to the stream.
Search the documentation, FAQ, qt-interest archive and more (uses
www.troll.no):
This file is part of the Qt toolkit, copyright © 1995-98 Troll Tech, all rights reserved.
It was generated from the following files:
Copyright İ 1998 Troll Tech | Trademarks | Qt version 1.42
|