summaryrefslogtreecommitdiff
path: root/code/fe310/eos/eve/screen/tile.h
diff options
context:
space:
mode:
Diffstat (limited to 'code/fe310/eos/eve/screen/tile.h')
-rw-r--r--code/fe310/eos/eve/screen/tile.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/code/fe310/eos/eve/screen/tile.h b/code/fe310/eos/eve/screen/tile.h
new file mode 100644
index 0000000..5fea8bf
--- /dev/null
+++ b/code/fe310/eos/eve/screen/tile.h
@@ -0,0 +1,24 @@
+#include <stdint.h>
+
+struct EVECanvas;
+
+typedef int (*eve_canvas_touch_t) (struct EVECanvas *, uint8_t, int);
+typedef uint8_t (*eve_canvas_draw_t) (struct EVECanvas *, uint8_t);
+
+typedef struct EVECanvas {
+ eve_canvas_touch_t touch;
+ eve_canvas_draw_t draw;
+} EVECanvas;
+
+typedef struct EVETile {
+ uint16_t x;
+ uint16_t y;
+ uint16_t w;
+ uint16_t h;
+ EVECanvas *canvas;
+ EVEScreen *screen;
+} EVETile;
+
+void eve_tile_init(EVETile *tile, EVEScreen *screen, uint16_t x, uint16_t y, uint16_t w, uint16_t h, EVECanvas *canvas);
+void eve_tile_get_pos(EVETile *tile, uint16_t *x, uint16_t *y, uint16_t *w, uint16_t *h);
+void eve_canvas_init(EVECanvas *canvas, eve_canvas_touch_t touch, eve_canvas_draw_t draw);