diff options
author | Jørgen Lind <jorgen.lind@theqtcompany.com> | 2015-07-30 12:06:24 +0200 |
---|---|---|
committer | Jørgen Lind <jorgen.lind@theqtcompany.com> | 2015-08-28 13:09:41 +0200 |
commit | fcd376a4ffb4a2efc8352ce1777e9f869e4e5206 (patch) | |
tree | ab6959cf4d777549dca119d318240b9b724860ce /src/compositor/compositor_api/qwaylandcompositor.h | |
parent | 400c6d24c2ca3215cd38a30cd3eb530c3b2e970c (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/qwaylandcompositor.h')
-rw-r--r-- | src/compositor/compositor_api/qwaylandcompositor.h | 33 |
1 files changed, 15 insertions, 18 deletions
diff --git a/src/compositor/compositor_api/qwaylandcompositor.h b/src/compositor/compositor_api/qwaylandcompositor.h index dd1ce0abd..462f381c6 100644 --- a/src/compositor/compositor_api/qwaylandcompositor.h +++ b/src/compositor/compositor_api/qwaylandcompositor.h @@ -60,6 +60,7 @@ class QWaylandDrag; class QWaylandGlobalInterface; class QWaylandSurfaceView; class QWaylandOutput; +class QWaylandOutputSpace; namespace QtWayland { @@ -72,7 +73,8 @@ class Q_COMPOSITOR_EXPORT QWaylandCompositor : public QObject Q_PROPERTY(QByteArray socketName READ socketName WRITE setSocketName) Q_PROPERTY(QWaylandCompositor::ExtensionFlags extensionFlags READ extensionFlags WRITE setExtensionFlags) Q_PROPERTY(bool retainedSelection READ retainedSelectionEnabled WRITE setRetainedSelectionEnabled) - Q_PROPERTY(QWaylandOutput *primaryOutput READ primaryOutput WRITE setPrimaryOutput NOTIFY primaryOutputChanged) + Q_PROPERTY(QWaylandOutputSpace *primaryOutputSpace READ primaryOutputSpace WRITE setPrimaryOutputSpace NOTIFY primaryOutputSpaceChanged) + Q_PROPERTY(QWaylandOutput *primaryOutput READ primaryOutput NOTIFY primaryOutputChanged); public: enum ExtensionFlag { @@ -108,25 +110,16 @@ public: Q_INVOKABLE void destroyClientForSurface(QWaylandSurface *surface); Q_INVOKABLE void destroyClient(QWaylandClient *client); -#if QT_DEPRECATED_SINCE(5, 5) - QT_DEPRECATED void frameStarted(); - QT_DEPRECATED void sendFrameCallbacks(QList<QWaylandSurface *> visibleSurfaces); - - QT_DEPRECATED QList<QWaylandSurface *> surfacesForClient(QWaylandClient* client) const; -#endif //QT_DEPRECATED_SINCE(5, 5) - - QT_DEPRECATED QList<QWaylandSurface *> surfaces() const; + QList<QWaylandSurface *> surfaces() const; + QList<QWaylandSurface *> surfacesForClient(QWaylandClient* client) const; - Q_INVOKABLE QList<QWaylandOutput *> outputs() const; - Q_INVOKABLE QWaylandOutput *output(QWindow *window); + QWaylandOutput *output(QWindow *window) const; QWaylandOutput *primaryOutput() const; - void setPrimaryOutput(QWaylandOutput *output); - -#if QT_DEPRECATED_SINCE(5, 5) - Q_INVOKABLE virtual QWaylandSurfaceView *pickView(const QPointF &globalPosition) const; - Q_INVOKABLE virtual QPointF mapToView(QWaylandSurfaceView *view, const QPointF &surfacePosition) const; -#endif // QT_DEPRECATED_SINCE(5 5) + QWaylandOutputSpace *primaryOutputSpace() const; + void setPrimaryOutputSpace(QWaylandOutputSpace *outputSpace); + void addOutputSpace(QWaylandOutputSpace *outputSpace); + void removeOutputSpace(QWaylandOutputSpace *outputSpace); virtual bool openUrl(QWaylandClient *client, const QUrl &url); @@ -179,18 +172,22 @@ signals: void currentCurserSurfaceRequest(QWaylandSurface *surface, int hotspotX, int hotspotY); + void primaryOutputSpaceChanged(); void primaryOutputChanged(); + void outputSpacesChanged(); protected: QWaylandCompositor(QtWayland::Compositor *dptr); virtual void retainedSelectionReceived(QMimeData *mimeData); - virtual QWaylandOutput *createOutput(QWindow *window, + virtual QWaylandOutput *createOutput(QWaylandOutputSpace *outputSpace, + QWindow *window, const QString &manufacturer, const QString &model); virtual QWaylandSurface *createSurface(QWaylandClient *client, quint32 id, int version); virtual QWaylandSurfaceView *createView(); friend class QtWayland::Compositor; + friend class QWaylandOutputSpacePrivate; QtWayland::Compositor *m_compositor; }; |