summaryrefslogtreecommitdiff
path: root/fw/fe310/eos/eve/screen/window.h
diff options
context:
space:
mode:
Diffstat (limited to 'fw/fe310/eos/eve/screen/window.h')
-rw-r--r--fw/fe310/eos/eve/screen/window.h20
1 files changed, 14 insertions, 6 deletions
diff --git a/fw/fe310/eos/eve/screen/window.h b/fw/fe310/eos/eve/screen/window.h
index 27465c4..ac52fb8 100644
--- a/fw/fe310/eos/eve/screen/window.h
+++ b/fw/fe310/eos/eve/screen/window.h
@@ -8,12 +8,14 @@ typedef struct EVEWindow {
EVERect g;
char *name;
EVEView *view;
+ void *view_id;
struct EVEWindowRoot *root;
struct EVEWindow *parent;
struct EVEWindow *next;
struct EVEWindow *prev;
struct EVEWindow *child_head;
struct EVEWindow *child_tail;
+ int dirty;
} EVEWindow;
typedef struct EVEWindowKbd {
@@ -28,7 +30,7 @@ typedef struct EVEWindowRoot {
EVEFont *font;
EVEWindowKbd *win_kbd;
EVEWindow *win_scroll;
- uint8_t tag0;
+ uint8_t tag_scroll;
} EVEWindowRoot;
void eve_window_init(EVEWindow *window, EVERect *g, EVEWindow *parent, char *name);
@@ -36,8 +38,13 @@ void eve_window_init_root(EVEWindowRoot *root, EVERect *g, char *name, EVEFont *
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);
+void eve_window_attach_view(EVEWindow *window, EVEView *view, void *view_id);
+void eve_window_detach_view(EVEWindow *window);
+int eve_window_dirty(EVEWindow *window);
+void eve_window_clean(EVEWindow *window);
+
int eve_window_visible(EVEWindow *window);
-void eve_window_visible_g(EVEWindow *window, EVERect *g);
+void eve_window_visible_g(EVEWindow *window, EVERect *rect);
void eve_window_append(EVEWindow *window);
void eve_window_insert_above(EVEWindow *window, EVEWindow *win_prev);
@@ -46,15 +53,16 @@ void eve_window_remove(EVEWindow *window);
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);
+int eve_window_touch(EVEWindow *window, EVETouch *touch, uint16_t evt);
void eve_window_root_draw(EVEWindowRoot *root);
-void eve_window_root_touch(EVETouch *touch, uint16_t evt, uint8_t tag0, void *win);
+void eve_window_root_touch(EVETouch *touch, uint16_t evt, 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);
-EVEWindow *eve_window_scroll(EVEWindowRoot *root, uint8_t *tag);
+EVEWindow *eve_window_scroll(EVEWindow *window, uint8_t *tag);
void eve_window_scroll_start(EVEWindow *window, uint8_t tag);
void eve_window_scroll_stop(EVEWindow *window);
+
+EVEFont *eve_window_font(EVEWindow *window);