2
* Copyright (C) 2016 Canonical, Ltd.
4
* This program is free software: you can redistribute it and/or modify it under
5
* the terms of the GNU Lesser General Public License version 3, as published by
6
* the Free Software Foundation.
8
* This program is distributed in the hope that it will be useful, but WITHOUT
9
* ANY WARRANTY; without even the implied warranties of MERCHANTABILITY,
10
* SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
* Lesser General Public License for more details.
13
* You should have received a copy of the GNU Lesser General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
17
#ifndef WINDOWCONTROLLER_H
18
#define WINDOWCONTROLLER_H
20
#include "windowcontrollerinterface.h"
22
class WindowManagementPolicy;
26
class WindowController : public WindowControllerInterface
30
virtual ~WindowController() = default;
32
void activate(const miral::Window &window) override;
33
void raise(const miral::Window &window) override;
34
void resize(const miral::Window &window, const QSize &size) override;
35
void move (const miral::Window &window, const QPoint &topLeft) override;
37
void requestClose(const miral::Window &window) override;
38
void forceClose(const miral::Window &window) override;
40
void requestState(const miral::Window &window, const Mir::State state) override;
42
void deliverKeyboardEvent(const miral::Window &window, const MirKeyboardEvent *event) override;
43
void deliverTouchEvent (const miral::Window &window, const MirTouchEvent *event) override;
44
void deliverPointerEvent (const miral::Window &window, const MirPointerEvent *event) override;
46
void setPolicy(WindowManagementPolicy *policy);
49
WindowManagementPolicy *m_policy;
54
#endif // WINDOWCONTROLLER_H