#pragma once #include "core/area.h" #include "core/color.h" namespace kku { class Rectangle { public: virtual ~Rectangle() = default; virtual void setRect(const Area& rect) = 0; virtual Area getRect() const = 0; virtual void setPosition(const Point& position) = 0; virtual Point getPosition() const = 0; virtual void move(const kku::Vector2& delta) = 0; virtual void setColor(const Color& color) = 0; virtual kku::Color getColor() const = 0; virtual bool contains(const kku::Point& position) const = 0; virtual void display() = 0; }; }