From 6a68f97ce6704dd2ff2a50f91acd2da72c9995bd Mon Sep 17 00:00:00 2001 From: Chase Douglas Date: Wed, 14 Dec 2011 16:26:04 +1000 Subject: [PATCH] dix: add TouchGetPointerEventType helper function Returns the respective pointer event type for a given touch event type. Signed-off-by: Peter Hutterer Reviewed-by: Chase Douglas --- dix/touch.c | 21 +++++++++++++++++++++ include/input.h | 1 + 2 files changed, 22 insertions(+) diff --git a/dix/touch.c b/dix/touch.c index 0f2c0c335..2647ca4be 100644 --- a/dix/touch.c +++ b/dix/touch.c @@ -593,3 +593,24 @@ TouchEnsureSprite(DeviceIntPtr sourcedev, TouchPointInfoPtr ti, return TRUE; } + +/** + * Return the corresponding pointer emulation internal event type for the given + * touch event or 0 if no such event type exists. + */ +int +TouchGetPointerEventType(const InternalEvent *event) +{ + int type = 0; + + switch(event->any.type) + { + case ET_TouchBegin: type = ET_ButtonPress; break; + case ET_TouchUpdate: type = ET_Motion; break; + case ET_TouchEnd: type = ET_ButtonRelease; break; + default: + break; + } + return type; +} + diff --git a/include/input.h b/include/input.h index f1615cf44..84d1d4352 100644 --- a/include/input.h +++ b/include/input.h @@ -615,6 +615,7 @@ extern void TouchEventHistoryReplay(TouchPointInfoPtr ti, DeviceIntPtr dev, XID extern Bool TouchEnsureSprite(DeviceIntPtr sourcedev, TouchPointInfoPtr ti, InternalEvent *ev); extern Bool TouchBuildDependentSpriteTrace(DeviceIntPtr dev, SpritePtr sprite); +extern int TouchGetPointerEventType(const InternalEvent *ev); /* misc event helpers */ extern Mask GetEventMask(DeviceIntPtr dev, xEvent* ev, InputClientsPtr clients);