19 #ifndef MIRAL_WINDOW_MANAGEMENT_POLICY_H 20 #define MIRAL_WINDOW_MANAGEMENT_POLICY_H 31 class WindowSpecification;
32 struct ApplicationInfo;
49 virtual void advise_begin();
52 virtual void advise_end();
60 virtual auto place_new_window(
71 virtual void handle_window_ready(
WindowInfo& window_info) = 0;
86 virtual void handle_raise_window(
WindowInfo& window_info) = 0;
98 virtual auto confirm_placement_on_display(
119 virtual bool handle_touch_event(
MirTouchEvent const* event) = 0;
149 virtual void advise_new_window(
WindowInfo const& window_info);
155 virtual void advise_focus_lost(
WindowInfo const& window_info);
161 virtual void advise_focus_gained(
WindowInfo const& window_info);
175 virtual void advise_move_to(
WindowInfo const& window_info,
Point top_left);
182 virtual void advise_resize(
WindowInfo const& window_info,
Size const& new_size);
188 virtual void advise_delete_window(
WindowInfo const& window_info);
197 virtual void advise_raise(std::vector<Window>
const& windows);
210 virtual void advise_adding_to_workspace(
211 std::shared_ptr<Workspace>
const& workspace,
212 std::vector<Window>
const& windows);
221 virtual void advise_removing_from_workspace(
222 std::shared_ptr<Workspace>
const& workspace,
223 std::vector<Window>
const& windows);
234 virtual void handle_request_drag_and_drop(
WindowInfo& window_info) = 0;
256 virtual void advise_output_create(
Output const& output);
257 virtual void advise_output_update(
Output const& updated,
Output const& original);
258 virtual void advise_output_delete(
Output const& output);
280 #endif //MIRAL_WINDOW_MANAGEMENT_POLICY_H
Definition: application_info.h:31
Definition: wayland_helpers.h:36
Definition: window_info.h:32
Definition: window_specification.h:43
The interface through which the window management policy is determined.
Definition: window_management_policy.h:45
Definition: displacement.h:32
Definition: rectangle.h:33
Basic geometry types. Types for dimensions, displacements, etc. and the operations that they support.
Definition: dimensions.h:30
Mir Abstraction Layer.
Definition: floating_window_manager.h:29