#pragma once #include "graphics/classicsprite.h" #include #include class ClassicSpriteSFML : public ClassicSprite { public: explicit ClassicSpriteSFML(sf::RenderTarget * const render_target, const sf::RectangleShape& shape); virtual void reset() override; virtual void display() const override; virtual void setPosition(const kku::Point &position) override; virtual void setTrailPosition(const kku::Point &position) override; virtual kku::Point getPosition() const override; virtual kku::Point getTrailPosition() const override; virtual void setColor(const kku::Color& color) override; virtual void setTrailColor(const kku::Color& color) override; virtual kku::Color getColor() const override; virtual kku::Color getTrailColor() const override; private: sf::RectangleShape _prototype; sf::RectangleShape _shape; sf::RectangleShape _trail; sf::RenderTarget * const _render_target; };