19 #ifndef MIR_EXAMPLE_CANONICAL_WINDOW_MANAGER_H_ 20 #define MIR_EXAMPLE_CANONICAL_WINDOW_MANAGER_H_ 51 std::shared_ptr<shell::DisplayLayout>
const& display_layout);
61 auto handle_place_new_surface(
62 std::shared_ptr<scene::Session>
const& session,
66 void handle_new_surface(std::shared_ptr<scene::Session>
const& session, std::shared_ptr<scene::Surface>
const& surface);
68 void handle_modify_surface(
69 std::shared_ptr<scene::Session>
const& session,
70 std::shared_ptr<scene::Surface>
const& surface,
73 void handle_delete_surface(std::shared_ptr<scene::Session>
const& session, std::weak_ptr<scene::Surface>
const& surface);
75 int handle_set_state(std::shared_ptr<scene::Surface>
const& surface,
MirSurfaceState value);
85 void handle_raise_surface(
86 std::shared_ptr<scene::Session>
const& session,
87 std::shared_ptr<scene::Surface>
const& surface);
89 void generate_decorations_for(
90 std::shared_ptr<scene::Session>
const& session,
91 std::shared_ptr<scene::Surface>
const& surface,
96 static const int modifier_mask =
107 void select_active_surface(std::shared_ptr<scene::Surface>
const& surface);
108 auto active_surface()
const -> std::shared_ptr<scene::Surface>;
114 std::shared_ptr<mir::scene::Surface>
const& surface,
115 std::shared_ptr<mir::scene::Surface>
const& titlebar,
120 std::shared_ptr<shell::DisplayLayout>
const display_layout;
124 std::weak_ptr<scene::Surface> active_surface_;
125 using FullscreenSurfaces = std::set<std::weak_ptr<scene::Surface>, std::owner_less<std::weak_ptr<scene::Surface>>>;
127 FullscreenSurfaces fullscreen_surfaces;
129 bool resizing =
false;
130 bool left_resize =
false;
131 bool top_resize =
false;
Definition: as_render_target.h:27
Interface to the layout of the display outputs.
Definition: display_layout.h:36
Definition: server_example_canonical_window_manager.h:45
A collection of rectangles (with possible duplicates).
Definition: rectangles.h:34
Definition: server_example_basic_window_manager.h:80
typename WindowManagerTools::SessionInfoMap SessionInfoMap
Definition: server_example_basic_window_manager.h:83
typename WindowManagerTools::SurfaceInfoMap SurfaceInfoMap
Definition: server_example_basic_window_manager.h:84
Definition: displacement.h:32
Definition: surface_creation_parameters.h:41
Definition: rectangle.h:33
Specification of surface properties requested by client.
Definition: surface_specification.h:50