19 #ifndef MIRAL_WINDOW_MANAGEMENT_POLICY_H 20 #define MIRAL_WINDOW_MANAGEMENT_POLICY_H 22 #include <mir/geometry/rectangles.h> 23 #include <mir_toolkit/event.h> 28 class WindowSpecification;
29 struct ApplicationInfo;
39 virtual void advise_begin();
42 virtual void advise_end();
50 virtual auto place_new_surface(
61 virtual void handle_window_ready(
WindowInfo& window_info) = 0;
76 virtual void handle_raise_window(
WindowInfo& window_info) = 0;
87 virtual bool handle_keyboard_event(MirKeyboardEvent
const* event) = 0;
94 virtual bool handle_touch_event(MirTouchEvent
const* event) = 0;
101 virtual bool handle_pointer_event(MirPointerEvent
const* event) = 0;
124 virtual void advise_new_window(
WindowInfo const& window_info);
130 virtual void advise_focus_lost(
WindowInfo const& info);
136 virtual void advise_focus_gained(
WindowInfo const& info);
143 virtual void advise_state_change(
WindowInfo const& window_info, MirSurfaceState state);
150 virtual void advise_move_to(
WindowInfo const& window_info, Point top_left);
157 virtual void advise_resize(
WindowInfo const& window_info, Size
const& new_size);
163 virtual void advise_delete_window(
WindowInfo const& window_info);
172 virtual void advise_raise(std::vector<Window>
const& windows);
184 #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:35
Mir Abstraction Layer.
Definition: active_outputs.h:27