14
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
17
#ifndef QPAMIRSERVER_WINDOW_MANAGER_H
18
#define QPAMIRSERVER_WINDOW_MANAGER_H
20
#include <mir/shell/window_manager.h>
17
#ifndef QPAMIRSERVER_SHELL_H
18
#define QPAMIRSERVER_SHELL_H
20
#include <mir/shell/abstract_shell.h>
30
class MirWindowManager : public QObject, public mir::shell::WindowManager
29
class MirShell : public QObject, public mir::shell::AbstractShell
36
MirWindowManager(const std::shared_ptr<mir::shell::DisplayLayout> &displayLayout);
38
void add_session(std::shared_ptr<mir::scene::Session> const& session) override;
40
void remove_session(std::shared_ptr<mir::scene::Session> const& session) override;
42
mir::frontend::SurfaceId add_surface(
43
std::shared_ptr<mir::scene::Session> const& session,
44
mir::scene::SurfaceCreationParameters const& params,
45
std::function<mir::frontend::SurfaceId(std::shared_ptr<mir::scene::Session> const& session, mir::scene::SurfaceCreationParameters const& params)> const& build) override;
48
std::shared_ptr<mir::scene::Session> const& session,
49
std::weak_ptr<mir::scene::Surface> const& surface) override;
51
void add_display(mir::geometry::Rectangle const& area) override;
53
void remove_display(mir::geometry::Rectangle const& area) override;
55
bool handle_keyboard_event(MirKeyboardEvent const* event) override;
57
bool handle_touch_event(MirTouchEvent const* event) override;
59
bool handle_pointer_event(MirPointerEvent const* event) override;
61
int set_surface_attribute(
62
std::shared_ptr<mir::scene::Session> const& session,
63
std::shared_ptr<mir::scene::Surface> const& surface,
64
MirSurfaceAttrib attrib,
67
void modify_surface(const std::shared_ptr<mir::scene::Session>&, const std::shared_ptr<mir::scene::Surface>&, const mir::shell::SurfaceSpecification&);
35
const std::shared_ptr<mir::shell::InputTargeter> &inputTargeter,
36
const std::shared_ptr<mir::scene::SurfaceCoordinator> &surfaceCoordinator,
37
const std::shared_ptr<mir::scene::SessionCoordinator> &sessionCoordinator,
38
const std::shared_ptr<mir::scene::PromptSessionManager> &promptSessionManager,
39
const std::shared_ptr<mir::shell::DisplayLayout> &displayLayout);
41
virtual mir::frontend::SurfaceId create_surface(const std::shared_ptr<mir::scene::Session>& session, const mir::scene::SurfaceCreationParameters ¶ms);
70
44
std::shared_ptr<mir::shell::DisplayLayout> const m_displayLayout;
73
#endif /* QPAMIRSERVER_WINDOW_MANAGER_H */
47
#endif /* QPAMIRSERVER_SHELL_H */