| Urho3D
    | 
Rectangular area allocator. More...
#include </home/runner/work/Dviglo/Dviglo/DvigloRepository/Source/Urho3D/Math/AreaAllocator.h>
| Public Member Functions | |
| AreaAllocator () | |
| Default construct with empty size. | |
| AreaAllocator (int width, int height, bool fastMode=true) | |
| Construct with given width and height. | |
| AreaAllocator (int width, int height, int maxWidth, int maxHeight, bool fastMode=true) | |
| Construct with given width and height, and set the maximum it allows to grow. | |
| void | Reset (int width, int height, int maxWidth=0, int maxHeight=0, bool fastMode=true) | 
| Reset to given width and height and remove all previous allocations. | |
| bool | Allocate (int width, int height, int &x, int &y) | 
| Try to allocate an area. Return true if successful, with x & y coordinates filled. | |
| int | GetWidth () const | 
| Return the current width. | |
| int | GetHeight () const | 
| Return the current height. | |
| bool | GetFastMode () const | 
| Return whether uses fast mode. Fast mode uses a simpler allocation scheme which may waste free space, but is OK for eg. fonts. | |
| Private Member Functions | |
| bool | SplitRect (unsigned freeAreaIndex, const IntRect &reserve) | 
| Remove space from a free rectangle. Return true if the original rectangle should be erased from the free list. Not called in fast mode. | |
| void | Cleanup () | 
| Clean up redundant free space. Not called in fast mode. | |
| Private Attributes | |
| PODVector< IntRect > | freeAreas_ | 
| Free rectangles. | |
| IntVector2 | size_ | 
| Current size. | |
| IntVector2 | maxSize_ | 
| Maximum size it allows to grow. It is zero when it is not allowed to grow. | |
| bool | doubleWidth_ {true} | 
| The dimension use for next growth. Used internally. | |
| bool | fastMode_ {true} | 
| Fast mode flag. | |
Rectangular area allocator.
 1.8.17
 1.8.17