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,
50 std::shared_ptr<scene::Session>
const& session,
51 std::shared_ptr<scene::Surface>
const& surface,
55 std::shared_ptr<scene::Session>
const& session,
56 std::weak_ptr<scene::Surface>
const& surface) = 0;
69 std::shared_ptr<scene::Session>
const& session,
70 std::shared_ptr<scene::Surface>
const& surface,
All things Mir.
Definition: atomic_callback.h:25
virtual bool handle_pointer_event(MirPointerEvent const *event)=0
virtual frontend::SurfaceId add_surface(std::shared_ptr< scene::Session > const &session, scene::SurfaceCreationParameters const ¶ms, std::function< frontend::SurfaceId(std::shared_ptr< scene::Session > const &session, scene::SurfaceCreationParameters const ¶ms)> const &build)=0
virtual ~WindowManager()=default
interface to provide window management logic
Definition: window_manager.h:37
virtual bool handle_keyboard_event(MirKeyboardEvent const *event)=0
virtual void remove_display(geometry::Rectangle const &area)=0
virtual void modify_surface(std::shared_ptr< scene::Session > const &session, std::shared_ptr< scene::Surface > const &surface, SurfaceSpecification const &modifications)=0
virtual void remove_session(std::shared_ptr< scene::Session > const &session)=0
virtual void add_session(std::shared_ptr< scene::Session > const &session)=0
virtual void remove_surface(std::shared_ptr< scene::Session > const &session, std::weak_ptr< scene::Surface > const &surface)=0
virtual void add_display(geometry::Rectangle const &area)=0
virtual bool handle_touch_event(MirTouchEvent const *event)=0
WindowManager & operator=(WindowManager const &)=delete
Definition: surface_creation_parameters.h:42
Definition: rectangle.h:33
Specification of surface properties requested by client.
Definition: surface_specification.h:50
virtual int set_surface_attribute(std::shared_ptr< scene::Session > const &session, std::shared_ptr< scene::Surface > const &surface, MirSurfaceAttrib attrib, int value)=0