From 8ea41bfe32de3b4dd4c15ec91c8925b1c6508c53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Lind?= Date: Thu, 30 Jul 2015 15:16:48 +0200 Subject: Public input apis Change-Id: I60ec2fd9f4afe54198d9c476b28f9f15a661e9ca --- src/compositor/compositor_api/qwaylandsurface.cpp | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'src/compositor/compositor_api/qwaylandsurface.cpp') diff --git a/src/compositor/compositor_api/qwaylandsurface.cpp b/src/compositor/compositor_api/qwaylandsurface.cpp index cc463d08a..caf816353 100644 --- a/src/compositor/compositor_api/qwaylandsurface.cpp +++ b/src/compositor/compositor_api/qwaylandsurface.cpp @@ -300,6 +300,18 @@ void QWaylandSurface::leave(QWaylandOutput *output) d->send_leave(outputResource->handle); } +void QWaylandSurface::markAsCursorSurface(bool cursorSurface) +{ + Q_D(QWaylandSurface); + d->setCursorSurface(cursorSurface); +} + +bool QWaylandSurface::isCursorSurface() const +{ + Q_D(const QWaylandSurface); + return d->isCursorSurface(); +} + /*! Updates the surface with the compositor's retained clipboard selection. While this is done automatically when the surface receives keyboard focus, this function is @@ -308,9 +320,9 @@ void QWaylandSurface::leave(QWaylandOutput *output) void QWaylandSurface::updateSelection() { Q_D(QWaylandSurface); - const QtWayland::InputDevice *inputDevice = d->compositor()->defaultInputDevice(); + QWaylandInputDevice *inputDevice = d->compositor()->defaultInputDevice(); if (inputDevice) { - const QtWayland::DataDevice *dataDevice = inputDevice->dataDevice(); + const QtWayland::DataDevice *dataDevice = QWaylandInputDevicePrivate::get(inputDevice)->dataDevice(); if (dataDevice) { d->compositor()->dataDeviceManager()->offerRetainedSelection( dataDevice->resourceMap().value(d->resource()->client())->handle); @@ -351,6 +363,12 @@ QWaylandSurface *QWaylandSurface::fromResource(::wl_resource *res) return Q_NULLPTR; } +struct wl_resource *QWaylandSurface::resource() const +{ + Q_D(const QWaylandSurface); + return d->resource()->handle; +} + QWaylandSurfacePrivate *QWaylandSurfacePrivate::get(QWaylandSurface *surface) { return surface ? surface->d_func() : Q_NULLPTR; -- cgit v1.2.3