diff options
Diffstat (limited to 'src/interfaces/bounds.hpp')
-rw-r--r-- | src/interfaces/bounds.hpp | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/src/interfaces/bounds.hpp b/src/interfaces/bounds.hpp deleted file mode 100644 index b431874..0000000 --- a/src/interfaces/bounds.hpp +++ /dev/null @@ -1,41 +0,0 @@ -#pragma once - -#include "interfaces/vector2.hpp" - -#include <memory> - -enum CoordsValidation -{ - VALID, - X_HIGH, - Y_HIGH -}; - -class IBounds -{ -public: - virtual ~IBounds() = default; - - [[nodiscard]] virtual unsigned int width() const = 0; - - virtual void width(unsigned int width) = 0; - - [[nodiscard]] virtual unsigned int height() const = 0; - - virtual void height(unsigned int height) = 0; - - [[nodiscard]] virtual CoordsValidation - validate_coords(const IVector2 &coords) const = 0; - - virtual const IBounds &operator*=(const IBounds &bounds) = 0; - virtual const IBounds &operator+=(const IBounds &bounds) = 0; - virtual const IBounds &operator-=(const IBounds &bounds) = 0; -}; - -struct IBoundsOptions -{ - unsigned int width; - unsigned int height; -}; - -using IBoundsFactory = std::shared_ptr<IBounds> (*)(const IBoundsOptions &options); |