#ifndef SPECTRE_GRAPHICS_RENDERABLE_H #define SPECTRE_GRAPHICS_RENDERABLE_H #include "Vertex2D.h" #include "Transformable.h" #include #include #include class ShaderProgram; class Texture; enum RenderType { RenderType_Scene = 0, RenderType_UI = 1 }; class Renderable2D : public Transformable { public : Renderable2D(); Renderable2D(const Vector2f& position); virtual ~Renderable2D(); virtual const std::vector& getVertices() const = 0; virtual const std::vector& getIndices() const = 0; virtual const Texture* getTexture() const { return NULL; }; virtual const RenderType getRenderType() const = 0; }; #endif /* SPECTRE_GRAPHCIS_RENDERABLE_H */