diff options
author | Laszlo Agocs <laszlo.p.agocs@nokia.com> | 2012-02-09 15:36:28 +0200 |
---|---|---|
committer | Laszlo Agocs <laszlo.p.agocs@nokia.com> | 2012-02-10 14:26:24 +0100 |
commit | f089f453ae6ea3766a0ec41059371f6dc81ce9df (patch) | |
tree | daf50df72293637bd0a0db2dfba6997e100e8684 /src/plugins/platforms/wayland/qwaylandinputdevice.cpp | |
parent | 0a25184b9af19786d8d20c520f93ee0bfc65355f (diff) |
Add TouchCancel support.
It maps to the protocol's touch_cancel pretty well. :)
Change-Id: Id417aac768106c2f6618b3e7ecb51d6929977c37
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Diffstat (limited to 'src/plugins/platforms/wayland/qwaylandinputdevice.cpp')
-rw-r--r-- | src/plugins/platforms/wayland/qwaylandinputdevice.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/plugins/platforms/wayland/qwaylandinputdevice.cpp b/src/plugins/platforms/wayland/qwaylandinputdevice.cpp index 126891fa2..ee4ffc1c2 100644 --- a/src/plugins/platforms/wayland/qwaylandinputdevice.cpp +++ b/src/plugins/platforms/wayland/qwaylandinputdevice.cpp @@ -45,6 +45,7 @@ #include "qwaylandwindow.h" #include "qwaylandbuffer.h" #include "qwaylanddatadevicemanager.h" +#include "qwaylandtouch.h" #include <QtGui/private/qpixmap_raster_p.h> #include <QtGui/QPlatformWindow> @@ -508,7 +509,16 @@ void QWaylandInputDevice::handleTouchFrame() void QWaylandInputDevice::inputHandleTouchCancel(void *data, struct wl_input_device *wl_input_device) { Q_UNUSED(wl_input_device); - Q_UNUSED(data); + QWaylandInputDevice *self = static_cast<QWaylandInputDevice *>(data); + + self->mPrevTouchPoints.clear(); + self->mTouchPoints.clear(); + + QWaylandTouchExtension *touchExt = self->mQDisplay->touchExtension(); + if (touchExt) + touchExt->touchCanceled(); + + QWindowSystemInterface::handleTouchCancelEvent(0, self->mTouchDevice); } const struct wl_input_device_listener QWaylandInputDevice::inputDeviceListener = { |