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/screen/tile.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 code/fe310/eos/eve/screen/tile.c (limited to 'code/fe310/eos/eve/screen/tile.c') diff --git a/code/fe310/eos/eve/screen/tile.c b/code/fe310/eos/eve/screen/tile.c new file mode 100644 index 0000000..3715f6d --- /dev/null +++ b/code/fe310/eos/eve/screen/tile.c @@ -0,0 +1,32 @@ +#include +#include + +#include "eve.h" +#include "eve_kbd.h" + +#include "screen.h" +#include "tile.h" + +#define MIN(X, Y) (((X) < (Y)) ? (X) : (Y)) + +void eve_tile_init(EVETile *tile, EVEScreen *screen, uint16_t x, uint16_t y, uint16_t w, uint16_t h, EVECanvas *canvas) { + tile->screen = screen; + tile->x = x; + tile->y = y; + tile->w = w; + tile->h = h; + tile->canvas = canvas; +} + +void eve_tile_get_pos(EVETile *tile, uint16_t *x, uint16_t *y, uint16_t *w, uint16_t *h) { + if (x) *x = tile->x; + if (y) *y = tile->y; + if (w) *w = tile->w; + if (h) *h = MIN(tile->x + tile->h, tile->screen->h - (tile->screen->kbd && tile->screen->kbd_active ? tile->screen->kbd->h : 0)); +} + +void eve_canvas_init(EVECanvas *canvas, eve_canvas_touch_t touch, eve_canvas_draw_t draw) { + canvas->touch = touch; + canvas->draw = draw; +} + -- cgit v1.2.3