Enlightenment CVS committal Author : raster Project : e17 Module : libs/ecore
Dir : e17/libs/ecore/src/lib/ecore_fb Modified Files: ecore_fb.c Log Message: simon's tscal stuff =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_fb/ecore_fb.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- ecore_fb.c 2 Mar 2005 07:06:40 -0000 1.9 +++ ecore_fb.c 31 May 2005 22:30:47 -0000 1.10 @@ -128,6 +128,9 @@ static double _ecore_fb_double_click_time = 0.25; +static struct _Ecore_Fb_Ts_Calibrate _ecore_fb_ts_cal = {1,1,0,0,0}; +static int _ecore_fb_ts_apply_cal = 0; + static const char *_ecore_fb_kbd_syms[128 * 6] = { #include "ecore_fb_keytab.h" @@ -513,7 +516,10 @@ cal.yscale = yscale; cal.ytrans = ytrans; cal.xyswap = xyswap; - ioctl(_ecore_fb_ts_fd, TS_SET_CAL, (void *)&cal); + if (ioctl(_ecore_fb_ts_fd, TS_SET_CAL, (void *)&cal)) { + _ecore_fb_ts_cal = cal; + _ecore_fb_ts_apply_cal = 1; + } } /** @@ -532,7 +538,14 @@ Ecore_Fb_Ts_Calibrate cal; if (_ecore_fb_ts_fd < 0) return; - ioctl(_ecore_fb_ts_fd, TS_GET_CAL, (void *)&cal); + if (!_ecore_fb_ts_apply_cal) { + if (ioctl(_ecore_fb_ts_fd, TS_GET_CAL, (void *)&cal)) { + _ecore_fb_ts_cal = cal; + } + } + if (_ecore_fb_ts_apply_cal) { + cal = _ecore_fb_ts_cal; + } if (xscale) *xscale = cal.xscale; if (xtrans) *xtrans = cal.xtrans; if (yscale) *yscale = cal.yscale; @@ -787,8 +800,13 @@ if (v < num) return 1; t = ecore_time_get(); _ecore_fb_ts_event_byte_count = 0; - x = _ecore_fb_ts_event.x; - y = _ecore_fb_ts_event.y; + if (_ecore_fb_ts_apply_cal) { + x = ((_ecore_fb_ts_cal.xscale * _ecore_fb_ts_event.x) >> 8) + _ecore_fb_ts_cal.xtrans; + y = ((_ecore_fb_ts_cal.yscale * _ecore_fb_ts_event.y) >> 8) + _ecore_fb_ts_cal.ytrans; + } else { + x = _ecore_fb_ts_event.x; + y = _ecore_fb_ts_event.y; + } pressure = _ecore_fb_ts_event.pressure; /* add event to queue */ /* always add a move event */ ------------------------------------------------------- This SF.Net email is sponsored by Yahoo. Introducing Yahoo! Search Developer Network - Create apps using Yahoo! Search APIs Find out how you can build Yahoo! directly into your own Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs