2021-12-29 09:59:18 -05:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "core/area.h"
|
|
|
|
#include "core/color.h"
|
|
|
|
|
|
|
|
namespace kku
|
|
|
|
{
|
|
|
|
|
|
|
|
class Rectangle
|
|
|
|
{
|
2022-10-17 22:59:51 -04:00
|
|
|
public:
|
2021-12-29 09:59:18 -05:00
|
|
|
virtual ~Rectangle() = default;
|
2022-10-17 22:59:51 -04:00
|
|
|
virtual void setRect(const Area<float> &rect) = 0;
|
2021-12-29 09:59:18 -05:00
|
|
|
virtual Area<float> getRect() const = 0;
|
|
|
|
|
2022-10-17 22:59:51 -04:00
|
|
|
virtual void setPosition(const Point &position) = 0;
|
2021-12-29 09:59:18 -05:00
|
|
|
virtual Point getPosition() const = 0;
|
2022-10-17 22:59:51 -04:00
|
|
|
virtual void move(const kku::Vector2<float> &delta) = 0;
|
2021-12-29 09:59:18 -05:00
|
|
|
|
2022-10-17 22:59:51 -04:00
|
|
|
virtual void setColor(const Color &color) = 0;
|
2022-02-05 20:33:09 -05:00
|
|
|
virtual kku::Color getColor() const = 0;
|
2022-10-17 22:59:51 -04:00
|
|
|
virtual bool contains(const kku::Point &position) const = 0;
|
2021-12-29 09:59:18 -05:00
|
|
|
|
|
|
|
virtual void display() = 0;
|
|
|
|
};
|
|
|
|
|
2022-10-17 22:59:51 -04:00
|
|
|
} // namespace kku
|