#include "classicspritesfml.h" ClassicSpriteSFML::ClassicSpriteSFML(sf::RenderTarget * const render_target, const sf::RectangleShape& shape) : _prototype(shape), _shape(shape), _trail(shape), _render_target(render_target) {} void ClassicSpriteSFML::reset() { _shape.setPosition(0, 0); _trail.setPosition(0, 0); _shape = _prototype; _trail = _prototype; } void ClassicSpriteSFML::setPosition(const kku::Point& position) { _shape.setPosition(position.x, position.y); } void ClassicSpriteSFML::setTrailPosition(const kku::Point &position) { _trail.setPosition(position.x, position.y); } kku::Point ClassicSpriteSFML::getPosition() const { return kku::Point{ _shape.getPosition().x, _shape.getPosition().y }; } kku::Point ClassicSpriteSFML::getTrailPosition() const { return kku::Point{ _trail.getPosition().x, _trail.getPosition().y }; } void ClassicSpriteSFML::setColor(const kku::Color& color) { _shape.setFillColor(sf::Color{ color.red, color.green, color.blue, color.alpha }); } void ClassicSpriteSFML::setTrailColor(const kku::Color& color) { _trail.setFillColor(sf::Color{ color.red, color.green, color.blue, color.alpha }); } kku::Color ClassicSpriteSFML::getColor() const { const auto color = _shape.getFillColor(); return kku::Color{ color.r, color.g, color.b, color.a }; } kku::Color ClassicSpriteSFML::getTrailColor() const { const auto color = _trail.getFillColor(); return kku::Color{ color.r, color.g, color.b, color.a }; } void ClassicSpriteSFML::display() const { _render_target->draw(_shape); _render_target->draw(_trail); }