summaryrefslogtreecommitdiff
path: root/code/fe310/eos/eve/screen/screen.c
diff options
context:
space:
mode:
authorUros Majstorovic <majstor@majstor.org>2020-06-09 00:32:34 +0200
committerUros Majstorovic <majstor@majstor.org>2020-06-09 00:32:34 +0200
commitb5aa60b256dd2b328515779883ba365aba3d995f (patch)
treeb937738559310e19fa79e927825810b4c4af1e97 /code/fe310/eos/eve/screen/screen.c
parentd9bf3b288ce5f6e84f7e6079948fdf0735b4711f (diff)
EVEView iface fixed; screen keyboard window implemented
Diffstat (limited to 'code/fe310/eos/eve/screen/screen.c')
-rw-r--r--code/fe310/eos/eve/screen/screen.c20
1 files changed, 18 insertions, 2 deletions
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;
+ }
}