bn::top_left_fixed_rect class

Defines a two-dimensional rectangle using fixed point precision and a top-left point as position.

Constructors, destructors, conversion operators

top_left_fixed_rect() defaulted constexpr
Default constructor.
top_left_fixed_rect(const fixed_point& position, const fixed_size& dimensions) constexpr
Constructor.
top_left_fixed_rect(fixed x, fixed y, fixed width, fixed height) constexpr
Constructor.
top_left_fixed_rect(const top_left_rect& rect) constexpr
Constructor.

Public functions

auto position() const -> const fixed_point& constexpr
Returns the position of the top-left point of the rectangle.
void set_position(const fixed_point& position) constexpr
Sets the position of the top-left point of the rectangle.
void set_position(fixed x, fixed y) constexpr
Sets the position of the top-left point of the rectangle.
auto dimensions() const -> const fixed_size& constexpr
Returns the size of the rectangle.
void set_dimensions(const fixed_size& dimensions) constexpr
Sets the size of the rectangle.
void set_dimensions(fixed width, fixed height) constexpr
Sets the size of the rectangle.
auto x() const -> fixed constexpr
Returns the horizontal position of the top-left point of the rectangle.
void set_x(fixed x) constexpr
Sets the horizontal position of the top-left point of the rectangle.
auto y() const -> fixed constexpr
Returns the vertical position of the top-left point of the rectangle.
void set_y(fixed y) constexpr
Sets the vertical position of the top-left point of the rectangle.
auto width() const -> fixed constexpr
Returns the width of the rectangle.
void set_width(fixed width) constexpr
Sets the width of the rectangle.
auto height() const -> fixed constexpr
Returns the height of the rectangle.
void set_height(fixed height) constexpr
Sets the height of the rectangle.
auto top() const -> fixed constexpr
Returns the position of the top boundary of the rectangle.
auto left() const -> fixed constexpr
Returns the position of the left boundary of the rectangle.
auto bottom() const -> fixed constexpr
Returns the position of the bottom boundary of the rectangle.
auto right() const -> fixed constexpr
Returns the position of the right boundary of the rectangle.
auto top_left() const -> fixed_point constexpr
Returns the position of the top-left corner of the rectangle.
auto top_right() const -> fixed_point constexpr
Returns the position of the top-right corner of the rectangle.
auto bottom_left() const -> fixed_point constexpr
Returns the position of the bottom-left corner of the rectangle.
auto bottom_right() const -> fixed_point constexpr
Returns the position of the bottom-right corner of the rectangle.
auto center_x() const -> fixed constexpr
Returns the horizontal position of the center point of the rectangle.
auto center_y() const -> fixed constexpr
Returns the vertical position of the center point of the rectangle.
auto center() const -> fixed_point constexpr
Returns the position of the center point of the rectangle.
auto contains(const fixed_point& point) const -> bool constexpr
Indicates if the given point is inside the rectangle or not.
auto intersects(const top_left_fixed_rect& other) const -> bool constexpr
Indicates if this rectangle intersects with the given one or not.

Friends

auto operator==(const top_left_fixed_rect& a, const top_left_fixed_rect& b) -> bool defaulted constexpr
Default equal operator.

Function documentation

bn::top_left_fixed_rect::top_left_fixed_rect(const fixed_point& position, const fixed_size& dimensions) constexpr

Constructor.

Parameters
position Position of the top-left point of the rectangle.
dimensions Size of the rectangle.

bn::top_left_fixed_rect::top_left_fixed_rect(fixed x, fixed y, fixed width, fixed height) constexpr

Constructor.

Parameters
x Horizontal position of the top-left point of the rectangle.
y Vertical position of the top-left point of the rectangle.
width Valid width of the rectangle (>= 0).
height Valid height of the rectangle (>= 0).

bn::top_left_fixed_rect::top_left_fixed_rect(const top_left_rect& rect) constexpr

Constructor.

Parameters
rect Integer rectangle.

void bn::top_left_fixed_rect::set_position(fixed x, fixed y) constexpr

Sets the position of the top-left point of the rectangle.

Parameters
x Horizontal position of the top-left point of the rectangle.
y Vertical position of the top-left point of the rectangle.

void bn::top_left_fixed_rect::set_dimensions(fixed width, fixed height) constexpr

Sets the size of the rectangle.

Parameters
width Valid width of the rectangle (>= 0).
height Valid height of the rectangle (>= 0).

void bn::top_left_fixed_rect::set_width(fixed width) constexpr

Sets the width of the rectangle.

Parameters
width Valid width (>= 0).

void bn::top_left_fixed_rect::set_height(fixed height) constexpr

Sets the height of the rectangle.

Parameters
height Valid height (>= 0).

bool bn::top_left_fixed_rect::contains(const fixed_point& point) const constexpr

Indicates if the given point is inside the rectangle or not.

If the point is in the edge of the rectangle, it returns false.

bool bn::top_left_fixed_rect::intersects(const top_left_fixed_rect& other) const constexpr

Indicates if this rectangle intersects with the given one or not.

Two rectangles intersect if there is at least one point that is within both rectangles.