#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; }; } // namespace kku