summaryrefslogtreecommitdiff
path: root/shared-module/displayio
diff options
context:
space:
mode:
authorScott Shawcroft <scott@tannewt.org>2019-01-24 15:49:02 -0800
committerScott Shawcroft <scott@tannewt.org>2019-01-31 11:42:13 -0800
commitfb0970ec6e2fee42d748718557c35fe84a4d0ce5 (patch)
tree4b1a24a6503eac1d41875e2ba3c6e8a5f34fcc1d /shared-module/displayio
parent73cf490635809c2e5b1f57675d59507a247456f2 (diff)
Add terminalio
Diffstat (limited to 'shared-module/displayio')
-rw-r--r--shared-module/displayio/TileGrid.c9
-rw-r--r--shared-module/displayio/TileGrid.h1
2 files changed, 10 insertions, 0 deletions
diff --git a/shared-module/displayio/TileGrid.c b/shared-module/displayio/TileGrid.c
index 7e4bfe0a4..44874e283 100644
--- a/shared-module/displayio/TileGrid.c
+++ b/shared-module/displayio/TileGrid.c
@@ -45,6 +45,7 @@ void common_hal_displayio_tilegrid_construct(displayio_tilegrid_t *self, mp_obj_
self->inline_tiles = false;
}
self->width_in_tiles = width;
+ self->height_in_tiles = width;
self->total_width = width * tile_width;
self->total_height = height * tile_height;
self->tile_width = tile_width;
@@ -112,6 +113,14 @@ bool displayio_tilegrid_get_pixel(displayio_tilegrid_t *self, int16_t x, int16_t
return false;
}
+void common_hal_displayio_textgrid_set_tile(displayio_tilegrid_t *self, uint16_t x, uint16_t y, uint8_t tile_index) {
+ uint8_t* tiles = self->tiles;
+ if (self->inline_tiles) {
+ tiles = (uint8_t*) &self->tiles;
+ }
+ tiles[y * self->width_in_tiles + x] = tile_index;
+}
+
bool displayio_tilegrid_needs_refresh(displayio_tilegrid_t *self) {
return self->needs_refresh || displayio_palette_needs_refresh(self->pixel_shader);
}
diff --git a/shared-module/displayio/TileGrid.h b/shared-module/displayio/TileGrid.h
index 880895304..c24a606a3 100644
--- a/shared-module/displayio/TileGrid.h
+++ b/shared-module/displayio/TileGrid.h
@@ -39,6 +39,7 @@ typedef struct {
uint16_t x;
uint16_t y;
uint16_t width_in_tiles;
+ uint16_t height_in_tiles;
uint16_t total_width;
uint16_t total_height;
uint16_t tile_width;