From 739c90426cc6fb896da576b6effb8f0cafd76b15 Mon Sep 17 00:00:00 2001 From: Jerry Needell Date: Thu, 14 Mar 2019 17:09:54 -0400 Subject: [PATCH] fix calls to displayio.TileGrid usage of position --- adafruit_display_text/label.py | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/adafruit_display_text/label.py b/adafruit_display_text/label.py index 841d0fc..567f14f 100644 --- a/adafruit_display_text/label.py +++ b/adafruit_display_text/label.py @@ -101,16 +101,26 @@ def _update_text(self, new_text): # pylint: disable=too-many-locals position_y = y - glyph.height - glyph.dy + y_offset position_x = x + glyph.dx if not self._text or old_c >= len(self._text) or character != self._text[old_c]: - face = displayio.TileGrid(glyph.bitmap, pixel_shader=self.palette, - default_tile=glyph.tile_index, - tile_width=glyph.width, tile_height=glyph.height, - position=(position_x, position_y)) + try: + face = displayio.TileGrid(glyph.bitmap, pixel_shader=self.palette, + default_tile=glyph.tile_index, + tile_width=glyph.width, tile_height=glyph.height, + position=(position_x, position_y)) + except TypeError: + face = displayio.TileGrid(glyph.bitmap, pixel_shader=self.palette, + default_tile=glyph.tile_index, + tile_width=glyph.width, tile_height=glyph.height, + x=position_x, y=position_y) if i < len(self): self[i] = face else: self.append(face) elif self._text and character == self._text[old_c]: - self[i].position = (position_x, position_y) + try: + self[i].position = (position_x, position_y) + except AttributeError: + self[i].x = position_x + self[i].y = position_y x += glyph.shift_x