#pragma once #include <SFML/Graphics/RenderTarget.hpp> #include <SFML/Graphics/Sprite.hpp> #include <memory> #include "core/sprite.h" class SpriteSFML : public kku::Sprite { public: explicit SpriteSFML(sf::RenderTarget * const render_target, const std::shared_ptr<sf::Texture> &texture, const kku::Area<unsigned int>& cropping); virtual void setPosition(const kku::Point& position) override; virtual kku::Point getPosition() const override; virtual void move(const kku::Vector2<float>& delta) override; virtual void display() const override; protected: sf::RenderTarget * const _render_target; sf::Sprite _sprite; };