19 #ifndef MIR_SHELL_WINDOW_MANAGER_H_ 20 #define MIR_SHELL_WINDOW_MANAGER_H_ 30 namespace geometry {
struct Rectangle; }
31 namespace scene {
class Session;
class Surface;
struct SurfaceCreationParameters; }
34 struct SurfaceSpecification;
40 virtual void add_session(std::shared_ptr<scene::Session>
const& session) = 0;
42 virtual void remove_session(std::shared_ptr<scene::Session>
const& session) = 0;
45 std::shared_ptr<scene::Session>
const& session,
49 virtual void modify_surface(
50 std::shared_ptr<scene::Session>
const& session,
51 std::shared_ptr<scene::Surface>
const& surface,
54 virtual void remove_surface(
55 std::shared_ptr<scene::Session>
const& session,
56 std::weak_ptr<scene::Surface>
const& surface) = 0;
64 virtual bool handle_touch_event(
MirTouchEvent const* event) = 0;
68 virtual int set_surface_attribute(
69 std::shared_ptr<scene::Session>
const& session,
70 std::shared_ptr<scene::Surface>
const& surface,
74 virtual void handle_raise_surface(
75 std::shared_ptr<scene::Session>
const& session,
76 std::shared_ptr<scene::Surface>
const& surface,
77 uint64_t timestamp) = 0;
Definition: as_render_target.h:27
interface to provide window management logic
Definition: window_manager.h:37
Definition: surface_creation_parameters.h:41
Definition: rectangle.h:33
Specification of surface properties requested by client.
Definition: surface_specification.h:57