summaryrefslogtreecommitdiffstats
path: root/src/compositor/compositor_api/qwaylandsurface.cpp
diff options
context:
space:
mode:
authorJørgen Lind <jorgen.lind@theqtcompany.com>2015-07-30 14:53:35 +0200
committerJørgen Lind <jorgen.lind@theqtcompany.com>2015-08-28 13:09:42 +0200
commitce58545b220a49354533a27ef79cdbc8d50186cd (patch)
tree660232f61bc971d68c29b37acfa9c709f617c697 /src/compositor/compositor_api/qwaylandsurface.cpp
parent5edaac978e01ead8648aad91f0d050748f7a8915 (diff)
Rework how we manage extensions
Diffstat (limited to 'src/compositor/compositor_api/qwaylandsurface.cpp')
-rw-r--r--src/compositor/compositor_api/qwaylandsurface.cpp147
1 files changed, 5 insertions, 142 deletions
diff --git a/src/compositor/compositor_api/qwaylandsurface.cpp b/src/compositor/compositor_api/qwaylandsurface.cpp
index 0f722f334..cc463d08a 100644
--- a/src/compositor/compositor_api/qwaylandsurface.cpp
+++ b/src/compositor/compositor_api/qwaylandsurface.cpp
@@ -40,19 +40,18 @@
#include <private/qobject_p.h>
#include "wayland_wrapper/qwlsurface_p.h"
-#include "wayland_wrapper/qwlextendedsurface_p.h"
-#include "wayland_wrapper/qwlsubsurface_p.h"
#include "wayland_wrapper/qwlcompositor_p.h"
-#include "wayland_wrapper/qwlshellsurface_p.h"
#include "wayland_wrapper/qwlinputdevice_p.h"
#include "wayland_wrapper/qwldatadevice_p.h"
#include "wayland_wrapper/qwldatadevicemanager_p.h"
+#include "extensions/qwlextendedsurface_p.h"
+#include "extensions/qwlsubsurface_p.h"
+
#include "qwaylandcompositor.h"
#include "qwaylandclient.h"
#include "qwaylandsurface_p.h"
#include "qwaylandbufferref.h"
-#include "qwaylandsurfaceinterface.h"
#include "qwaylandoutput.h"
#include <QtGui/QGuiApplication>
@@ -136,14 +135,13 @@ QWaylandSurface::QWaylandSurface(wl_client *client, quint32 id, int version, QWa
}
QWaylandSurface::QWaylandSurface(QWaylandSurfacePrivate *dptr)
- : QObject(*dptr)
+ : QObject(*dptr)
{
}
QWaylandSurface::~QWaylandSurface()
{
Q_D(QWaylandSurface);
- qDeleteAll(d->interfaces);
d->m_compositor->unregisterSurface(this);
d->notifyViewsAboutDestruction();
}
@@ -160,7 +158,7 @@ QWaylandSurface *QWaylandSurface::parentSurface() const
{
Q_D(const QWaylandSurface);
if (d->subSurface() && d->subSurface()->parent()) {
- return d->subSurface()->parent()->waylandSurface();
+ return d->subSurface()->parent()->surface();
}
return 0;
}
@@ -174,18 +172,6 @@ QLinkedList<QWaylandSurface *> QWaylandSurface::subSurfaces() const
return QLinkedList<QWaylandSurface *>();
}
-void QWaylandSurface::addInterface(QWaylandSurfaceInterface *iface)
-{
- Q_D(QWaylandSurface);
- d->interfaces.prepend(iface);
-}
-
-void QWaylandSurface::removeInterface(QWaylandSurfaceInterface *iface)
-{
- Q_D(QWaylandSurface);
- d->interfaces.removeOne(iface);
-}
-
bool QWaylandSurface::visible() const
{
return isMapped();
@@ -203,44 +189,12 @@ QSize QWaylandSurface::size() const
return d->size();
}
-void QWaylandSurface::requestSize(const QSize &size)
-{
- Q_D(QWaylandSurface);
- QWaylandSurfaceResizeOp op(size);
- if (!sendInterfaceOp(op)) {
- int id = wl_resource_get_id(d->resource()->handle);
- qWarning("No surface interface forwarded the resize request for this surface (wl_surface@%d).", id);
- }
-}
-
-Qt::ScreenOrientations QWaylandSurface::orientationUpdateMask() const
-{
- Q_D(const QWaylandSurface);
- if (!d->extendedSurface())
- return Qt::PrimaryOrientation;
- return d->extendedSurface()->contentOrientationMask();
-}
-
Qt::ScreenOrientation QWaylandSurface::contentOrientation() const
{
Q_D(const QWaylandSurface);
return d->contentOrientation();
}
-QWaylandSurface::WindowFlags QWaylandSurface::windowFlags() const
-{
- Q_D(const QWaylandSurface);
- if (!d->extendedSurface())
- return QWaylandSurface::WindowFlags(0);
- return d->extendedSurface()->windowFlags();
-}
-
-QWaylandSurface::WindowType QWaylandSurface::windowType() const
-{
- Q_D(const QWaylandSurface);
- return d->windowType;
-}
-
QWaylandSurface::Origin QWaylandSurface::origin() const
{
Q_D(const QWaylandSurface);
@@ -265,24 +219,6 @@ QtWayland::Surface * QWaylandSurface::handle()
return d;
}
-QVariantMap QWaylandSurface::windowProperties() const
-{
- Q_D(const QWaylandSurface);
- if (!d->extendedSurface())
- return QVariantMap();
-
- return d->extendedSurface()->windowProperties();
-}
-
-void QWaylandSurface::setWindowProperty(const QString &name, const QVariant &value)
-{
- Q_D(QWaylandSurface);
- if (!d->extendedSurface())
- return;
-
- d->extendedSurface()->setWindowProperty(name, value);
-}
-
QWaylandCompositor *QWaylandSurface::compositor() const
{
Q_D(const QWaylandSurface);
@@ -303,63 +239,12 @@ void QWaylandSurface::setPrimaryOutput(QWaylandOutput *output)
d->setPrimaryOutput(output->handle());
}
-QWindow::Visibility QWaylandSurface::visibility() const
-{
- Q_D(const QWaylandSurface);
- return d->m_visibility;
-}
-
-void QWaylandSurface::setVisibility(QWindow::Visibility v)
-{
- Q_D(QWaylandSurface);
- if (v == visibility())
- return;
-
- d->m_visibility = v;
- QWaylandSurfaceSetVisibilityOp op(v);
- sendInterfaceOp(op);
-
- emit visibilityChanged();
-}
-
-QWaylandSurfaceView *QWaylandSurface::shellView() const
-{
- Q_D(const QWaylandSurface);
- return d->shellSurface() ? d->shellSurface()->view() : Q_NULLPTR;
-}
-
-bool QWaylandSurface::sendInterfaceOp(QWaylandSurfaceOp &op)
-{
- Q_D(QWaylandSurface);
- foreach (QWaylandSurfaceInterface *iface, d->interfaces) {
- if (iface->runOperation(&op))
- return true;
- }
- return false;
-}
-
-void QWaylandSurface::ping()
-{
- Q_D(QWaylandSurface);
- uint32_t serial = wl_display_next_serial(compositor()->waylandDisplay());
- QWaylandSurfacePingOp op(serial);
- if (!sendInterfaceOp(op)) {
- int id = wl_resource_get_id(d->resource()->handle);
- qWarning("No surface interface forwarded the ping for this surface (wl_surface@%d).", id);
- }
-}
-
void QWaylandSurface::sendFrameCallbacks()
{
Q_D(QWaylandSurface);
d->sendFrameCallback();
}
-void QWaylandSurface::sendOnScreenVisibilityChange(bool visible)
-{
- setVisibility(visible ? QWindow::AutomaticVisibility : QWindow::Hidden);
-}
-
QString QWaylandSurface::className() const
{
Q_D(const QWaylandSurface);
@@ -399,13 +284,6 @@ void QWaylandSurface::destroy()
deref();
}
-void QWaylandSurface::destroySurface()
-{
- QWaylandSurfaceOp op(QWaylandSurfaceOp::Close);
- if (!sendInterfaceOp(op))
- emit surfaceDestroyed();
-}
-
void QWaylandSurface::enter(QWaylandOutput *output)
{
Q_D(QWaylandSurface);
@@ -465,12 +343,6 @@ QList<QWaylandSurfaceView *> QWaylandSurface::views() const
return d->views;
}
-QList<QWaylandSurfaceInterface *> QWaylandSurface::interfaces() const
-{
- Q_D(const QWaylandSurface);
- return d->interfaces;
-}
-
QWaylandSurface *QWaylandSurface::fromResource(::wl_resource *res)
{
QtWayland::Surface *s = QtWayland::Surface::fromResource(res);
@@ -502,15 +374,6 @@ void QWaylandSurfacePrivate::setClassName(const QString &className)
}
}
-void QWaylandSurfacePrivate::setType(QWaylandSurface::WindowType type)
-{
- Q_Q(QWaylandSurface);
- if (windowType != type) {
- windowType = type;
- emit q->windowTypeChanged(type);
- }
-}
-
void QWaylandSurfacePrivate::refView(QWaylandSurfaceView *view)
{
if (views.contains(view))