#pragma once #include #include #include #include "core/rectangle.h" class RectangleSFML : public kku::Rectangle { public: explicit RectangleSFML(sf::RenderTarget *const render_target); virtual void setRect(const kku::Area &rect) override; virtual kku::Area getRect() const override; virtual void setPosition(const kku::Point &position) override; virtual kku::Point getPosition() const override; virtual void move(const kku::Vector2 &delta) override; virtual void setColor(const kku::Color &color) override; virtual kku::Color getColor() const override; virtual bool contains(const kku::Point &position) const override; virtual void display() override; private: sf::RenderTarget *const _render_target; sf::RectangleShape _rectangle; };