summaryrefslogtreecommitdiff
path: root/code/fe310/eos/eve/screen/screen.h
diff options
context:
space:
mode:
Diffstat (limited to 'code/fe310/eos/eve/screen/screen.h')
-rw-r--r--code/fe310/eos/eve/screen/screen.h21
1 files changed, 11 insertions, 10 deletions
diff --git a/code/fe310/eos/eve/screen/screen.h b/code/fe310/eos/eve/screen/screen.h
index 8627517..ff634b4 100644
--- a/code/fe310/eos/eve/screen/screen.h
+++ b/code/fe310/eos/eve/screen/screen.h
@@ -1,22 +1,20 @@
#include <stdint.h>
-#define EVE_MAX_TILES 8
+struct EVEWindow;
-struct EVETile;
-
-typedef struct EVEWindow {
- uint16_t x;
- uint16_t y;
+typedef struct EVERect {
+ int16_t x;
+ int16_t y;
uint16_t w;
uint16_t h;
-} EVEWindow;
+} EVERect;
typedef struct EVEScreen {
uint16_t w;
uint16_t h;
EVEKbd *kbd;
- struct EVETile *tile[EVE_MAX_TILES];
- uint8_t tile_size;
+ struct EVEWindow *win_head;
+ struct EVEWindow *win_tail;
char kbd_active;
} EVEScreen;
@@ -26,5 +24,8 @@ EVEKbd *eve_screen_get_kbd(EVEScreen *screen);
void eve_screen_show_kbd(EVEScreen *screen);
void eve_screen_hide_kbd(EVEScreen *screen);
-void eve_screen_add_tile(EVEScreen *screen, struct EVETile *tile);
+int eve_screen_win_insert(EVEScreen *screen, struct EVEWindow *window, int idx);
+int eve_screen_win_remove(EVEScreen *screen, struct EVEWindow *window);
+void eve_screen_win_append(EVEScreen *screen, struct EVEWindow *window);
+
void eve_screen_handle_touch(EVEScreen *screen, uint8_t tag0, int touch_idx);