19 #ifndef MIR_SHELL_SYSTEM_COMPOSITOR_WINDOW_MANAGER_H_
20 #define MIR_SHELL_SYSTEM_COMPOSITOR_WINDOW_MANAGER_H_
26 namespace scene {
class PlacementStrategy;
class SessionCoordinator; }
29 class FocusController;
45 virtual void on_session_added(std::shared_ptr<scene::Session>
const& session)
const;
52 virtual void on_session_ready(std::shared_ptr<scene::Session>
const& session)
const;
61 void add_session(std::shared_ptr<scene::Session>
const& session)
override;
63 void remove_session(std::shared_ptr<scene::Session>
const& session)
override;
66 std::shared_ptr<scene::Session>
const& session,
71 std::shared_ptr<scene::Session>
const& session,
72 std::shared_ptr<scene::Surface>
const& surface,
76 std::shared_ptr<scene::Session>
const& session,
77 std::weak_ptr<scene::Surface>
const& surface)
override;
89 int set_surface_attribute(
90 std::shared_ptr<scene::Session>
const& session,
91 std::shared_ptr<scene::Surface>
const& surface,
SystemCompositorWindowManager(FocusController *focus_controller, std::shared_ptr< shell::DisplayLayout > const &display_layout, std::shared_ptr< scene::SessionCoordinator > const &session_coordinator)
Definition: system_compositor_window_manager.cpp:35
All things Mir.
Definition: atomic_callback.h:25
Minimal window management for system compositing.
Definition: system_compositor_window_manager.h:34
interface to provide window management logic
Definition: window_manager.h:37
FocusController *const focus_controller
Definition: system_compositor_window_manager.h:56
std::shared_ptr< DisplayLayout > const display_layout
Definition: system_compositor_window_manager.h:57
Definition: focus_controller.h:38
virtual void on_session_removed(std::shared_ptr< scene::Session > const &session) const
Called when a session disconnects.
Definition: system_compositor_window_manager.cpp:136
virtual void on_session_added(std::shared_ptr< scene::Session > const &session) const
Called when a session first connects (before any surfaces are ready)
Definition: system_compositor_window_manager.cpp:132
Definition: surface_creation_parameters.h:42
Definition: rectangle.h:33
virtual void on_session_ready(std::shared_ptr< scene::Session > const &session) const
Called the first time each surface owned by the session posts its first buffer.
Definition: system_compositor_window_manager.cpp:148
Specification of surface properties requested by client.
Definition: surface_specification.h:50
std::shared_ptr< scene::SessionCoordinator > const session_coordinator
Definition: system_compositor_window_manager.h:58