diff options
author | Uros Majstorovic <majstor@majstor.org> | 2020-03-07 05:15:17 +0100 |
---|---|---|
committer | Uros Majstorovic <majstor@majstor.org> | 2020-03-07 05:15:17 +0100 |
commit | 8592a98072740de43a5b469f60854d805641c999 (patch) | |
tree | 6a98fc6e90089a2c7257374832299f875bfbefd2 /code/fe310/eos/eve/widget/widget.h | |
parent | a0688d29102539f8bc0f5b412683bf3d899d85c0 (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.h | 18 |
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); |