summaryrefslogtreecommitdiff
path: root/src/touch-engine.c
diff options
context:
space:
mode:
authorHenrik Rydberg <rydberg@bitmath.org>2010-07-26 13:51:34 +0200
committerHenrik Rydberg <rydberg@euromail.se>2010-08-05 22:48:38 +0200
commitb76660d71e2ea77752025089bd71deffad64e325 (patch)
treec19adf132087edcdc1e721446d4975f37899239e /src/touch-engine.c
parenteb896e11aacab5f53e3915a8d19ffffd92ce8e10 (diff)
Test implementation of grail api
This patch introduces the grail API, and a program to test it (evlink). Signed-off-by: Henrik Rydberg <rydberg@bitmath.org>
Diffstat (limited to 'src/touch-engine.c')
-rw-r--r--src/touch-engine.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/touch-engine.c b/src/touch-engine.c
index 6174e0d..8e43faf 100644
--- a/src/touch-engine.c
+++ b/src/touch-engine.c
@@ -94,13 +94,15 @@ static void tp_destroy(struct touch_dev *dev, int slot)
94 } 94 }
95} 95}
96 96
97static void tp_sync(struct touch_dev *dev, touch_time_t time) 97static void tp_sync(struct touch_dev *dev, const struct input_event *syn)
98{ 98{
99 static const touch_time_t ms = 1000;
99 struct touch_engine *engine = dev->priv; 100 struct touch_engine *engine = dev->priv;
101 touch_time_t time = syn->time.tv_usec / ms + syn->time.tv_sec * ms;
100 if (engine) { 102 if (engine) {
101 finalize_frame(&engine->frame, time); 103 finalize_frame(&engine->frame, time);
102 if (engine->sync) 104 if (engine->sync)
103 engine->sync(engine); 105 engine->sync(engine, syn);
104 engine->frame.ncreate = 0; 106 engine->frame.ncreate = 0;
105 engine->frame.nmodify = 0; 107 engine->frame.nmodify = 0;
106 engine->frame.ndestroy = 0; 108 engine->frame.ndestroy = 0;
@@ -110,7 +112,8 @@ static void tp_sync(struct touch_dev *dev, touch_time_t time)
110void touch_engine_init(struct touch_engine *engine, 112void touch_engine_init(struct touch_engine *engine,
111 void (*event)(struct touch_engine *engine, 113 void (*event)(struct touch_engine *engine,
112 const struct input_event *ev), 114 const struct input_event *ev),
113 void (*sync)(struct touch_engine *engine), 115 void (*sync)(struct touch_engine *engine,
116 const struct input_event *ev),
114 void *priv) 117 void *priv)
115{ 118{
116 memset(engine, 0, sizeof(*engine)); 119 memset(engine, 0, sizeof(*engine));