Represents the different sections of a resizable border, which allow it to resized in different ways. More...
Public Types | |
enum | Zones { centre = 0 , left = 1 , top = 2 , right = 4 , bottom = 8 } |
Public Member Functions | |
Zone (int zoneFlags) noexcept | |
Creates a Zone from a combination of the flags in zoneFlags. | |
Zone () noexcept | |
Zone (const Zone &) noexcept | |
Zone & | operator= (const Zone &) noexcept |
bool | operator== (const Zone &) const noexcept |
bool | operator!= (const Zone &) const noexcept |
MouseCursor | getMouseCursor () const noexcept |
Returns an appropriate mouse-cursor for this resize zone. | |
bool | isDraggingWholeObject () const noexcept |
Returns true if dragging this zone will move the entire object without resizing it. | |
bool | isDraggingLeftEdge () const noexcept |
Returns true if dragging this zone will move the object's left edge. | |
bool | isDraggingRightEdge () const noexcept |
Returns true if dragging this zone will move the object's right edge. | |
bool | isDraggingTopEdge () const noexcept |
Returns true if dragging this zone will move the object's top edge. | |
bool | isDraggingBottomEdge () const noexcept |
Returns true if dragging this zone will move the object's bottom edge. | |
template<typename ValueType> | |
Rectangle< ValueType > | resizeRectangleBy (Rectangle< ValueType > original, const Point< ValueType > &distance) const noexcept |
Resizes this rectangle by the given amount, moving just the edges that this zone applies to. | |
int | getZoneFlags () const noexcept |
Returns the raw flags for this zone. | |
Static Public Member Functions | |
static Zone | fromPositionOnBorder (Rectangle< int > totalSize, BorderSize< int > border, Point< int > position) |
Given a point within a rectangle with a resizable border, this returns the zone that the point lies within. | |
Represents the different sections of a resizable border, which allow it to resized in different ways.
|
explicitnoexcept |
Creates a Zone from a combination of the flags in zoneFlags.
Referenced by fromPositionOnBorder(), operator!=(), operator=(), operator==(), and Zone().
|
noexcept |
|
static |
Given a point within a rectangle with a resizable border, this returns the zone that the point lies within.
References fromPositionOnBorder(), Point, and Zone().
Referenced by fromPositionOnBorder().
|
noexcept |
Returns an appropriate mouse-cursor for this resize zone.
References getMouseCursor().
Referenced by getMouseCursor().
|
noexcept |
Returns true if dragging this zone will move the entire object without resizing it.
References centre, and isDraggingWholeObject().
Referenced by isDraggingWholeObject(), and resizeRectangleBy().
|
noexcept |
Returns true if dragging this zone will move the object's left edge.
References left.
Referenced by resizeRectangleBy().
|
noexcept |
Returns true if dragging this zone will move the object's right edge.
References right.
Referenced by resizeRectangleBy().
|
noexcept |
Returns true if dragging this zone will move the object's top edge.
References top.
Referenced by resizeRectangleBy().
|
noexcept |
Returns true if dragging this zone will move the object's bottom edge.
References bottom.
Referenced by resizeRectangleBy().
|
noexcept |
Resizes this rectangle by the given amount, moving just the edges that this zone applies to.
References isDraggingBottomEdge(), isDraggingLeftEdge(), isDraggingRightEdge(), isDraggingTopEdge(), isDraggingWholeObject(), jmax(), jmin(), and Point.
|
noexcept |
Returns the raw flags for this zone.