19 #ifndef MIR_GRAPHICS_RENDERABLE_H_
20 #define MIR_GRAPHICS_RENDERABLE_H_
23 #include <glm/glm.hpp>
38 typedef void const*
ID;
44 virtual ID
id()
const = 0;
49 virtual std::shared_ptr<Buffer>
buffer()
const = 0;
55 virtual float alpha()
const = 0;
71 virtual bool shaped()
const = 0;
All things Mir.
Definition: buffer_stream.h:37
virtual ID id() const =0
Return a unique ID for the renderable, which may or may not be based on the underlying surface ID...
virtual float alpha() const =0
Renderable & operator=(Renderable const &)=delete
virtual glm::mat4 transformation() const =0
Transformation returns the transformation matrix that should be applied to the surface.
virtual std::shared_ptr< Buffer > buffer() const =0
Return the buffer that should be composited/rendered.
virtual bool shaped() const =0
std::list< std::shared_ptr< Renderable > > RenderableList
Definition: renderable.h:80
void const * ID
Definition: renderable.h:38
Definition: renderable.h:33
virtual ~Renderable()=default
virtual geometry::Rectangle screen_position() const =0
Definition: rectangle.h:33