summaryrefslogtreecommitdiff
path: root/src/grail-event.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/grail-event.c')
-rw-r--r--src/grail-event.c33
1 files changed, 16 insertions, 17 deletions
diff --git a/src/grail-event.c b/src/grail-event.c
index 23fdbb3..9c0e437 100644
--- a/src/grail-event.c
+++ b/src/grail-event.c
@@ -28,17 +28,17 @@
28#include <math.h> 28#include <math.h>
29 29
30static void compute_bbox(struct grail_coord *min, struct grail_coord *max, 30static void compute_bbox(struct grail_coord *min, struct grail_coord *max,
31 const struct touch_frame *frame) 31 const struct utouch_frame *frame)
32{ 32{
33 float x, y; 33 float x, y;
34 int i; 34 int i;
35 if (frame->nactive < 1) 35 if (frame->num_active < 1)
36 return; 36 return;
37 x = frame->active[0]->x; 37 x = frame->active[0]->x;
38 y = frame->active[0]->y; 38 y = frame->active[0]->y;
39 min->x = max->x = x; 39 min->x = max->x = x;
40 min->y = max->y = y; 40 min->y = max->y = y;
41 for (i = 1; i < frame->nactive; i++) { 41 for (i = 1; i < frame->num_active; i++) {
42 x = frame->active[i]->x; 42 x = frame->active[i]->x;
43 y = frame->active[i]->y; 43 y = frame->active[i]->y;
44 if (x < min->x) 44 if (x < min->x)
@@ -53,10 +53,10 @@ static void compute_bbox(struct grail_coord *min, struct grail_coord *max,
53} 53}
54 54
55int gin_add_contact_props(const struct gesture_inserter *gin, 55int gin_add_contact_props(const struct gesture_inserter *gin,
56 grail_prop_t *prop, const struct touch_frame *frame) 56 grail_prop_t *prop, const struct utouch_frame *frame)
57{ 57{
58 struct grail_coord min, max; 58 struct grail_coord min, max;
59 int i, n = 0, ntouch = frame->nactive; 59 int i, n = 0, ntouch = frame->num_active;
60 if (!ntouch) 60 if (!ntouch)
61 return n; 61 return n;
62 if (ntouch > 5) 62 if (ntouch > 5)
@@ -67,7 +67,7 @@ int gin_add_contact_props(const struct gesture_inserter *gin,
67 prop[n++] = gin_prop_x(gin, max.x); 67 prop[n++] = gin_prop_x(gin, max.x);
68 prop[n++] = gin_prop_y(gin, max.y); 68 prop[n++] = gin_prop_y(gin, max.y);
69 for (i = 0; i < ntouch; i++) { 69 for (i = 0; i < ntouch; i++) {
70 const struct touch *ct = frame->active[i]; 70 const struct utouch_contact *ct = frame->active[i];
71 prop[n++] = ct->id; 71 prop[n++] = ct->id;
72 prop[n++] = gin_prop_x(gin, ct->x); 72 prop[n++] = gin_prop_x(gin, ct->x);
73 prop[n++] = gin_prop_y(gin, ct->y); 73 prop[n++] = gin_prop_y(gin, ct->y);
@@ -79,15 +79,15 @@ int gin_get_clients(struct grail *ge,
79 struct grail_client_info *info, int maxinfo, 79 struct grail_client_info *info, int maxinfo,
80 const grail_mask_t* types, int btypes, 80 const grail_mask_t* types, int btypes,
81 const grail_mask_t* span, int bspan, 81 const grail_mask_t* span, int bspan,
82 const struct touch_frame *frame) 82 const struct utouch_frame *frame)
83{ 83{
84 struct grail_coord pos[DIM_TOUCH]; 84 struct grail_coord pos[DIM_TOUCH];
85 int i, npos = 0; 85 int i, npos = 0;
86 if (!ge->get_clients) 86 if (!ge->get_clients)
87 return 0; 87 return 0;
88 grail_mask_foreach(i, span, bspan) { 88 grail_mask_foreach(i, span, bspan) {
89 pos[npos].x = gin_prop_x(ge->gin, frame->touch[i].x); 89 pos[npos].x = gin_prop_x(ge->gin, frame->slots[i]->x);
90 pos[npos].y = gin_prop_y(ge->gin, frame->touch[i].y); 90 pos[npos].y = gin_prop_y(ge->gin, frame->slots[i]->y);
91 npos++; 91 npos++;
92 } 92 }
93 return ge->get_clients(ge, info, maxinfo, pos, npos, types, btypes); 93 return ge->get_clients(ge, info, maxinfo, pos, npos, types, btypes);
@@ -95,7 +95,7 @@ int gin_get_clients(struct grail *ge,
95 95
96void gin_send_event(struct grail *ge, struct slot_state *s, 96void gin_send_event(struct grail *ge, struct slot_state *s,
97 const struct gesture_event *ev, 97 const struct gesture_event *ev,
98 const struct touch_frame *frame) 98 const struct utouch_frame *frame)
99{ 99{
100 struct grail_impl *impl = ge->impl; 100 struct grail_impl *impl = ge->impl;
101 const struct gesture_inserter *gin = ge->gin; 101 const struct gesture_inserter *gin = ge->gin;
@@ -121,15 +121,14 @@ void gin_send_event(struct grail *ge, struct slot_state *s,
121int grail_get_contacts(const struct grail *ge, 121int grail_get_contacts(const struct grail *ge,
122 struct grail_contact *touch, int max_touch) 122 struct grail_contact *touch, int max_touch)
123{ 123{
124 const struct touch_dev *dev = &ge->impl->dev;
125 const struct gesture_inserter *gin = ge->gin; 124 const struct gesture_inserter *gin = ge->gin;
126 const struct touch_frame *frame = &dev->frame; 125 const struct utouch_frame *frame = ge->impl->frame;
127 int i; 126 int i;
128 if (frame->nactive < max_touch) 127 if (frame->num_active < max_touch)
129 max_touch = frame->nactive; 128 max_touch = frame->num_active;
130 for (i = 0; i < max_touch; i++) { 129 for (i = 0; i < max_touch; i++) {
131 struct grail_contact *t = &touch[i]; 130 struct grail_contact *t = &touch[i];
132 const struct touch *ct = frame->active[i]; 131 const struct utouch_contact *ct = frame->active[i];
133 t->id = ct->id; 132 t->id = ct->id;
134 t->tool_type = ct->tool_type; 133 t->tool_type = ct->tool_type;
135 t->pos.x = gin_prop_x(gin, ct->x); 134 t->pos.x = gin_prop_x(gin, ct->x);
@@ -138,8 +137,8 @@ int grail_get_contacts(const struct grail *ge,
138 t->touch_minor = gin->scale_r * ct->touch_minor; 137 t->touch_minor = gin->scale_r * ct->touch_minor;
139 t->width_major = gin->scale_r * ct->width_major; 138 t->width_major = gin->scale_r * ct->width_major;
140 t->width_minor = gin->scale_r * ct->width_minor; 139 t->width_minor = gin->scale_r * ct->width_minor;
141 t->angle = touch_angle(dev, ct->orientation); 140 t->angle = ct->orientation;
142 t->pressure = touch_pressure(dev, ct->pressure); 141 t->pressure = ct->pressure;
143 } 142 }
144 return max_touch; 143 return max_touch;
145} 144}