summaryrefslogtreecommitdiff
path: root/code/fe310/eos/eve/widget/widget.h
diff options
context:
space:
mode:
authorUros Majstorovic <majstor@majstor.org>2020-03-07 05:15:17 +0100
committerUros Majstorovic <majstor@majstor.org>2020-03-07 05:15:17 +0100
commit8592a98072740de43a5b469f60854d805641c999 (patch)
tree6a98fc6e90089a2c7257374832299f875bfbefd2 /code/fe310/eos/eve/widget/widget.h
parenta0688d29102539f8bc0f5b412683bf3d899d85c0 (diff)
eve screen/tile/canvas/page/form fw added; page widget added
Diffstat (limited to 'code/fe310/eos/eve/widget/widget.h')
-rw-r--r--code/fe310/eos/eve/widget/widget.h18
1 files changed, 11 insertions, 7 deletions
diff --git a/code/fe310/eos/eve/widget/widget.h b/code/fe310/eos/eve/widget/widget.h
index 7638bbf..8960e63 100644
--- a/code/fe310/eos/eve/widget/widget.h
+++ b/code/fe310/eos/eve/widget/widget.h
@@ -1,19 +1,23 @@
#include <stdint.h>
-#include "eve_kbd.h"
-
#define EVE_WIDGET_TYPE_TEXT 1
+#define EVE_WIDGET_TYPE_PAGE 2
+
+struct EVEWidget;
-struct EVEScreen;
+typedef int (*eve_widget_touch_t) (struct EVEWidget *, EVEPage *, uint8_t, int, EVEPageFocus *);
+typedef uint8_t (*eve_widget_draw_t) (struct EVEWidget *, EVEPage *, uint8_t);
typedef struct EVEWidget {
uint8_t type;
- uint16_t x;
- uint16_t y;
+ int16_t x;
+ int16_t y;
uint16_t w;
uint16_t h;
- int (*touch) (struct EVEWidget *, struct EVEScreen *, uint8_t, int);
- uint8_t (*draw) (struct EVEWidget *, struct EVEScreen *, uint8_t, char);
+ eve_widget_touch_t touch;
+ eve_widget_draw_t draw;
eve_kbd_input_handler_t putc;
} EVEWidget;
+void eve_widget_init(EVEWidget *widget, uint8_t type, int16_t x, int16_t y, uint16_t w, uint16_t h, eve_widget_touch_t touch, eve_widget_draw_t draw, eve_kbd_input_handler_t putc);
+EVEWidget *eve_widget_next(EVEWidget *widget);