diff options
Diffstat (limited to 'shared-module/displayio')
| -rw-r--r-- | shared-module/displayio/TileGrid.c | 9 | ||||
| -rw-r--r-- | shared-module/displayio/TileGrid.h | 1 |
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; |
