X-Git-Url: https://git.ayoreis.com/hackapet/Adafruit_Blinka_Displayio.git/blobdiff_plain/2c0d4ae77523a1bf94102d0a599c90d8361ae926..0ab5cf2fae7d14a4125d911d5323f080485e25ac:/displayio/tilegrid.py diff --git a/displayio/tilegrid.py b/displayio/tilegrid.py index 2b2f8c7..2c815a4 100644 --- a/displayio/tilegrid.py +++ b/displayio/tilegrid.py @@ -279,15 +279,22 @@ class TileGrid: source_x = source_y = 0 if x < 0: - source_x = 0 - x + source_x = round(0 - x) x = 0 if y < 0: - source_y = 0 - y + source_y = round(0 - y) y = 0 - buffer.alpha_composite( - image, (round(x), round(y)), source=(round(source_x), round(source_y)) - ) + x = round(x) + y = round(y) + + if ( + x <= buffer.width + and y <= buffer.height + and source_x <= image.width + and source_y <= image.height + ): + buffer.alpha_composite(image, (x, y), source=(source_x, source_y)) # pylint: enable=too-many-locals,too-many-branches