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 region from a bitmap.
The pixels in bm that are color1 will be part of the region as if each was a 1 by 1 rectangle.
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 rectangle 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.
Equivalent to intersect(r).
Equivalent to *this = *this & r.
Equivalent to unite(r) and operator|.
Equivalent to *this = *this + r.
Equivalent to subtract(r).
Equivalent to *this = *this - r.
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.
Equivalent to eor(r).
Equivalent to *this = *this ^ r.
Equivalent to unite(r) and operator+.
Equivalent to *this = *this | r.
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.
Reads a region from the stream and returns a reference to the stream.
Writes a region to 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-99 Troll Tech, all rights reserved.
Copyright İ 1999 Troll Tech | Trademarks | Qt version 2.0.2
|