xfree86: rename parameter names to xf86ScaleAxis.

Maybe it's just me but every time I look at it I get confused again and need
to work it out from scratch. Rename the parameters to something
self-explanatory, to/from and min/max.

No functional change.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
This commit is contained in:
Peter Hutterer 2010-10-13 15:53:59 +10:00
parent 23229c7ce5
commit 3c28a29e13
2 changed files with 20 additions and 17 deletions

View File

@ -1238,40 +1238,43 @@ xf86FirstLocalDevice(void)
/* /*
* Cx - raw data from touch screen * Cx - raw data from touch screen
* Sxhigh - scaled highest dimension * to_max - scaled highest dimension
* (remember, this is of rows - 1 because of 0 origin) * (remember, this is of rows - 1 because of 0 origin)
* Sxlow - scaled lowest dimension * to_min - scaled lowest dimension
* Rxhigh - highest raw value from touch screen calibration * from_max - highest raw value from touch screen calibration
* Rxlow - lowest raw value from touch screen calibration * from_min - lowest raw value from touch screen calibration
* *
* This function is the same for X or Y coordinates. * This function is the same for X or Y coordinates.
* You may have to reverse the high and low values to compensate for * You may have to reverse the high and low values to compensate for
* different orgins on the touch screen vs X. * different orgins on the touch screen vs X.
*
* e.g. to scale from device coordinates into screen coordinates, call
* xf86ScaleAxis(x, 0, screen_width, dev_min, dev_max);
*/ */
int int
xf86ScaleAxis(int Cx, xf86ScaleAxis(int Cx,
int Sxhigh, int to_max,
int Sxlow, int to_min,
int Rxhigh, int from_max,
int Rxlow ) int from_min )
{ {
int X; int X;
int64_t dSx = Sxhigh - Sxlow; int64_t to_width = to_max - to_min;
int64_t dRx = Rxhigh - Rxlow; int64_t from_width = from_max - from_min;
if (dRx) { if (from_width) {
X = (int)(((dSx * (Cx - Rxlow)) / dRx) + Sxlow); X = (int)(((to_width * (Cx - from_min)) / from_width) + to_min);
} }
else { else {
X = 0; X = 0;
ErrorF ("Divide by Zero in xf86ScaleAxis"); ErrorF ("Divide by Zero in xf86ScaleAxis");
} }
if (X > Sxhigh) if (X > to_max)
X = Sxhigh; X = to_max;
if (X < Sxlow) if (X < to_min)
X = Sxlow; X = to_min;
return X; return X;
} }

View File

@ -184,7 +184,7 @@ extern _X_EXPORT void xf86PostKeyboardEvent(DeviceIntPtr device, unsigned int ke
int is_down); int is_down);
extern _X_EXPORT int xf86ActivateDevice(LocalDevicePtr local); extern _X_EXPORT int xf86ActivateDevice(LocalDevicePtr local);
extern _X_EXPORT LocalDevicePtr xf86FirstLocalDevice(void); extern _X_EXPORT LocalDevicePtr xf86FirstLocalDevice(void);
extern _X_EXPORT int xf86ScaleAxis(int Cx, int Sxhigh, int Sxlow, int Rxhigh, int Rxlow); extern _X_EXPORT int xf86ScaleAxis(int Cx, int to_max, int to_min, int from_max, int from_min);
extern _X_EXPORT void xf86XInputSetScreen(LocalDevicePtr local, int screen_number, int x, int y); extern _X_EXPORT void xf86XInputSetScreen(LocalDevicePtr local, int screen_number, int x, int y);
extern _X_EXPORT void xf86ProcessCommonOptions(InputInfoPtr pInfo, pointer options); extern _X_EXPORT void xf86ProcessCommonOptions(InputInfoPtr pInfo, pointer options);
extern _X_EXPORT void xf86InitValuatorAxisStruct(DeviceIntPtr dev, int axnum, Atom label, int minval, extern _X_EXPORT void xf86InitValuatorAxisStruct(DeviceIntPtr dev, int axnum, Atom label, int minval,