X-Git-Url: https://git.ayoreis.com/hackapet/Adafruit_Blinka_Displayio.git/blobdiff_plain/d44b4c927df2cc46f2786f95901212e5d951d1aa..99fbaf4a7f79e91b7e8ccd04de7aab82566cbebf:/displayio/tilegrid.py diff --git a/displayio/tilegrid.py b/displayio/tilegrid.py index 04ceb08..2b2f8c7 100644 --- a/displayio/tilegrid.py +++ b/displayio/tilegrid.py @@ -215,7 +215,7 @@ class TileGrid: ) image.putalpha(alpha.convert("L")) - # pylint: disable=too-many-locals + # pylint: disable=too-many-locals,too-many-branches def _fill_area(self, buffer): """Draw onto the image""" if self._hidden: @@ -276,9 +276,20 @@ class TileGrid: y *= self._absolute_transform.dy x += self._absolute_transform.x y += self._absolute_transform.y - buffer.alpha_composite(image, (int(x), int(y))) - # pylint: enable=too-many-locals + source_x = source_y = 0 + if x < 0: + source_x = 0 - x + x = 0 + if y < 0: + source_y = 0 - y + y = 0 + + buffer.alpha_composite( + image, (round(x), round(y)), source=(round(source_x), round(source_y)) + ) + + # pylint: enable=too-many-locals,too-many-branches @property def hidden(self):