19 #ifndef MIR_GRAPHICS_RENDERABLE_H_
20 #define MIR_GRAPHICS_RENDERABLE_H_
23 #include <glm/glm.hpp>
47 virtual std::shared_ptr<Buffer>
buffer(
void const* user_id)
const = 0;
54 virtual float alpha()
const = 0;
75 virtual bool visible()
const = 0;
77 virtual bool shaped()
const = 0;
virtual float alpha() const =0
Renderable & operator=(Renderable const &)=delete
virtual std::shared_ptr< Buffer > buffer(void const *user_id) const =0
Return the next buffer that should be composited/rendered.
virtual glm::mat4 transformation() const =0
Transformation returns the transformation matrix that should be applied to the surface.
virtual int buffers_ready_for_compositor() const =0
virtual bool shaped() const =0
virtual bool alpha_enabled() const =0
std::list< std::shared_ptr< Renderable > > RenderableList
Definition: renderable.h:88
Definition: renderable.h:33
virtual ~Renderable()=default
virtual geometry::Rectangle screen_position() const =0
Definition: rectangle.h:33
virtual bool visible() const =0
TODO: Its a bit questionable that we have this member function, why not just trim the renderable from...