aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/capabilities.c10
-rw-r--r--src/capabilities.h3
-rw-r--r--src/multitouch.c8
3 files changed, 15 insertions, 6 deletions
diff --git a/src/capabilities.c b/src/capabilities.c
index cdd05c5..7316f01 100644
--- a/src/capabilities.c
+++ b/src/capabilities.c
@@ -81,6 +81,16 @@ int read_capabilities(struct Capabilities *cap, int fd)
return 0;
}
+int get_cap_xsize(const struct Capabilities *cap)
+{
+ return cap->abs_position_x.maximum - cap->abs_position_x.minimum;
+}
+
+int get_cap_ysize(const struct Capabilities *cap)
+{
+ return cap->abs_position_y.maximum - cap->abs_position_y.minimum;
+}
+
void output_capabilities(const struct Capabilities *cap)
{
char line[1024];
diff --git a/src/capabilities.h b/src/capabilities.h
index 66ce29b..dc257ce 100644
--- a/src/capabilities.h
+++ b/src/capabilities.h
@@ -41,6 +41,9 @@ struct Capabilities {
};
int read_capabilities(struct Capabilities *cap, int fd);
+int get_cap_xsize(const struct Capabilities *cap);
+int get_cap_ysize(const struct Capabilities *cap);
+
void output_capabilities(const struct Capabilities *cap);
#endif
diff --git a/src/multitouch.c b/src/multitouch.c
index 2919b9d..fd2393f 100644
--- a/src/multitouch.c
+++ b/src/multitouch.c
@@ -185,12 +185,8 @@ static void handle_gestures(LocalDevicePtr local,
const struct Capabilities *caps)
{
static int vscroll, hscroll;
- int vstep = 1 +
- vscroll_fraction * (caps->abs_position_y.maximum -
- caps->abs_position_y.minimum);
- int hstep = 1 +
- hscroll_fraction * (caps->abs_position_x.maximum -
- caps->abs_position_x.minimum);
+ int vstep = 1 + vscroll_fraction * get_cap_ysize(caps);
+ int hstep = 1 + hscroll_fraction * get_cap_xsize(caps);
int i;
for (i = 0; i < DIM_BUTTON; i++) {
if (GETBIT(gs->btmask, i)) {