summaryrefslogtreecommitdiff
path: root/fw/fe310/eos/eve/screen/window.h
diff options
context:
space:
mode:
authorUros Majstorovic <majstor@majstor.org>2021-03-27 22:08:31 +0100
committerUros Majstorovic <majstor@majstor.org>2021-03-27 22:08:31 +0100
commitdaa87d92b3df433578e53284a8c88083e24f8623 (patch)
treebb061a88510935f7bb91139ae618caaf9b546c96 /fw/fe310/eos/eve/screen/window.h
parent72a82b58ba87fe9ecc2718bfcb2b5f0432ffaea9 (diff)
form/app cleanup; scroll infrastructure
Diffstat (limited to 'fw/fe310/eos/eve/screen/window.h')
-rw-r--r--fw/fe310/eos/eve/screen/window.h18
1 files changed, 13 insertions, 5 deletions
diff --git a/fw/fe310/eos/eve/screen/window.h b/fw/fe310/eos/eve/screen/window.h
index 76ccee9..27465c4 100644
--- a/fw/fe310/eos/eve/screen/window.h
+++ b/fw/fe310/eos/eve/screen/window.h
@@ -2,11 +2,13 @@
#include "view.h"
+struct EVEWindowRoot;
+
typedef struct EVEWindow {
EVERect g;
char *name;
EVEView *view;
- struct EVEWindow *root;
+ struct EVEWindowRoot *root;
struct EVEWindow *parent;
struct EVEWindow *next;
struct EVEWindow *prev;
@@ -25,11 +27,13 @@ typedef struct EVEWindowRoot {
uint32_t mem_next;
EVEFont *font;
EVEWindowKbd *win_kbd;
+ EVEWindow *win_scroll;
+ uint8_t tag0;
} EVEWindowRoot;
void eve_window_init(EVEWindow *window, EVERect *g, EVEWindow *parent, char *name);
-void eve_window_init_root(EVEWindowRoot *window, EVERect *g, char *name, EVEFont *font);
-void eve_window_init_kbd(EVEWindowKbd *window, EVERect *g, EVEWindowRoot *root, char *name, EVEKbd *kbd);
+void eve_window_init_root(EVEWindowRoot *root, EVERect *g, char *name, EVEFont *font);
+void eve_window_init_kbd(EVEWindowKbd *win_kbd, EVERect *g, EVEWindowRoot *root, char *name, EVEKbd *kbd);
void eve_window_set_parent(EVEWindow *window, EVEWindow *parent);
int eve_window_visible(EVEWindow *window);
@@ -43,10 +47,14 @@ EVEWindow *eve_window_search(EVEWindow *window, char *name);
uint8_t eve_window_draw(EVEWindow *window, uint8_t tag0);
int eve_window_touch(EVEWindow *window, EVETouch *touch, uint16_t evt, uint8_t tag0);
-void eve_window_root_draw(EVEWindow *window);
+void eve_window_root_draw(EVEWindowRoot *root);
void eve_window_root_touch(EVETouch *touch, uint16_t evt, uint8_t tag0, void *win);
EVEKbd *eve_window_kbd(EVEWindow *window);
void eve_window_kbd_attach(EVEWindow *window);
void eve_window_kbd_detach(EVEWindow *window);
-EVEFont *eve_window_font(EVEWindow *window); \ No newline at end of file
+EVEFont *eve_window_font(EVEWindow *window);
+
+EVEWindow *eve_window_scroll(EVEWindowRoot *root, uint8_t *tag);
+void eve_window_scroll_start(EVEWindow *window, uint8_t tag);
+void eve_window_scroll_stop(EVEWindow *window);