QtBase
v6.3.1
|
The QRegion class specifies a clip region for a painter. More...
#include <qregion.h>
Public Types | |
enum | RegionType { Rectangle , Ellipse } |
typedef const QRect * | const_iterator |
typedef std::reverse_iterator< const_iterator > | const_reverse_iterator |
Friends | |
struct | QRegionPrivate |
Q_GUI_EXPORT QDataStream & | operator<< (QDataStream &, const QRegion &) |
Q_GUI_EXPORT QDataStream & | operator>> (QDataStream &, QRegion &) |
Q_GUI_EXPORT friend bool | qt_region_strictContains (const QRegion ®ion, const QRect &rect) |
Related Functions | |
(Note that these are not member functions.) | |
QDataStream & | operator<< (QDataStream &s, const QRegion &r) |
QDataStream & | operator>> (QDataStream &s, QRegion &r) |
The QRegion class specifies a clip region for a painter.
\inmodule QtGui
QRegion is used with QPainter::setClipRegion() to limit the paint area to what needs to be painted. There is also a QWidget::repaint() function that takes a QRegion parameter. QRegion is the best tool for minimizing the amount of screen area to be updated by a repaint.
This class is not suitable for constructing shapes for rendering, especially as outlines. Use QPainterPath to create paths and shapes for use with QPainter.
QRegion is an \l{implicitly shared} class.
enum QRegion::RegionType |
QRegion::QRegion | ( | ) |
QRegion::QRegion | ( | int | x, |
int | y, | ||
int | w, | ||
int | h, | ||
RegionType | t = Rectangle |
||
) |
Constructs a rectangular or elliptic region.
If t is Rectangle
, the region is the filled rectangle (x, y, w, h). If t is Ellipse
, the region is the filled ellipse with center at (x + w / 2, y + h / 2) and size (w ,h).
Definition at line 196 of file qregion.cpp.
QRegion::QRegion | ( | const QRect & | r, |
RegionType | t = Rectangle |
||
) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Create a region based on the rectangle r with region type t.
If the rectangle is invalid a null region will be created.
QRegion::QRegion | ( | const QPolygon & | a, |
Qt::FillRule | fillRule = Qt::OddEvenFill |
||
) |
Constructs a polygon region from the point array a with the fill rule specified by fillRule.
If fillRule is \l{Qt::WindingFill}, the polygon region is defined using the winding algorithm; if it is \l{Qt::OddEvenFill}, the odd-even fill algorithm is used.
|
inlinenoexcept |
Constructs a region from the bitmap bm.
The resulting region consists of the pixels in bitmap bm that are Qt::color1, as if each pixel was a 1 by 1 rectangle.
This constructor may create complex regions that will slow down painting when used. Note that drawing masked pixmaps can be done much faster using QPixmap::setMask().
QRegion::~QRegion | ( | ) |
|
noexcept |
|
noexcept |
Returns the bounding rectangle of this region. An empty region gives a rectangle that is QRect::isNull().
|
inlinenoexcept |
|
inlinenoexcept |
Returns true
if the region contains the point p; otherwise returns false
.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Returns true
if the region overlaps the rectangle r; otherwise returns false
.
|
inlinenoexcept |
|
inlinenoexcept |
|
noexcept |
Returns a region which is the intersection of this region and the given rect.
Returns a region which is the intersection of this region and r.
Region Intersection
The figure shows the intersection of two elliptical regions.
Returns true
if this region intersects with rect, otherwise returns false
.
Returns true
if this region intersects with region, otherwise returns false
.
Definition at line 649 of file qregion.cpp.
bool QRegion::isEmpty | ( | ) | const |
Returns true
if the region is empty; otherwise returns false
. An empty region is a region that contains no points.
Example:
bool QRegion::isNull | ( | ) | const |
Returns true
if the region is empty; otherwise returns false
. An empty region is a region that contains no points. This function is the same as isEmpty
QRegion::operator QVariant | ( | ) | const |
Returns the region as a QVariant
Definition at line 585 of file qregion.cpp.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 469 of file qregion.cpp.
Applies the intersected() function to this region and r. r1&r2
is equivalent to r1.intersected(r2)
.
Definition at line 462 of file qregion.cpp.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 547 of file qregion.cpp.
Applies the intersected() function to this region and r and assigns the result to this region. r1&=r2
is equivalent to r1
= r1.intersected(r2).
Definition at line 534 of file qregion.cpp.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 453 of file qregion.cpp.
Applies the united() function to this region and r. r1+r2
is equivalent to r1.united(r2)
.
Definition at line 446 of file qregion.cpp.
Returns a region that is the union of this region with the specified rect.
Definition at line 519 of file qregion.cpp.
Applies the united() function to this region and r and assigns the result to this region. r1+=r2
is equivalent to {r1
= r1.united(r2)}.
Applies the subtracted() function to this region and r. r1-r2
is equivalent to r1.subtracted(r2)
.
Definition at line 480 of file qregion.cpp.
Applies the subtracted() function to this region and r and assigns the result to this region. r1-=r2
is equivalent to {r1
= r1.subtracted(r2)}.
Definition at line 562 of file qregion.cpp.
Assigns r to this region and returns a reference to the region.
Move-assigns other to this QRegion instance.
Returns true
if the region is equal to r; otherwise returns false.
Applies the xored() function to this region and r. r1^r2
is equivalent to r1.xored(r2)
.
Definition at line 489 of file qregion.cpp.
Applies the xored() function to this region and r and assigns the result to this region. r1^=r2
is equivalent to {r1
= r1.xored(r2)}.
Definition at line 572 of file qregion.cpp.
Applies the united() function to this region and r. r1|r2
is equivalent to r1.united(r2)
.
Definition at line 437 of file qregion.cpp.
Applies the united() function to this region and r and assigns the result to this region. r1|=r2
is equivalent to {r1
= r1.united(r2)}.
Definition at line 499 of file qregion.cpp.
|
inlinenoexcept |
|
noexcept |
|
inlinenoexcept |
Returns a const_reverse_iterator pointing to one past the end of the range of non-overlapping rectangles that make up the region.
The union of all the rectangles is equal to the original region.
Definition at line 91 of file qregion.h.
Sets the region using the array of rectangles specified by rects and number. The rectangles must be optimally Y-X sorted and follow these restrictions:
\list
Returns a region which is r subtracted from this region.
Region Subtraction
The figure shows the result when the ellipse on the right is subtracted from the ellipse on the left ({left
- right}).
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Translates the region {point}{.x()} along the x axis and {point}{.y()} along the y axis, relative to the current position. Positive values move the region to the right and down.
Translates to the given point.
Definition at line 98 of file qregion.h.
void QRegion::translate | ( | int | dx, |
int | dy | ||
) |
Translates (moves) the region dx along the X axis and dy along the Y axis.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Returns a copy of the regtion that is translated {p}{.x()} along the x axis and {p}{.y()} along the y axis, relative to the current position. Positive values move the rectangle to the right and down.
Definition at line 100 of file qregion.h.
QRegion QRegion::translated | ( | int | dx, |
int | dy | ||
) | const |
Returns a copy of the region that is translated dx along the x axis and dy along the y axis, relative to the current position. Positive values move the region to the right and down.
Definition at line 629 of file qregion.cpp.
Returns a region which is the union of this region and the given rect.
Returns a region which is the union of this region and r.
Region Union
The figure shows the union of two elliptical regions.
Returns a region which is the exclusive or (XOR) of this region and r.
Region XORed
The figure shows the exclusive or of two elliptical regions.
|
friend |
Writes the region r to the stream s and returns a reference to the stream.
Definition at line 349 of file qregion.cpp.
|
related |
Writes the region r to the stream s and returns a reference to the stream.
Definition at line 349 of file qregion.cpp.
|
friend |
Reads a region from the stream s into r and returns a reference to the stream.
Definition at line 383 of file qregion.cpp.
|
related |
Reads a region from the stream s into r and returns a reference to the stream.
Definition at line 383 of file qregion.cpp.
|
friend |