project-kyoku/include/core/rectangle.h

28 lines
623 B
C
Raw Permalink Normal View History

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