Mir
Public Types | Public Member Functions | List of all members
mir::examples::WindowManagerTools Class Referenceabstract

The interface through which the policy instructs the controller. These functions assume that the BasicWindowManager data structures can be accessed freely. I.e. should only be invoked by the policy handle_... methods (where any necessary locks are held). More...

#include <server_example_basic_window_manager.h>

Inheritance diagram for mir::examples::WindowManagerTools:
[legend]

Public Types

using SurfaceInfoMap = std::map< std::weak_ptr< scene::Surface >, SurfaceInfo, std::owner_less< std::weak_ptr< scene::Surface > >>
 
using SessionInfoMap = std::map< std::weak_ptr< scene::Session >, SessionInfo, std::owner_less< std::weak_ptr< scene::Session > >>
 

Public Member Functions

virtual auto find_session (std::function< bool(SessionInfo const &info)> const &predicate) -> std::shared_ptr< scene::Session >=0
 
virtual auto info_for (std::weak_ptr< scene::Session > const &session) const -> SessionInfo &=0
 
virtual auto info_for (std::weak_ptr< scene::Surface > const &surface) const -> SurfaceInfo &=0
 
virtual std::shared_ptr< scene::Sessionfocused_session () const =0
 
virtual std::shared_ptr< scene::Surfacefocused_surface () const =0
 
virtual void focus_next_session ()=0
 
virtual void set_focus_to (std::shared_ptr< scene::Session > const &focus, std::shared_ptr< scene::Surface > const &surface)=0
 
virtual auto surface_at (geometry::Point cursor) const -> std::shared_ptr< scene::Surface >=0
 
virtual auto active_display () -> geometry::Rectangle const =0
 
virtual void forget (std::weak_ptr< scene::Surface > const &surface)=0
 
virtual void raise_tree (std::shared_ptr< scene::Surface > const &root)=0
 
virtual ~WindowManagerTools ()=default
 
 WindowManagerTools ()=default
 
 WindowManagerTools (WindowManagerTools const &)=delete
 
WindowManagerToolsoperator= (WindowManagerTools const &)=delete
 

Detailed Description

The interface through which the policy instructs the controller. These functions assume that the BasicWindowManager data structures can be accessed freely. I.e. should only be invoked by the policy handle_... methods (where any necessary locks are held).

Examples:
server_example_window_management.cpp.

Member Typedef Documentation

◆ SessionInfoMap

using mir::examples::WindowManagerTools::SessionInfoMap = std::map<std::weak_ptr<scene::Session>, SessionInfo, std::owner_less<std::weak_ptr<scene::Session> >>

◆ SurfaceInfoMap

using mir::examples::WindowManagerTools::SurfaceInfoMap = std::map<std::weak_ptr<scene::Surface>, SurfaceInfo, std::owner_less<std::weak_ptr<scene::Surface> >>

Constructor & Destructor Documentation

◆ ~WindowManagerTools()

virtual mir::examples::WindowManagerTools::~WindowManagerTools ( )
virtualdefault

◆ WindowManagerTools() [1/2]

mir::examples::WindowManagerTools::WindowManagerTools ( )
default

◆ WindowManagerTools() [2/2]

mir::examples::WindowManagerTools::WindowManagerTools ( WindowManagerTools const &  )
delete

Member Function Documentation

◆ active_display()

virtual auto mir::examples::WindowManagerTools::active_display ( ) -> geometry::Rectangle const
pure virtual

◆ find_session()

virtual auto mir::examples::WindowManagerTools::find_session ( std::function< bool(SessionInfo const &info)> const &  predicate) -> std::shared_ptr< scene::Session >
pure virtual

◆ focus_next_session()

virtual void mir::examples::WindowManagerTools::focus_next_session ( )
pure virtual

◆ focused_session()

virtual std::shared_ptr<scene::Session> mir::examples::WindowManagerTools::focused_session ( ) const
pure virtual

◆ focused_surface()

virtual std::shared_ptr<scene::Surface> mir::examples::WindowManagerTools::focused_surface ( ) const
pure virtual

◆ forget()

virtual void mir::examples::WindowManagerTools::forget ( std::weak_ptr< scene::Surface > const &  surface)
pure virtual

◆ info_for() [1/2]

virtual auto mir::examples::WindowManagerTools::info_for ( std::weak_ptr< scene::Session > const &  session) const -> SessionInfo &
pure virtual

◆ info_for() [2/2]

virtual auto mir::examples::WindowManagerTools::info_for ( std::weak_ptr< scene::Surface > const &  surface) const -> SurfaceInfo &
pure virtual

◆ operator=()

WindowManagerTools& mir::examples::WindowManagerTools::operator= ( WindowManagerTools const &  )
delete

◆ raise_tree()

virtual void mir::examples::WindowManagerTools::raise_tree ( std::shared_ptr< scene::Surface > const &  root)
pure virtual

◆ set_focus_to()

virtual void mir::examples::WindowManagerTools::set_focus_to ( std::shared_ptr< scene::Session > const &  focus,
std::shared_ptr< scene::Surface > const &  surface 
)
pure virtual

◆ surface_at()

virtual auto mir::examples::WindowManagerTools::surface_at ( geometry::Point  cursor) const -> std::shared_ptr< scene::Surface >
pure virtual

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

Copyright © 2012-2016 Canonical Ltd.
Generated on Mon Mar 27 12:06:55 UTC 2017