From b5aa60b256dd2b328515779883ba365aba3d995f Mon Sep 17 00:00:00 2001 From: Uros Majstorovic Date: Tue, 9 Jun 2020 00:32:34 +0200 Subject: EVEView iface fixed; screen keyboard window implemented --- code/fe310/eos/eve/screen/screen.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'code/fe310/eos/eve/screen/screen.c') diff --git a/code/fe310/eos/eve/screen/screen.c b/code/fe310/eos/eve/screen/screen.c index 9827323..d31cd2c 100644 --- a/code/fe310/eos/eve/screen/screen.c +++ b/code/fe310/eos/eve/screen/screen.c @@ -22,11 +22,11 @@ EVEKbd *eve_screen_get_kbd(EVEScreen *screen) { } void eve_screen_show_kbd(EVEScreen *screen) { - screen->kbd_active = 1; + if (screen->kbd && screen->kbd_win) screen->kbd_win->g.y = screen->h - screen->kbd->g.h; } void eve_screen_hide_kbd(EVEScreen *screen) { - screen->kbd_active = 0; + if (screen->kbd && screen->kbd_win) screen->kbd_win->g.y = screen->h; } int eve_screen_win_insert(EVEScreen *screen, EVEWindow *window, int idx) { @@ -69,5 +69,21 @@ void eve_screen_win_append(EVEScreen *screen, EVEWindow *window) { } void eve_screen_handle_touch(EVEScreen *screen, uint8_t tag0, int touch_idx) { + EVEWindow *w; + int a; + uint8_t tagN = 0x80; + eve_touch_clear_opt(); + + w = screen->win_head; + while(w) { + if (eve_window_visible(w)) a = w->view->touch(w->view, tag0, touch_idx); + w = w->next; + } + + w = screen->win_head; + while(w) { + if (eve_window_visible(w)) tagN = w->view->draw(w->view, tagN); + w = w->next; + } } -- cgit v1.2.3