You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

30 lines
643 B

#pragma once
#include "engine/point.hpp"
#include "engine/size.hpp"
namespace devilution {
struct Rectangle {
Point position;
Size size;
constexpr bool Contains(Point point) const
{
return point.x >= this->position.x
&& point.x < (this->position.x + this->size.width)
&& point.y >= this->position.y
&& point.y < (this->position.y + this->size.height);
}
/**
* @brief Computes the center of this rectangle in integer coordinates. Values are truncated towards zero.
*/
constexpr Point Center() const
{
return position + Displacement(size / 2);
}
};
} // namespace devilution