diff options
author | Simon Thum <simon.thum@gmx.de> | 2008-07-23 11:33:25 +0200 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2008-07-28 18:13:18 +0930 |
commit | c184b91d9aa72031c2bac9f379f56633957ded30 (patch) | |
tree | fe16de13d7483e08a2b770d41460dd45577b04cb /dix | |
parent | 87aa5298576ed335ac31347e14fb30430288157a (diff) |
dix: improve the driver interface to predictable pointer acceleration
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'dix')
-rw-r--r-- | dix/ptrveloc.c | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/dix/ptrveloc.c b/dix/ptrveloc.c index 8a0959b09..f8f2f2662 100644 --- a/dix/ptrveloc.c +++ b/dix/ptrveloc.c @@ -616,22 +616,32 @@ SetAccelerationProfile( */ extern void SetDeviceSpecificAccelerationProfile( - DeviceIntPtr pDev, + DeviceVelocityPtr s, PointerAccelerationProfileFunc profile) { + if(s) + s->deviceSpecificProfile = profile; +} + +/** + * Use this function to obtain a DeviceVelocityPtr for a device. Will return NULL if + * the predictable acceleration scheme is not in effect. + */ +DeviceVelocityPtr +GetDevicePredictableAccelData( + DeviceIntPtr pDev) +{ /*sanity check*/ if( pDev->valuator && pDev->valuator->accelScheme.AccelSchemeProc == acceleratePointerPredictable && pDev->valuator->accelScheme.accelData != NULL){ - ((DeviceVelocityPtr) - (pDev->valuator->accelScheme.accelData))->deviceSpecificProfile - = profile; + + return (DeviceVelocityPtr)pDev->valuator->accelScheme.accelData; } + return NULL; } - - /******************************** * acceleration schemes *******************************/ |