#include "../../include/mglpp/graphics/Sprite.hpp" #include "../../include/mglpp/graphics/Texture.hpp" extern "C" { #include } namespace mgl { Sprite::Sprite(Texture &texture, vec2f position) : texture(texture) { mgl_sprite_init(&sprite, texture.internal_texture(), position.x, position.y); } Sprite::~Sprite() { } void Sprite::set_position(vec2f position) { mgl_sprite_set_position(&sprite, {position.x, position.y}); } void Sprite::set_color(Color color) { mgl_sprite_set_color(&sprite, {color.r, color.g, color.b, color.a}); } vec2f Sprite::get_position() const { return { sprite.position.x, sprite.position.y }; } void Sprite::set_scale(vec2f scale) { sprite.scale = { scale.x, scale.y }; } void Sprite::set_scale(float scale) { sprite.scale = { scale, scale }; } vec2f Sprite::get_scale() const { return { sprite.scale.x, sprite.scale.y }; } const Texture* Sprite::get_texture() const { return &texture; } void Sprite::draw(Window&) { mgl_sprite_draw(mgl_get_context(), &sprite); } }