summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/wayland/qwaylandinputdevice.h
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.p.agocs@nokia.com>2011-06-29 17:03:19 +0300
committerQt by Nokia <qt-info@nokia.com>2011-06-30 10:18:28 +0200
commitfbe17794295f19b418e77f227caf6f7e27bfd11b (patch)
treeefe23438a056bfcae78cf5b9e79403d0a9905bb5 /src/plugins/platforms/wayland/qwaylandinputdevice.h
parent3d01a5d41b582cfdc59fa0a1b4ada52b7a3ab3d8 (diff)
Add touch event support to wayland plugin.
Change-Id: If4be4965ae4e9898f5afb756632aa0349bd9b149 Reviewed-on: http://codereview.qt.nokia.com/935 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Diffstat (limited to 'src/plugins/platforms/wayland/qwaylandinputdevice.h')
-rw-r--r--src/plugins/platforms/wayland/qwaylandinputdevice.h31
1 files changed, 30 insertions, 1 deletions
diff --git a/src/plugins/platforms/wayland/qwaylandinputdevice.h b/src/plugins/platforms/wayland/qwaylandinputdevice.h
index e5be5bb8d..008ecf144 100644
--- a/src/plugins/platforms/wayland/qwaylandinputdevice.h
+++ b/src/plugins/platforms/wayland/qwaylandinputdevice.h
@@ -48,21 +48,24 @@
#include <QObject>
#include <QtGui/QPlatformIntegration>
#include <QtGui/QPlatformScreen>
+#include <QWindowSystemInterface>
#include <wayland-client.h>
QT_BEGIN_NAMESPACE
class QWaylandWindow;
+class QWaylandDisplay;
class QWaylandInputDevice {
public:
- QWaylandInputDevice(struct wl_display *display, uint32_t id);
+ QWaylandInputDevice(QWaylandDisplay *display, uint32_t id);
void attach(QWaylandBuffer *buffer, int x, int y);
void handleWindowDestroyed(QWaylandWindow *window);
struct wl_input_device *wl_input_device() const { return mInputDevice; }
private:
+ QWaylandDisplay *mQDisplay;
struct wl_display *mDisplay;
struct wl_input_device *mInputDevice;
QWaylandWindow *mPointerFocus;
@@ -95,6 +98,32 @@ private:
uint32_t time,
struct wl_surface *surface,
struct wl_array *keys);
+ static void inputHandleTouchDown(void *data,
+ struct wl_input_device *wl_input_device,
+ uint32_t time,
+ int id,
+ int x,
+ int y);
+ static void inputHandleTouchUp(void *data,
+ struct wl_input_device *wl_input_device,
+ uint32_t time,
+ int id);
+ static void inputHandleTouchMotion(void *data,
+ struct wl_input_device *wl_input_device,
+ uint32_t time,
+ int id,
+ int x,
+ int y);
+ static void inputHandleTouchFrame(void *data,
+ struct wl_input_device *wl_input_device);
+ static void inputHandleTouchCancel(void *data,
+ struct wl_input_device *wl_input_device);
+
+ void handleTouchPoint(int id, int x, int y, Qt::TouchPointState state);
+ void handleTouchFrame();
+ QList<QWindowSystemInterface::TouchPoint> mTouchPoints;
+ QList<QWindowSystemInterface::TouchPoint> mPrevTouchPoints;
+ QEvent::Type mTouchState;
};
QT_END_NAMESPACE