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.c | |
parent | a0688d29102539f8bc0f5b412683bf3d899d85c0 (diff) |
eve screen/tile/canvas/page/form fw added; page widget added
Diffstat (limited to 'code/fe310/eos/eve/widget/widget.c')
-rw-r--r-- | code/fe310/eos/eve/widget/widget.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/code/fe310/eos/eve/widget/widget.c b/code/fe310/eos/eve/widget/widget.c new file mode 100644 index 0000000..44de4c6 --- /dev/null +++ b/code/fe310/eos/eve/widget/widget.c @@ -0,0 +1,35 @@ +#include <stdlib.h> + +#include "eve.h" +#include "eve_kbd.h" + +#include "screen/screen.h" +#include "screen/tile.h" +#include "screen/page.h" +#include "screen/font.h" + +#include "widget.h" +#include "page.h" +#include "text.h" + +static const size_t _eve_wsize[] = { + 0, + sizeof(EVETextWidget), + sizeof(EVEPageWidget) +}; + +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) { + widget->type = type; + widget->x = x; + widget->y = y; + widget->w = w; + widget->h = h; + widget->touch = touch; + widget->draw = draw; + widget->putc = putc; +} + +EVEWidget *eve_widget_next(EVEWidget *widget) { + char *_w = (char *)widget; + return (EVEWidget *)(_w + _eve_wsize[widget->type]); +}
\ No newline at end of file |