19 #ifndef MIRAL_WINDOW_MANAGEMENT_POLICY_H 20 #define MIRAL_WINDOW_MANAGEMENT_POLICY_H 22 #include <mir/geometry/displacement.h> 23 #include <mir/geometry/rectangles.h> 24 #include <mir_toolkit/event.h> 31 class WindowSpecification;
32 struct ApplicationInfo;
42 virtual void advise_begin();
45 virtual void advise_end();
53 virtual auto place_new_window(
64 virtual void handle_window_ready(
WindowInfo& window_info) = 0;
79 virtual void handle_raise_window(
WindowInfo& window_info) = 0;
90 virtual bool handle_keyboard_event(MirKeyboardEvent
const* event) = 0;
97 virtual bool handle_touch_event(MirTouchEvent
const* event) = 0;
104 virtual bool handle_pointer_event(MirPointerEvent
const* event) = 0;
127 virtual void advise_new_window(
WindowInfo const& window_info);
133 virtual void advise_focus_lost(
WindowInfo const& window_info);
139 virtual void advise_focus_gained(
WindowInfo const& window_info);
146 virtual void advise_state_change(
WindowInfo const& window_info, MirWindowState state);
153 virtual void advise_move_to(
WindowInfo const& window_info, Point top_left);
160 virtual void advise_resize(
WindowInfo const& window_info, Size
const& new_size);
166 virtual void advise_delete_window(
WindowInfo const& window_info);
175 virtual void advise_raise(std::vector<Window>
const& windows);
185 virtual auto confirm_inherited_move(
WindowInfo const& window_info, Displacement movement) -> Rectangle = 0;
196 #endif //MIRAL_WINDOW_MANAGEMENT_POLICY_H
Definition: application_info.h:31
Definition: window_info.h:32
Definition: window_specification.h:45
The interface through which the window management policy is determined.
Definition: window_management_policy.h:38
Mir Abstraction Layer.
Definition: active_outputs.h:27