Mir
Public Types | Public Member Functions | Protected Member Functions | List of all members
mir::examples::BasicWindowManager Class Reference

A policy based window manager. This takes care of the management of any meta implementation held for the sessions and surfaces. More...

#include <server_example_basic_window_manager.h>

Inheritance diagram for mir::examples::BasicWindowManager:
[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

void add_session (std::shared_ptr< scene::Session > const &session) override
 
void remove_session (std::shared_ptr< scene::Session > const &session) override
 
auto add_surface (std::shared_ptr< scene::Session > const &session, scene::SurfaceCreationParameters const &params, std::function< frontend::SurfaceId(std::shared_ptr< scene::Session > const &session, scene::SurfaceCreationParameters const &params)> const &build) -> frontend::SurfaceId override
 
void modify_surface (std::shared_ptr< scene::Session > const &session, std::shared_ptr< scene::Surface > const &surface, shell::SurfaceSpecification const &modifications) override
 
void remove_surface (std::shared_ptr< scene::Session > const &session, std::weak_ptr< scene::Surface > const &surface) override
 
void forget (std::weak_ptr< scene::Surface > const &surface) override
 
void add_display (geometry::Rectangle const &area) override
 
void remove_display (geometry::Rectangle const &area) override
 
bool handle_keyboard_event (MirKeyboardEvent const *event) override
 
bool handle_touch_event (MirTouchEvent const *event) override
 
bool handle_pointer_event (MirPointerEvent const *event) override
 
void handle_raise_surface (std::shared_ptr< scene::Session > const &session, std::shared_ptr< scene::Surface > const &surface, uint64_t timestamp) override
 
int set_surface_attribute (std::shared_ptr< scene::Session > const &, std::shared_ptr< scene::Surface > const &surface, MirWindowAttrib attrib, int value) override
 
auto find_session (std::function< bool(SessionInfo const &info)> const &predicate) -> std::shared_ptr< scene::Session > override
 
auto info_for (std::weak_ptr< scene::Session > const &session) const -> SessionInfo &override
 
auto info_for (std::weak_ptr< scene::Surface > const &surface) const -> SurfaceInfo &override
 
std::shared_ptr< scene::Sessionfocused_session () const override
 
std::shared_ptr< scene::Surfacefocused_surface () const override
 
void focus_next_session () override
 
void set_focus_to (std::shared_ptr< scene::Session > const &focus, std::shared_ptr< scene::Surface > const &surface) override
 
auto surface_at (geometry::Point cursor) const -> std::shared_ptr< scene::Surface > override
 
auto active_display () -> geometry::Rectangle const override
 
void raise_tree (std::shared_ptr< scene::Surface > const &root) override
 
- Public Member Functions inherited from mir::shell::WindowManager
virtual ~WindowManager ()=default
 
 WindowManager ()=default
 
 WindowManager (WindowManager const &)=delete
 
WindowManageroperator= (WindowManager const &)=delete
 

Protected Member Functions

 BasicWindowManager (shell::FocusController *focus_controller, std::unique_ptr< WindowManagementPolicy > policy)
 
- Protected Member Functions inherited from mir::examples::WindowManagerTools
virtual ~WindowManagerTools ()=default
 
 WindowManagerTools ()=default
 
 WindowManagerTools (WindowManagerTools const &)=delete
 
WindowManagerToolsoperator= (WindowManagerTools const &)=delete
 

Additional Inherited Members

- Protected Types inherited from mir::examples::WindowManagerTools
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 > >>
 

Detailed Description

A policy based window manager. This takes care of the management of any meta implementation held for the sessions and surfaces.

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

◆ BasicWindowManager()

mir::examples::BasicWindowManager::BasicWindowManager ( shell::FocusController focus_controller,
std::unique_ptr< WindowManagementPolicy policy 
)
protected

Member Function Documentation

◆ active_display()

auto mir::examples::BasicWindowManager::active_display ( ) -> geometry::Rectangle const
overridevirtual

◆ add_display()

void mir::examples::BasicWindowManager::add_display ( geometry::Rectangle const &  area)
overridevirtual

◆ add_session()

void mir::examples::BasicWindowManager::add_session ( std::shared_ptr< scene::Session > const &  session)
overridevirtual

◆ add_surface()

auto mir::examples::BasicWindowManager::add_surface ( std::shared_ptr< scene::Session > const &  session,
scene::SurfaceCreationParameters const &  params,
std::function< frontend::SurfaceId(std::shared_ptr< scene::Session > const &session, scene::SurfaceCreationParameters const &params)> const &  build 
) -> frontend::SurfaceId
overridevirtual

◆ find_session()

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

◆ focus_next_session()

void mir::examples::BasicWindowManager::focus_next_session ( )
overridevirtual

◆ focused_session()

auto mir::examples::BasicWindowManager::focused_session ( ) const
overridevirtual

◆ focused_surface()

auto mir::examples::BasicWindowManager::focused_surface ( ) const
overridevirtual

◆ forget()

void mir::examples::BasicWindowManager::forget ( std::weak_ptr< scene::Surface > const &  surface)
overridevirtual

◆ handle_keyboard_event()

bool mir::examples::BasicWindowManager::handle_keyboard_event ( MirKeyboardEvent const *  event)
overridevirtual

◆ handle_pointer_event()

bool mir::examples::BasicWindowManager::handle_pointer_event ( MirPointerEvent const *  event)
overridevirtual

◆ handle_raise_surface()

void mir::examples::BasicWindowManager::handle_raise_surface ( std::shared_ptr< scene::Session > const &  session,
std::shared_ptr< scene::Surface > const &  surface,
uint64_t  timestamp 
)
overridevirtual

◆ handle_touch_event()

bool mir::examples::BasicWindowManager::handle_touch_event ( MirTouchEvent const *  event)
overridevirtual

◆ info_for() [1/2]

auto mir::examples::BasicWindowManager::info_for ( std::weak_ptr< scene::Session > const &  session) const -> SessionInfo&
overridevirtual

◆ info_for() [2/2]

auto mir::examples::BasicWindowManager::info_for ( std::weak_ptr< scene::Surface > const &  surface) const -> SurfaceInfo&
overridevirtual

◆ modify_surface()

void mir::examples::BasicWindowManager::modify_surface ( std::shared_ptr< scene::Session > const &  session,
std::shared_ptr< scene::Surface > const &  surface,
shell::SurfaceSpecification const &  modifications 
)
overridevirtual

◆ raise_tree()

void mir::examples::BasicWindowManager::raise_tree ( std::shared_ptr< scene::Surface > const &  root)
overridevirtual

◆ remove_display()

void mir::examples::BasicWindowManager::remove_display ( geometry::Rectangle const &  area)
overridevirtual

◆ remove_session()

void mir::examples::BasicWindowManager::remove_session ( std::shared_ptr< scene::Session > const &  session)
overridevirtual

◆ remove_surface()

void mir::examples::BasicWindowManager::remove_surface ( std::shared_ptr< scene::Session > const &  session,
std::weak_ptr< scene::Surface > const &  surface 
)
overridevirtual

◆ set_focus_to()

void mir::examples::BasicWindowManager::set_focus_to ( std::shared_ptr< scene::Session > const &  focus,
std::shared_ptr< scene::Surface > const &  surface 
)
overridevirtual

◆ set_surface_attribute()

int mir::examples::BasicWindowManager::set_surface_attribute ( std::shared_ptr< scene::Session > const &  ,
std::shared_ptr< scene::Surface > const &  surface,
MirWindowAttrib  attrib,
int  value 
)
overridevirtual

◆ surface_at()

auto mir::examples::BasicWindowManager::surface_at ( geometry::Point  cursor) const -> std::shared_ptr<scene::Surface>
overridevirtual

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

Copyright © 2012-2016 Canonical Ltd.
Generated on Mon Jun 5 11:07:25 UTC 2017