#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; };