csSubRectangles Class Reference
[Geometry utilities]
A class managing allocations of sub-rectangles.
More...
#include <csgeom/subrec.h>
Public Member Functions | |
SubRect * | Alloc (int w, int h, csRect &rect) |
Allocate a new rectangle. | |
void | Clear () |
Free all rectangles in this region. | |
csSubRectangles (const csRect ®ion) | |
Allocate a new empty region with the given size. | |
void | Dump () |
For debugging: dump all free rectangles. | |
const csRect & | GetRectangle () const |
Get the rectangle for this region. | |
bool | Grow (int newWidth, int newHeight) |
Increase the size of the region. | |
void | Reclaim (SubRect *subrect) |
Reclaim a subrectangle, meaning, the space occupied by the subrect can be reused by subsequent Alloc() calls. | |
~csSubRectangles () | |
Remove this region and sub-regions. | |
Protected Member Functions | |
void | AddLeaf (SubRect *sr) |
SubRect * | AllocSubrect () |
void | RemoveLeaf (SubRect *sr) |
Protected Attributes | |
SubRect::SubRectAlloc | alloc |
csArray< SubRect * > | leaves |
Leaves of the region tree. | |
csRect | region |
Dimensions of this region. | |
SubRect * | root |
Root of the region tree. | |
Friends | |
class | SubRect |
Classes | |
class | SubRect |
Sub-rectangle. More... |
Detailed Description
A class managing allocations of sub-rectangles.i.e. this class represents a rectangular region from which a client can allocate smaller rectangles until the region is full.
Definition at line 42 of file subrec.h.
Constructor & Destructor Documentation
csSubRectangles::csSubRectangles | ( | const csRect & | region | ) |
Allocate a new empty region with the given size.
csSubRectangles::~csSubRectangles | ( | ) |
Remove this region and sub-regions.
Member Function Documentation
Allocate a new rectangle.
Returns 0 if there is no room
void csSubRectangles::Clear | ( | ) |
Free all rectangles in this region.
void csSubRectangles::Dump | ( | ) |
For debugging: dump all free rectangles.
const csRect& csSubRectangles::GetRectangle | ( | ) | const [inline] |
bool csSubRectangles::Grow | ( | int | newWidth, | |
int | newHeight | |||
) |
Increase the size of the region.
You can only grow upwards.
void csSubRectangles::Reclaim | ( | SubRect * | subrect | ) |
Reclaim a subrectangle, meaning, the space occupied by the subrect can be reused by subsequent Alloc() calls.
Member Data Documentation
csArray<SubRect*> csSubRectangles::leaves [protected] |
csRect csSubRectangles::region [protected] |
SubRect* csSubRectangles::root [protected] |
The documentation for this class was generated from the following file:
- csgeom/subrec.h
Generated for Crystal Space by doxygen 1.4.7