summaryrefslogtreecommitdiff
path: root/shared-module/displayio
diff options
context:
space:
mode:
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;