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>
This commit is contained in:
Chase Douglas 2011-12-14 16:26:04 +10:00 committed by Peter Hutterer
parent 8e58ce73c8
commit 6a68f97ce6
2 changed files with 22 additions and 0 deletions

View File

@ -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;
}

View File

@ -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);