#ifndef SPECTRE_GRAPHICS_SPRITE_H #define SPECTRE_GRAPHICS_SPRITE_H #include #include "Vertex2D.h" #include "Renderable.h" namespace sp { class Texture; class Sprite : public Renderable2D { public : Sprite(); Sprite(const vec2f& pos, const vec2f& size); void init(); void setSize(vec2f size); void setColor(const Color& color); void setTexture(const Texture& texture); void setTextureCoords(const vec2u& pos, const vec2u& size); virtual const Texture* getTexture() const; virtual const std::vector& getVertices() const; virtual const std::vector& getIndices() const; virtual const RenderType getRenderType() const { return RenderType_Scene; }; virtual void render(Renderer2D& renderer) const; protected : void updateGeometry(); std::vector m_indicies; std::vector m_vertices; const Texture* m_texture; }; } // namespace sp #endif /* SPECTRE_GRAPHICS_SPRITE_H */