[PATCH] Use new FP1616/FP3232 conversion functions

Jeremy Huddleston jeremyhu at apple.com
Mon Oct 24 10:54:39 PDT 2011


Reviewed-by: Jeremy Huddleston <jeremyhu at apple.com>

On Oct 23, 2011, at 23:02, Peter Hutterer wrote:

> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
> ---
> Xi/xiquerydevice.c |    7 +++----
> dix/eventconvert.c |   14 ++++----------
> 2 files changed, 7 insertions(+), 14 deletions(-)
> 
> diff --git a/Xi/xiquerydevice.c b/Xi/xiquerydevice.c
> index 9961d1b..5f543f6 100644
> --- a/Xi/xiquerydevice.c
> +++ b/Xi/xiquerydevice.c
> @@ -41,6 +41,7 @@
> #include "xserver-properties.h"
> #include "exevents.h"
> #include "xace.h"
> +#include "inpututils.h"
> 
> #include "xiquerydevice.h"
> 
> @@ -351,8 +352,7 @@ ListValuatorInfo(DeviceIntPtr dev, xXIValuatorInfo* info, int axisnumber,
>     info->min.frac = 0;
>     info->max.integral = v->axes[axisnumber].max_value;
>     info->max.frac = 0;
> -    info->value.integral = (int)v->axisVal[axisnumber];
> -    info->value.frac = (int)(v->axisVal[axisnumber] * (1 << 16) * (1 << 16));
> +    info->value = double_to_fp3232(v->axisVal[axisnumber]);
>     info->resolution = v->axes[axisnumber].resolution;
>     info->number = axisnumber;
>     info->mode = valuator_get_mode(dev, axisnumber);
> @@ -402,8 +402,7 @@ ListScrollInfo(DeviceIntPtr dev, xXIScrollInfo *info, int axisnumber)
>             ErrorF("[Xi] Unknown scroll type %d. This is a bug.\n", axis->scroll.type);
>             break;
>     }
> -    info->increment.integral = (int)axis->scroll.increment;
> -    info->increment.frac = (unsigned int)(axis->scroll.increment * (1UL << 16) * (1UL << 16));
> +    info->increment = double_to_fp3232(axis->scroll.increment);
>     info->sourceid = v->sourceid;
> 
>     info->flags = 0;
> diff --git a/dix/eventconvert.c b/dix/eventconvert.c
> index ff42b03..c9da396 100644
> --- a/dix/eventconvert.c
> +++ b/dix/eventconvert.c
> @@ -49,6 +49,7 @@
> #include "inpututils.h"
> #include "xiquerydevice.h"
> #include "xkbsrv.h"
> +#include "inpututils.h"
> 
> 
> static int countValuators(DeviceEvent *ev, int *first);
> @@ -686,9 +687,7 @@ eventToDeviceEvent(DeviceEvent *ev, xEvent **xi)
>         if (BitIsOn(ev->valuators.mask, i))
>         {
>             SetBit(ptr, i);
> -            axisval->integral = trunc(ev->valuators.data[i]);
> -            axisval->frac = (ev->valuators.data[i] - axisval->integral) *
> -                            (1 << 16) * (1 << 16);
> +            *axisval = double_to_fp3232(ev->valuators.data[i]);
>             axisval++;
>         }
>     }
> @@ -732,13 +731,8 @@ eventToRawEvent(RawDeviceEvent *ev, xEvent **xi)
>         if (BitIsOn(ev->valuators.mask, i))
>         {
>             SetBit(ptr, i);
> -            axisval->integral = trunc(ev->valuators.data[i]);
> -            axisval->frac = (ev->valuators.data[i] - axisval->integral) *
> -                            (1 << 16) * (1 << 16);
> -            axisval_raw->integral = trunc(ev->valuators.data_raw[i]);
> -            axisval_raw->frac =
> -                (ev->valuators.data_raw[i] - axisval_raw->integral) *
> -                  (1 << 16) * (1 << 16);
> +            *axisval =  double_to_fp3232(ev->valuators.data[i]);
> +            *axisval_raw = double_to_fp3232(ev->valuators.data_raw[i]);
>             axisval++;
>             axisval_raw++;
>         }
> -- 
> 1.7.7
> 
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel
> 



More information about the xorg-devel mailing list