diff options
Diffstat (limited to 'fw/fe310/eos/eve/screen/screen.c')
-rw-r--r-- | fw/fe310/eos/eve/screen/screen.c | 23 |
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); + } } |