summaryrefslogtreecommitdiffstats
path: root/src/compositor/compositor_api/qwaylandtouch.h
diff options
context:
space:
mode:
authorJohan Klokkahmmer Helsing <johan.helsing@qt.io>2016-09-29 14:59:56 +0200
committerJohan Helsing <johan.helsing@qt.io>2016-10-03 13:49:53 +0000
commit7e5af3d2903e25404422b705837408ccd89c74b9 (patch)
treee453dac6b2265778f836026d202778e08195806e /src/compositor/compositor_api/qwaylandtouch.h
parentdb9f2fc90ad1ae302846fa23d4955a8c07c444b7 (diff)
Compositor: Send touch events to the surface pressed
This changes the API so that QWaylandTouch does not make assumptions about touch focus, and consequently enables writing compositors where multiple clients can receive touch input at the same time. Task-number: QTBUG-56237 Change-Id: I21fe6d9b5ac65e9f910f64cc4a02824119571c52 Reviewed-by: Nedim Hadzic <nedim.hadzic@pelagicore.com> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Diffstat (limited to 'src/compositor/compositor_api/qwaylandtouch.h')
-rw-r--r--src/compositor/compositor_api/qwaylandtouch.h13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/compositor/compositor_api/qwaylandtouch.h b/src/compositor/compositor_api/qwaylandtouch.h
index f539ce2cd..05ee5ad40 100644
--- a/src/compositor/compositor_api/qwaylandtouch.h
+++ b/src/compositor/compositor_api/qwaylandtouch.h
@@ -51,6 +51,7 @@ class QWaylandTouchPrivate;
class QWaylandSeat;
class QWaylandView;
class QWaylandClient;
+class QWaylandSurface;
class Q_WAYLAND_COMPOSITOR_EXPORT QWaylandTouch : public QWaylandObject
{
@@ -62,19 +63,15 @@ public:
QWaylandSeat *seat() const;
QWaylandCompositor *compositor() const;
- virtual uint sendTouchPointEvent(int id, const QPointF &position, Qt::TouchPointState state);
- virtual void sendFrameEvent();
- virtual void sendCancelEvent();
-
- virtual void sendFullTouchEvent(QTouchEvent *event);
+ virtual uint sendTouchPointEvent(QWaylandSurface *surface, int id, const QPointF &position, Qt::TouchPointState state);
+ virtual void sendFrameEvent(QWaylandClient *client);
+ virtual void sendCancelEvent(QWaylandClient *client);
+ virtual void sendFullTouchEvent(QWaylandSurface *surface, QTouchEvent *event);
virtual void addClient(QWaylandClient *client, uint32_t id, uint32_t version);
- wl_resource *focusResource() const;
-
private:
void focusDestroyed(void *data);
- void mouseFocusChanged(QWaylandView *newFocus, QWaylandView *oldFocus);
};
QT_END_NAMESPACE