19 #ifndef MIR_SHELL_SYSTEM_COMPOSITOR_WINDOW_MANAGER_H_ 20 #define MIR_SHELL_SYSTEM_COMPOSITOR_WINDOW_MANAGER_H_ 30 namespace scene {
class SessionCoordinator; }
33 class FocusController;
43 std::shared_ptr<shell::DisplayLayout>
const& display_layout,
44 std::shared_ptr<scene::SessionCoordinator>
const& session_coordinator);
49 virtual void on_session_added(std::shared_ptr<scene::Session>
const& session)
const;
53 virtual void on_session_removed(std::shared_ptr<scene::Session>
const& session)
const;
56 virtual void on_session_ready(std::shared_ptr<scene::Session>
const& session)
const;
65 void add_session(std::shared_ptr<scene::Session>
const& session)
override;
67 void remove_session(std::shared_ptr<scene::Session>
const& session)
override;
70 std::shared_ptr<scene::Session>
const& session,
75 std::shared_ptr<scene::Session>
const& session,
76 std::shared_ptr<scene::Surface>
const& surface,
80 std::shared_ptr<scene::Session>
const& session,
81 std::weak_ptr<scene::Surface>
const& surface)
override;
93 void handle_raise_surface(
94 std::shared_ptr<scene::Session>
const& session,
95 std::shared_ptr<scene::Surface>
const& surface,
96 uint64_t timestamp)
override;
98 int set_surface_attribute(
99 std::shared_ptr<scene::Session>
const& session,
100 std::shared_ptr<scene::Surface>
const& surface,
106 std::mutex
mutable mutex;
107 OutputMap output_map;
All things Mir.
Definition: atomic_callback.h:25
Minimal window management for system compositing.
Definition: system_compositor_window_manager.h:38
interface to provide window management logic
Definition: window_manager.h:37
FocusController *const focus_controller
Definition: system_compositor_window_manager.h:60
IntWrapper< detail::GraphicsConfOutputIdTag > DisplayConfigurationOutputId
Definition: display_configuration.h:39
Definition: event_private.h:51
std::shared_ptr< DisplayLayout > const display_layout
Definition: system_compositor_window_manager.h:61
Definition: focus_controller.h:38
Definition: surface_creation_parameters.h:41
Definition: rectangle.h:33
Specification of surface properties requested by client.
Definition: surface_specification.h:49
std::shared_ptr< scene::SessionCoordinator > const session_coordinator
Definition: system_compositor_window_manager.h:62