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

#include <surface_stack.h>

Inheritance diagram for mir::scene::SurfaceStack:
Inheritance graph
[legend]

Public Member Functions

 SurfaceStack (std::shared_ptr< InputRegistrar > const &input_registrar, std::shared_ptr< SceneReport > const &report)
 
virtual ~SurfaceStack () noexcept(true)
 
graphics::RenderableList generate_renderable_list () const
 Generate a valid list of renderables based on the current state of the Scene. More...
 
virtual void set_change_callback (std::function< void()> const &f)
 Sets a callback to be called whenever the state of the Scene changes. More...
 
virtual void for_each_if (compositor::FilterForScene &filter, compositor::OperatorForScene &op)
 
virtual void lock ()
 
virtual void unlock ()
 
void for_each (std::function< void(std::shared_ptr< input::InputChannel > const &)> const &callback)
 
virtual void remove_surface (std::weak_ptr< Surface > const &surface) override
 
virtual void raise (std::weak_ptr< Surface > const &surface) override
 
void add_surface (std::shared_ptr< Surface > const &surface, DepthId depth, input::InputReceptionMode input_mode) override
 
- Public Member Functions inherited from mir::compositor::Scene
virtual ~Scene ()
 
- Public Member Functions inherited from mir::input::InputTargets
virtual ~InputTargets ()=default
 
virtual void for_each (std::function< void(std::shared_ptr< input::InputChannel > const &)> const &callback)=0
 
- Public Member Functions inherited from mir::scene::SurfaceStackModel
virtual ~SurfaceStackModel ()
 
virtual void add_surface (std::shared_ptr< Surface > const &surface, DepthId depth, input::InputReceptionMode input_mode)=0
 

Additional Inherited Members

- Protected Member Functions inherited from mir::compositor::Scene
 Scene ()=default
 
- Protected Member Functions inherited from mir::input::InputTargets
 InputTargets ()=default
 
 InputTargets (InputTargets const &)=delete
 
InputTargetsoperator= (InputTargets const &)=delete
 
- Protected Member Functions inherited from mir::scene::SurfaceStackModel
 SurfaceStackModel ()=default
 
 SurfaceStackModel (const SurfaceStackModel &)=delete
 
SurfaceStackModeloperator= (const SurfaceStackModel &)=delete
 

Constructor & Destructor Documentation

mir::scene::SurfaceStack::SurfaceStack ( std::shared_ptr< InputRegistrar > const &  input_registrar,
std::shared_ptr< SceneReport > const &  report 
)
explicit
virtual mir::scene::SurfaceStack::~SurfaceStack ( )
inlinevirtualnoexcept

Member Function Documentation

void mir::scene::SurfaceStack::add_surface ( std::shared_ptr< Surface > const &  surface,
DepthId  depth,
input::InputReceptionMode  input_mode 
)
override
void mir::scene::SurfaceStack::for_each ( std::function< void(std::shared_ptr< input::InputChannel > const &)> const &  callback)
virtual void mir::scene::SurfaceStack::for_each_if ( compositor::FilterForScene filter,
compositor::OperatorForScene op 
)
virtual
graphics::RenderableList mir::scene::SurfaceStack::generate_renderable_list ( ) const
virtual

Generate a valid list of renderables based on the current state of the Scene.

Returns
a list of mg::Renderables. The list is in stacking order from back to front.

Implements mir::compositor::Scene.

virtual void mir::scene::SurfaceStack::lock ( )
virtual
virtual void mir::scene::SurfaceStack::raise ( std::weak_ptr< Surface > const &  surface)
overridevirtual
virtual void mir::scene::SurfaceStack::remove_surface ( std::weak_ptr< Surface > const &  surface)
overridevirtual
virtual void mir::scene::SurfaceStack::set_change_callback ( std::function< void()> const &  f)
virtual

Sets a callback to be called whenever the state of the Scene changes.

The supplied callback should not directly or indirectly (e.g., by changing a property of a surface) change the state of the Scene, otherwise a deadlock may occur.

Implements mir::compositor::Scene.

virtual void mir::scene::SurfaceStack::unlock ( )
virtual

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

Copyright © 2012,2013 Canonical Ltd.
Generated on Fri Apr 11 21:14:53 UTC 2014