|
| LRegion () noexcept |
| Constructor for creating an empty LRegion. More...
|
|
| LRegion (const LRect &rect) noexcept |
| Initialize the region with a rect. More...
|
|
| ~LRegion () noexcept |
| Destructor for freeing resources associated with LRegion. More...
|
|
| LRegion (const LRegion &other) noexcept |
| Copy constructor. More...
|
|
| LRegion (LRegion &&other) noexcept |
| Move constructor. More...
|
|
LRegion & | operator= (const LRegion &other) noexcept |
| Copy assignment operator. More...
|
|
LRegion & | operator= (LRegion &&other) noexcept |
| Move assignment operator. More...
|
|
void | clear () noexcept |
| Clears the LRegion, deleting all rectangles. More...
|
|
void | addRect (const LRect &rect) noexcept |
| Adds a rectangle to the LRegion (union operation). More...
|
|
void | addRect (const LPoint &pos, const LSize &size) noexcept |
| Adds a rectangle to the LRegion (union operation). More...
|
|
void | addRect (Int32 x, Int32 y, const LSize &size) noexcept |
| Adds a rectangle to the LRegion (union operation). More...
|
|
void | addRect (const LPoint &pos, Int32 w, Int32 h) noexcept |
| Adds a rectangle to the LRegion (union operation). More...
|
|
void | addRect (Int32 x, Int32 y, Int32 w, Int32 h) noexcept |
| Adds a rectangle to the LRegion (union operation). More...
|
|
void | addRegion (const LRegion ®ion) noexcept |
| Adds the content of another LRegion to this LRegion (union operation). More...
|
|
void | subtractRect (const LRect &rect) noexcept |
| Subtracts a rectangle from the LRegion. More...
|
|
void | subtractRect (const LPoint &pos, const LSize &size) noexcept |
| Subtracts a rectangle from the LRegion. More...
|
|
void | subtractRect (const LPoint &pos, Int32 w, Int32 h) noexcept |
| Subtracts a rectangle from the LRegion. More...
|
|
void | subtractRect (Int32 x, Int32 y, const LSize &size) noexcept |
| Subtracts a rectangle from the LRegion. More...
|
|
void | subtractRect (Int32 x, Int32 y, Int32 w, Int32 h) noexcept |
| Subtracts a rectangle from the LRegion. More...
|
|
void | subtractRegion (const LRegion ®ion) noexcept |
| Subtracts another LRegion from this LRegion. More...
|
|
void | intersectRegion (const LRegion ®ion) noexcept |
| Intersects this LRegion with another LRegion. More...
|
|
void | multiply (Float32 factor) noexcept |
| Multiplies the components of each rectangle in the LRegion by the given factor. More...
|
|
void | multiply (Float32 xFactor, Float32 yFactor) noexcept |
| Multiplies the components of each rectangle in the LRegion by the given factor. More...
|
|
bool | containsPoint (const LPoint &point) const noexcept |
| Check if the LRegion contains a specific point. More...
|
|
void | offset (const LPoint &offset) noexcept |
| Translate each rectangle in the LRegion by the specified offset. More...
|
|
void | offset (Int32 x, Int32 y) noexcept |
| Translate each rectangle in the LRegion by the specified offset. More...
|
|
void | inverse (const LRect &rect) noexcept |
| Invert the region contained within the specified rectangle. More...
|
|
bool | empty () const noexcept |
| Check if the LRegion is empty (contains no rectangles). More...
|
|
void | clip (const LRect &rect) noexcept |
| Clips the LRegion to the area defined by the specified rectangle. More...
|
|
void | clip (const LPoint &pos, const LSize &size) noexcept |
| Clips the LRegion to the area defined by the specified rectangle. More...
|
|
void | clip (Int32 x, Int32 y, Int32 w, Int32 h) noexcept |
| Clips the LRegion to the area defined by the specified rectangle. More...
|
|
const LBox & | extents () const noexcept |
| Gets the extents of the LRegion. More...
|
|
const LBox * | boxes (Int32 *n) const noexcept |
| Retrieves the list of rectangles that form the LRegion. More...
|
|
void | transform (const LSize &size, LTransform transform) noexcept |
| Applies the specified transform to all rectangles within the given size. More...
|
|
LPointF | closestPointFrom (const LPointF &point, Float32 padding=0.f) const noexcept |
| Returns the point within the region closest to the given point. More...
|
|
void | simplifyToExtents (Int32 threshold) noexcept |
| Replace the rectangles with a single enclosing one if the number is >= threshold. More...
|
|
Collection of non-overlapping rectangles.
The LRegion class provides an efficient mechanism for creating sets of rectangles that do not overlap in their geometries. It offers methods for performing operations such as additions, subtractions, intersections, and more on rectangles. This class is extensively used by the library for tasks like calculating surface damage, defining opaque, translucent, and input regions, among others. Internally, LRegion employs the algorithm and functions from the Pixman library.