summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2011-12-14 16:30:05 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2011-12-21 12:38:35 +1000
commit593c3e2eb3da5c5fb957b68c8025dfdbe1139639 (patch)
tree100e7b7018ba174a055f8bc7097b9fe719b6a47b
parent5d0260cc986e8c1f0907870b851d47fd73bb1b7d (diff)
dix: add TouchResourceIsOwner helper function
The first listener in the sequence is the owner of the touch sequence. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
-rw-r--r--dix/touch.c10
-rw-r--r--include/input.h1
2 files changed, 11 insertions, 0 deletions
diff --git a/dix/touch.c b/dix/touch.c
index 7207fd680..3e45e35a4 100644
--- a/dix/touch.c
+++ b/dix/touch.c
@@ -619,6 +619,16 @@ TouchGetPointerEventType(const InternalEvent *event)
/**
+ * @returns TRUE if the specified grab or selection is the current owner of
+ * the touch sequence.
+ */
+Bool
+TouchResourceIsOwner(TouchPointInfoPtr ti, XID resource)
+{
+ return (ti->listeners[0].listener == resource);
+}
+
+/**
* Add the resource to this touch's listeners.
*/
void
diff --git a/include/input.h b/include/input.h
index a6de82458..a6bdce060 100644
--- a/include/input.h
+++ b/include/input.h
@@ -611,6 +611,7 @@ extern Bool TouchEventHistoryAllocate(TouchPointInfoPtr ti);
extern void TouchEventHistoryFree(TouchPointInfoPtr ti);
extern void TouchEventHistoryPush(TouchPointInfoPtr ti, const DeviceEvent *ev);
extern void TouchEventHistoryReplay(TouchPointInfoPtr ti, DeviceIntPtr dev, XID resource);
+extern Bool TouchResourceIsOwner(TouchPointInfoPtr ti, XID resource);
extern void TouchAddListener(TouchPointInfoPtr ti, XID resource, enum InputLevel level,
enum TouchListenerType type, enum TouchListenerState state);
extern Bool TouchRemoveListener(TouchPointInfoPtr ti, XID resource);