summaryrefslogtreecommitdiffstats
path: root/src/compositor/compositor_api/qwaylandoutput.h
diff options
context:
space:
mode:
authorJørgen Lind <jorgen.lind@theqtcompany.com>2015-07-30 12:06:24 +0200
committerJørgen Lind <jorgen.lind@theqtcompany.com>2015-08-28 13:09:41 +0200
commitfcd376a4ffb4a2efc8352ce1777e9f869e4e5206 (patch)
treeab6959cf4d777549dca119d318240b9b724860ce /src/compositor/compositor_api/qwaylandoutput.h
parent400c6d24c2ca3215cd38a30cd3eb530c3b2e970c (diff)
Introducing QWaylandOutputSpace
Its purpose is to make it possible to have multiscreen environments, and also multiple multioutput environments It is also an abstraction to make it clear that outputs are arranged in a 2d space Change-Id: I418509996a03b2ca1a12aec9c9e25e143a15a10f
Diffstat (limited to 'src/compositor/compositor_api/qwaylandoutput.h')
-rw-r--r--src/compositor/compositor_api/qwaylandoutput.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/compositor/compositor_api/qwaylandoutput.h b/src/compositor/compositor_api/qwaylandoutput.h
index bc92fe5a4..c602bf223 100644
--- a/src/compositor/compositor_api/qwaylandoutput.h
+++ b/src/compositor/compositor_api/qwaylandoutput.h
@@ -53,6 +53,7 @@ class QWindow;
class QWaylandSurface;
class QWaylandSurfaceView;
class QWaylandClient;
+class QWaylandOutputSpace;
namespace QtWayland {
class Output;
@@ -74,6 +75,7 @@ class Q_COMPOSITOR_EXPORT QWaylandOutput : public QObject
Q_PROPERTY(QWaylandCompositor *compositor READ compositor CONSTANT)
Q_PROPERTY(QWindow *window READ window CONSTANT)
Q_PROPERTY(bool sizeFollowsWindow READ sizeFollowsWindow WRITE setSizeFollowsWindow NOTIFY sizeFollowsWindowChanged)
+ Q_PROPERTY(QWaylandOutputSpace *outputSpace READ outputSpace WRITE setOutputSpace NOTIFY outputSpaceChanged)
Q_ENUMS(Subpixel Transform)
public:
@@ -103,12 +105,15 @@ public:
int refreshRate;
};
- QWaylandOutput(QWaylandCompositor *compositor, QWindow *window,
+ QWaylandOutput(QWaylandOutputSpace *outputSpace, QWindow *window,
const QString &manufacturer, const QString &model);
~QWaylandOutput();
static QWaylandOutput *fromResource(wl_resource *resource);
+ void setOutputSpace(QWaylandOutputSpace *outputSpace);
+ QWaylandOutputSpace *outputSpace() const;
+
virtual void update();
QWaylandCompositor *compositor() const;
@@ -154,8 +159,6 @@ public:
void frameStarted();
void sendFrameCallbacks();
- QList<QWaylandSurface *> surfacesForClient(QWaylandClient *client) const;
-
QtWayland::Output *handle() const;
Q_INVOKABLE virtual QWaylandSurfaceView *pickView(const QPointF &outputPosition) const;
@@ -172,6 +175,7 @@ Q_SIGNALS:
void transformChanged();
void sizeFollowsWindowChanged();
void physicalSizeFollowsSizeChanged();
+ void outputSpaceChanged();
protected:
QScopedPointer<QtWayland::Output> d_ptr;