diff options
Diffstat (limited to 'src/engine/bounds.hpp')
| -rw-r--r-- | src/engine/bounds.hpp | 32 | 
1 files changed, 32 insertions, 0 deletions
diff --git a/src/engine/bounds.hpp b/src/engine/bounds.hpp new file mode 100644 index 0000000..964e73a --- /dev/null +++ b/src/engine/bounds.hpp @@ -0,0 +1,32 @@ +#pragma once + +#include "engine/vector2.hpp" + +struct BoundsOpts +{ +	unsigned int width; +	unsigned int height; +}; + +class Bounds +{ +public: +	explicit Bounds(BoundsOpts opts); + +	[[nodiscard]] unsigned int width() const; + +	void width(unsigned int width); + +	[[nodiscard]] unsigned int height() const; + +	void height(unsigned int height); + +	void verify_coords(const Vector2 &coords) const; + +	Bounds operator*(const Bounds &bounds) const; +	Bounds operator+(const Bounds &bounds) const; + +private: +	unsigned int _width = 0U; +	unsigned int _height = 0U; +};  | 
