67 lines
1.6 KiB
C++
67 lines
1.6 KiB
C++
#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);
|
|
}
|