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.
|
| LRegion () |
| Constructor for creating an empty LRegion. More...
|
|
| LRegion (const LRect &rect) |
| Initialize the region with a rect. More...
|
|
| ~LRegion () |
| Destructor for freeing resources associated with LRegion. More...
|
|
| LRegion (const LRegion &other) |
| Copy constructor for creating an LRegion by copying another LRegion. More...
|
|
LRegion & | operator= (const LRegion &other) |
| Assignment operator for assigning the content of one LRegion to another. More...
|
|
void | clear () |
| Clears the LRegion, deleting all rectangles. More...
|
|
void | addRect (const LRect &rect) |
| Adds a rectangle to the LRegion (union operation). More...
|
|
void | addRect (const LPoint &pos, const LSize &size) |
| Adds a rectangle to the LRegion (union operation). More...
|
|
void | addRect (Int32 x, Int32 y, const LSize &size) |
| Adds a rectangle to the LRegion (union operation). More...
|
|
void | addRect (const LPoint &pos, Int32 w, Int32 h) |
| Adds a rectangle to the LRegion (union operation). More...
|
|
void | addRect (Int32 x, Int32 y, Int32 w, Int32 h) |
| Adds a rectangle to the LRegion (union operation). More...
|
|
void | addRegion (const LRegion ®ion) |
| Adds the content of another LRegion to this LRegion (union operation). More...
|
|
void | subtractRect (const LRect &rect) |
| Subtracts a rectangle from the LRegion. More...
|
|
void | subtractRect (const LPoint &pos, const LSize &size) |
| Subtracts a rectangle from the LRegion. More...
|
|
void | subtractRect (const LPoint &pos, Int32 w, Int32 h) |
| Subtracts a rectangle from the LRegion. More...
|
|
void | subtractRect (Int32 x, Int32 y, const LSize &size) |
| Subtracts a rectangle from the LRegion. More...
|
|
void | subtractRect (Int32 x, Int32 y, Int32 w, Int32 h) |
| Subtracts a rectangle from the LRegion. More...
|
|
void | subtractRegion (const LRegion ®ion) |
| Subtracts another LRegion from this LRegion. More...
|
|
void | intersectRegion (const LRegion ®ion) |
| Intersects this LRegion with another LRegion. More...
|
|
void | multiply (Float32 factor) |
| Multiplies the components of each rectangle in the LRegion by the given factor. More...
|
|
void | multiply (Float32 xFactor, Float32 yFactor) |
| Multiplies the components of each rectangle in the LRegion by the given factor. More...
|
|
bool | containsPoint (const LPoint &point) const |
| Check if the LRegion contains a specific point. More...
|
|
void | offset (const LPoint &offset) |
| Translate each rectangle in the LRegion by the specified offset. More...
|
|
void | offset (Int32 x, Int32 y) |
| Translate each rectangle in the LRegion by the specified offset. More...
|
|
void | inverse (const LRect &rect) |
| Invert the region contained within the specified rectangle. More...
|
|
bool | empty () const |
| Check if the LRegion is empty (contains no rectangles). More...
|
|
void | clip (const LRect &rect) |
| Clips the LRegion to the area defined by the specified rectangle. More...
|
|
void | clip (const LPoint &pos, const LSize &size) |
| Clips the LRegion to the area defined by the specified rectangle. More...
|
|
void | clip (Int32 x, Int32 y, Int32 w, Int32 h) |
| Clips the LRegion to the area defined by the specified rectangle. More...
|
|
const LBox & | extents () const |
| Get the extents of the LRegion. More...
|
|
LBox * | boxes (Int32 *n) const |
| Retrieves the list of rectangles that form the LRegion. More...
|
|
void | transform (const LSize &size, LFramebuffer::Transform transform) |
| Applies a specified transforma to all rectangles within the given size. More...
|
|