summaryrefslogtreecommitdiff
path: root/fw/fe310/eos/eve/screen/screen.c
diff options
context:
space:
mode:
Diffstat (limited to 'fw/fe310/eos/eve/screen/screen.c')
-rw-r--r--fw/fe310/eos/eve/screen/screen.c23
1 files changed, 11 insertions, 12 deletions
diff --git a/fw/fe310/eos/eve/screen/screen.c b/fw/fe310/eos/eve/screen/screen.c
index 1099515..25a1a76 100644
--- a/fw/fe310/eos/eve/screen/screen.c
+++ b/fw/fe310/eos/eve/screen/screen.c
@@ -88,23 +88,22 @@ void eve_screen_draw(EVEScreen *screen) {
eve_cmd_exec(1);
}
-void eve_screen_handle_touch(void *s, uint8_t tag0, int touch_idx) {
+void eve_screen_handle_touch(EVETouch *touch, uint16_t evt, uint8_t tag0, void *s) {
EVEScreen *screen = s;
EVEWindow *win;
int h = 0;
- eve_touch_clear_opt();
-
- if (touch_idx >= 0) {
- win = screen->win_tail;
- while (win) {
- if (eve_window_visible(win)) {
- h = win->view->touch(win->view, tag0, touch_idx);
- if (h) break;
- }
- win = win->prev;
+ win = screen->win_tail;
+ while (win) {
+ if (eve_window_visible(win)) {
+ h = win->view->touch(win->view, touch, evt, tag0);
+ if (h) break;
}
+ win = win->prev;
}
- if (h) eve_screen_draw(screen);
+ if (h) {
+ eve_touch_clear_opt();
+ eve_screen_draw(screen);
+ }
}