Mir
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | List of all members
mir::compositor::GLRenderer Class Reference

#include <gl_renderer.h>

Inheritance diagram for mir::compositor::GLRenderer:
[legend]

Public Member Functions

 GLRenderer (graphics::GLProgramFactory const &program_factory, std::unique_ptr< graphics::GLTextureCache > &&texture_cache, geometry::Rectangle const &display_area, DestinationAlpha dest_alpha)
 
void set_viewport (geometry::Rectangle const &rect) override
 
void set_rotation (float degrees) override
 
void begin () const override
 
void render (graphics::RenderableList const &) const override
 
void end () const override
 
void suspend () override
 
virtual void tessellate (std::vector< graphics::GLPrimitive > &primitives, graphics::Renderable const &renderable) const
 tessellate defines the list of triangles that will be used to render the surface. More...
 
virtual void render (graphics::Renderable const &renderable) const
 
DestinationAlpha destination_alpha () const
 
- Public Member Functions inherited from mir::compositor::Renderer
virtual ~Renderer ()=default
 

Additional Inherited Members

- Protected Member Functions inherited from mir::compositor::Renderer
 Renderer ()=default
 
 Renderer (const Renderer &)=delete
 
Rendereroperator= (const Renderer &)=delete
 

Constructor & Destructor Documentation

mir::compositor::GLRenderer::GLRenderer ( graphics::GLProgramFactory const &  program_factory,
std::unique_ptr< graphics::GLTextureCache > &&  texture_cache,
geometry::Rectangle const &  display_area,
DestinationAlpha  dest_alpha 
)

Member Function Documentation

void mir::compositor::GLRenderer::begin ( ) const
overridevirtual
mc::DestinationAlpha mir::compositor::GLRenderer::destination_alpha ( ) const
void mir::compositor::GLRenderer::end ( ) const
overridevirtual
void mir::compositor::GLRenderer::render ( graphics::RenderableList const &  renderables) const
overridevirtual
void mir::compositor::GLRenderer::render ( graphics::Renderable const &  renderable) const
virtual
void mir::compositor::GLRenderer::set_rotation ( float  degrees)
overridevirtual
void mir::compositor::GLRenderer::set_viewport ( geometry::Rectangle const &  rect)
overridevirtual
void mir::compositor::GLRenderer::suspend ( )
overridevirtual
void mir::compositor::GLRenderer::tessellate ( std::vector< graphics::GLPrimitive > &  primitives,
graphics::Renderable const &  renderable 
) const
virtual

tessellate defines the list of triangles that will be used to render the surface.

By default it just returns 4 vertices for a rectangle. However you can override its behaviour to tessellate more finely and deform freely for effects like wobbly windows.

Parameters
[in,out]primitivesThe list of rendering primitives to be grown and/or modified.
[in]renderableThe renderable surface being tessellated.
Note
The cohesion of this function to GLRenderer is quite loose and it does not strictly need to reside here. However it seems a good choice under GLRenderer while this remains the only OpenGL-specific class in the display server, and tessellation is very much OpenGL-specific.

The documentation for this class was generated from the following files:

Copyright © 2012,2013 Canonical Ltd.
Generated on Fri Oct 10 14:07:14 UTC 2014