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 SCREENSCONTROLLER_H
18
#define SCREENSCONTROLLER_H
22
#include <QSharedPointer>
26
#include "customscreenconfiguration.h"
27
#include "screensmodel.h"
30
namespace graphics { class Display; }
31
namespace shell { class DisplayConfigurationController; }
35
class ScreensController : public QObject
40
explicit ScreensController(const QSharedPointer<ScreensModel> &model,
41
const std::shared_ptr<mir::graphics::Display> &display,
42
const std::shared_ptr<mir::shell::DisplayConfigurationController> &controller,
45
CustomScreenConfigurationList configuration();
46
bool setConfiguration(CustomScreenConfigurationList newConfig);
49
const QSharedPointer<ScreensModel> m_screensModel;
50
const std::shared_ptr<mir::graphics::Display> m_display;
51
const std::shared_ptr<mir::shell::DisplayConfigurationController> m_displayConfigurationController;
54
#endif // SCREENSCONTROLLER_H