19 #ifndef MIR_SHELL_CANONICAL_WINDOW_MANAGER_H_ 20 #define MIR_SHELL_CANONICAL_WINDOW_MANAGER_H_ 46 std::shared_ptr<shell::DisplayLayout>
const& display_layout);
53 std::shared_ptr<scene::Session>
const& session,
57 void handle_new_surface(std::shared_ptr<scene::Session>
const& session, std::shared_ptr<scene::Surface>
const& surface)
override;
60 std::shared_ptr<scene::Session>
const& session,
61 std::shared_ptr<scene::Surface>
const& surface,
64 void handle_delete_surface(std::shared_ptr<scene::Session>
const& session, std::weak_ptr<scene::Surface>
const& surface)
override;
75 std::shared_ptr<scene::Session>
const& session,
76 std::shared_ptr<scene::Surface>
const& surface)
override;
79 static const int modifier_mask =
93 void select_active_surface(std::shared_ptr<scene::Surface>
const& surface);
94 auto active_surface()
const -> std::shared_ptr<scene::Surface>;
100 std::shared_ptr<mir::scene::Surface>
const& surface,
105 std::shared_ptr<DisplayLayout>
const display_layout;
109 std::weak_ptr<scene::Surface> active_surface_;
110 using FullscreenSurfaces = std::set<std::weak_ptr<scene::Surface>, std::owner_less<std::weak_ptr<scene::Surface>>>;
112 FullscreenSurfaces fullscreen_surfaces;
All things Mir.
Definition: atomic_callback.h:25
auto handle_place_new_surface(std::shared_ptr< scene::Session > const &session, scene::SurfaceCreationParameters const &request_parameters) -> scene::SurfaceCreationParameters override
Definition: canonical_window_manager.cpp:121
typename WindowManagerTools::SessionInfoMap SessionInfoMap
Definition: basic_window_manager.h:77
A collection of rectangles (with possible duplicates).
Definition: rectangles.h:34
void handle_displays_updated(SessionInfoMap &session_info, geometry::Rectangles const &displays) override
Definition: canonical_window_manager.cpp:96
Definition: event_private.h:51
Definition: canonical_window_manager.h:40
bool handle_keyboard_event(MirKeyboardEvent const *event) override
Definition: canonical_window_manager.cpp:563
bool handle_pointer_event(MirPointerEvent const *event) override
Definition: canonical_window_manager.cpp:689
CanonicalWindowManagerPolicy(WindowManagerTools *const tools, std::shared_ptr< shell::DisplayLayout > const &display_layout)
Definition: canonical_window_manager.cpp:76
void handle_session_info_updated(SessionInfoMap &session_info, geometry::Rectangles const &displays) override
Definition: canonical_window_manager.cpp:92
Definition: basic_window_manager.h:74
int handle_set_state(std::shared_ptr< scene::Surface > const &surface, MirSurfaceState value) override
Definition: canonical_window_manager.cpp:445
void handle_raise_surface(std::shared_ptr< scene::Session > const &session, std::shared_ptr< scene::Surface > const &surface) override
Definition: canonical_window_manager.cpp:556
Definition: displacement.h:32
A policy based window manager. This exists to initialize BasicWindowManager and the WMPolicy (in an a...
Definition: basic_window_manager.h:215
void handle_modify_surface(std::shared_ptr< scene::Session > const &session, std::shared_ptr< scene::Surface > const &surface, SurfaceSpecification const &modifications) override
Definition: canonical_window_manager.cpp:300
Definition: surface_creation_parameters.h:41
Definition: rectangle.h:33
Specification of surface properties requested by client.
Definition: surface_specification.h:49
void handle_delete_surface(std::shared_ptr< scene::Session > const &session, std::weak_ptr< scene::Surface > const &surface) override
Definition: canonical_window_manager.cpp:404
bool handle_touch_event(MirTouchEvent const *event) override
Definition: canonical_window_manager.cpp:637
void handle_new_surface(std::shared_ptr< scene::Session > const &session, std::shared_ptr< scene::Surface > const &surface) override
Definition: canonical_window_manager.cpp:274