2 * Copyright 2008 Aike J Sommer <dev@aikesommer.name>
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as
6 * published by the Free Software Foundation; either version 2,
7 * or (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details
14 * You should have received a copy of the GNU Library General Public
15 * License along with this program; if not, write to the
16 * Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21 #ifndef KEPHAL_BACKENDOUTPUTS_H
22 #define KEPHAL_BACKENDOUTPUTS_H
24 #include "kephal/outputs.h"
29 class BackendOutput
: public Output
{
32 BackendOutput(QObject
* parent
);
35 virtual bool applyGeom(const QRect
& geom
, float rate
) = 0;
36 virtual bool applyOrientation(Rotation rotation
, bool reflectX
, bool reflectY
) = 0;
37 virtual void deactivate() = 0;
39 virtual void revert();
46 Rotation m_markedRotation
;
47 bool m_markedReflectX
;
48 bool m_markedReflectY
;
51 class BackendOutputs
: public Outputs
{
54 static BackendOutputs
* self();
56 BackendOutputs(QObject
* parent
);
57 virtual ~BackendOutputs();
59 virtual bool activateLayout(const QMap
<Output
*, QRect
> & layout
);
60 virtual QList
<BackendOutput
*> backendOutputs();
61 virtual BackendOutput
* backendOutput(const QString
& id
);
64 static BackendOutputs
* m_instance
;
69 #endif // KEPHAL_BACKENDOUTPUTS_H