diff options
author | Chase Douglas <chase.douglas@canonical.com> | 2011-12-14 16:26:04 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2011-12-21 12:38:35 +1000 |
commit | 6a68f97ce6704dd2ff2a50f91acd2da72c9995bd (patch) | |
tree | 7fd05ae10d084aef219bd01012823a59c84b7241 | |
parent | 8e58ce73c8b79cb86e890369d0216cdd850c52a5 (diff) |
dix: add TouchGetPointerEventType helper function
Returns the respective pointer event type for a given touch event type.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
-rw-r--r-- | dix/touch.c | 21 | ||||
-rw-r--r-- | include/input.h | 1 |
2 files changed, 22 insertions, 0 deletions
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); |