Mir
Public Member Functions | List of all members
mir::examples::BasicWindowManagerCopy< WindowManagementPolicy, SessionInfo, SurfaceInfo > Class Template 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::BasicWindowManagerCopy< WindowManagementPolicy, SessionInfo, SurfaceInfo >:
[legend]

Public Member Functions

template<typename... PolicyArgs>
 BasicWindowManagerCopy (shell::FocusController *focus_controller, PolicyArgs &&...policy_args)
 
- Public Member Functions inherited from mir::shell::WindowManager
virtual ~WindowManager ()=default
 
 WindowManager ()=default
 
 WindowManager (WindowManager const &)=delete
 
WindowManageroperator= (WindowManager const &)=delete
 

Detailed Description

template<typename WindowManagementPolicy, typename SessionInfo, typename SurfaceInfo>
class mir::examples::BasicWindowManagerCopy< WindowManagementPolicy, SessionInfo, SurfaceInfo >

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

Template Parameters
WindowManagementPolicythe constructor must take a pointer to BasicWindowManagerTools<> as its first parameter. (Any additional parameters can be forwarded by BasicWindowManager::BasicWindowManager.) In addition WindowManagementPolicy must implement the following methods:
  • void handle_session_info_updated(SessionInfoMap& session_info, Rectangles const& displays);
  • void handle_displays_updated(SessionInfoMap& session_info, Rectangles const& displays);
  • auto handle_place_new_surface(std::shared_ptr<ms::Session> const& session, ms::SurfaceCreationParameters const& request_parameters) -> ms::SurfaceCreationParameters;
  • void handle_new_surface(std::shared_ptr<ms::Session> const& session, std::shared_ptr<ms::Surface> const& surface);
  • void handle_delete_surface(std::shared_ptr<ms::Session> const& /*session*/, std::weak_ptr<ms::Surface> const& /*surface*/);
  • int handle_set_state(std::shared_ptr<ms::Surface> const& surface, MirSurfaceState value);
  • bool handle_keyboard_event(MirKeyboardEvent const* event);
  • bool handle_touch_event(MirTouchEvent const* event);
  • bool handle_pointer_event(MirPointerEvent const* event);
SessionInfomust be default constructable.
SurfaceInfomust be constructable from (std::shared_ptr<ms::Session>, std::shared_ptr<ms::Surface>, ms::SurfaceCreationParameters const& params)
Examples:
server_example_window_management.cpp.

Constructor & Destructor Documentation

template<typename WindowManagementPolicy , typename SessionInfo , typename SurfaceInfo >
template<typename... PolicyArgs>
mir::examples::BasicWindowManagerCopy< WindowManagementPolicy, SessionInfo, SurfaceInfo >::BasicWindowManagerCopy ( shell::FocusController focus_controller,
PolicyArgs &&...  policy_args 
)
inline

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

Copyright © 2012-2015 Canonical Ltd.
Generated on Thu Oct 8 16:20:16 UTC 2015