summaryrefslogtreecommitdiffstats
path: root/src/compositor/compositor_api/waylandsurface.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/compositor/compositor_api/waylandsurface.cpp')
-rw-r--r--src/compositor/compositor_api/waylandsurface.cpp161
1 files changed, 161 insertions, 0 deletions
diff --git a/src/compositor/compositor_api/waylandsurface.cpp b/src/compositor/compositor_api/waylandsurface.cpp
new file mode 100644
index 000000000..8fdc7370c
--- /dev/null
+++ b/src/compositor/compositor_api/waylandsurface.cpp
@@ -0,0 +1,161 @@
+#include "waylandsurface.h"
+
+#include <private/qobject_p.h>
+
+#include "wayland_wrapper/wlsurface.h"
+
+class WaylandSurfacePrivate : public QObjectPrivate
+{
+public:
+ WaylandSurfacePrivate(Wayland::Surface *srfc)
+ : surface(srfc)
+ {}
+
+ Wayland::Surface *surface;
+ QRect geometry;
+};
+
+WaylandSurface::WaylandSurface(Wayland::Surface *surface)
+ : QObject(*new WaylandSurfacePrivate(surface))
+{
+
+}
+
+WaylandSurface::Type WaylandSurface::type() const
+{
+ Q_D(const WaylandSurface);
+ return d->surface->type();
+}
+
+bool WaylandSurface::isYInverted() const
+{
+ Q_D(const WaylandSurface);
+ return d->surface->isYInverted();
+}
+
+QRect WaylandSurface::geometry() const
+{
+ Q_D(const WaylandSurface);
+ return d->geometry;
+}
+
+void WaylandSurface::setGeometry(const QRect &geometry)
+{
+ Q_D(WaylandSurface);
+ d->geometry = geometry;
+}
+
+QImage WaylandSurface::image() const
+{
+ Q_D(const WaylandSurface);
+ return d->surface->image();
+}
+
+#ifdef QT_COMPOSITOR_WAYLAND_GL
+GLuint WaylandSurface::texture(QOpenGLContext *context) const
+{
+ Q_D(const WaylandSurface);
+ return d->surface->textureId(context);
+}
+#else //QT_COMPOSITOR_WAYLAND_GL
+uint WaylandSurface::texture(QOpenGLContext *) const
+{
+ return 0;
+}
+#endif
+
+Wayland::Surface * WaylandSurface::handle() const
+{
+ Q_D(const WaylandSurface);
+ return d->surface;
+}
+
+qint64 WaylandSurface::processId() const
+{
+ Q_D(const WaylandSurface);
+ return d->surface->processId();
+}
+
+QByteArray WaylandSurface::authenticationToken() const
+{
+ Q_D(const WaylandSurface);
+ return d->surface->authenticationToken();
+}
+
+QVariantMap WaylandSurface::windowProperties() const
+{
+ Q_D(const WaylandSurface);
+ return d->surface->windowProperties();
+}
+
+void WaylandSurface::setWindowProperty(const QString &name, const QVariant &value)
+{
+ Q_D(WaylandSurface);
+ d->surface->setWindowProperty(name, value);
+}
+
+void WaylandSurface::sendMousePressEvent(const QPoint &pos, Qt::MouseButton button)
+{
+ Q_D(WaylandSurface);
+ d->surface->sendMousePressEvent(pos.x(), pos.y(), button);
+}
+
+void WaylandSurface::sendMouseReleaseEvent(const QPoint &pos, Qt::MouseButton button)
+{
+ Q_D(WaylandSurface);
+ d->surface->sendMouseReleaseEvent(pos.x(), pos.y(), button);
+}
+
+void WaylandSurface::sendMouseMoveEvent(const QPoint &pos)
+{
+ Q_D(WaylandSurface);
+ d->surface->sendMouseMoveEvent(pos.x(), pos.y());
+}
+
+void WaylandSurface::sendKeyPressEvent(uint code)
+{
+ Q_D(WaylandSurface);
+ d->surface->sendKeyPressEvent(code);
+}
+
+void WaylandSurface::sendKeyReleaseEvent(uint code)
+{
+ Q_D(WaylandSurface);
+ d->surface->sendKeyReleaseEvent(code);
+}
+
+void WaylandSurface::sendTouchPointEvent(int id, int x, int y, Qt::TouchPointState state)
+{
+ Q_D(WaylandSurface);
+ d->surface->sendTouchPointEvent(id, x, y, state);
+}
+
+void WaylandSurface::sendTouchFrameEvent()
+{
+ Q_D(WaylandSurface);
+ d->surface->sendTouchFrameEvent();
+}
+
+void WaylandSurface::sendTouchCancelEvent()
+{
+ Q_D(WaylandSurface);
+ d->surface->sendTouchCancelEvent();
+}
+
+void WaylandSurface::frameFinished()
+{
+ Q_D(WaylandSurface);
+ d->surface->frameFinished();
+}
+
+void WaylandSurface::setInputFocus()
+{
+ Q_D(WaylandSurface);
+ d->surface->setInputFocus();
+}
+
+void WaylandSurface::sendOnScreenVisibilityChange(bool visible)
+{
+ Q_D(WaylandSurface);
+ d->surface->sendOnScreenVisibilityChange(visible);
+}