From 61d778784817e349e5ef7e419adfc0b521b7e33a Mon Sep 17 00:00:00 2001 From: Henrik Rydberg Date: Thu, 19 Aug 2010 21:38:54 +0200 Subject: Use the touch_caps directly rather than grail_get_units() --- src/grail-inserter.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'src/grail-inserter.c') diff --git a/src/grail-inserter.c b/src/grail-inserter.c index 36ab570..2e5e7af 100644 --- a/src/grail-inserter.c +++ b/src/grail-inserter.c @@ -21,6 +21,7 @@ ****************************************************************************/ #include "grail-inserter.h" +#include "grail-impl.h" #include #include #include @@ -373,15 +374,18 @@ void grail_set_bbox(struct grail *ge, const struct grail_coord *tmin, const struct grail_coord *tmax) { + struct touch_caps *caps = &ge->impl->dev.caps; struct gesture_inserter *gin = ge->gin; - struct grail_coord dmin, dmax; - double sx, sy; - grail_get_units(ge, &dmin, &dmax); - sx = (tmax->x - tmin->x) / (dmax.x - dmin.x); - sy = (tmax->y - tmin->y) / (dmax.y - dmin.y); + double tx, ty, dx, dy, sx, sy; + tx = tmax->x - tmin->x; + ty = tmax->y - tmin->y; + dx = caps->max_x - caps->min_x; + dy = caps->max_y - caps->min_y; + sx = tx / dx; + sy = ty / dy; gin->scale_x = sx; gin->scale_y = sy; - gin->scale_r = sqrt((sx * sx + sy * sy) / 2); - gin->trans_x = tmin->x - dmin.x * sx; - gin->trans_y = tmin->y - dmin.y * sy; + gin->scale_r = sqrt((tx * tx + ty * ty) / (dx * dx + dy * dy)); + gin->trans_x = tmin->x - caps->min_x * sx; + gin->trans_y = tmin->y - caps->min_y * sy; } -- cgit v1.2.3