From 8592a98072740de43a5b469f60854d805641c999 Mon Sep 17 00:00:00 2001 From: Uros Majstorovic Date: Sat, 7 Mar 2020 05:15:17 +0100 Subject: eve screen/tile/canvas/page/form fw added; page widget added --- code/fe310/eos/eve/widget/widget.c | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 code/fe310/eos/eve/widget/widget.c (limited to 'code/fe310/eos/eve/widget/widget.c') 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 + +#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 -- cgit v1.2.3