X-Git-Url: https://git.ayoreis.com/hackapet/Adafruit_Blinka_Displayio.git/blobdiff_plain/156e7fcd0eef94819ee29417e8a68894795a03f5..33accffa7278997a55e237473c33880813def934:/displayio/_tilegrid.py diff --git a/displayio/_tilegrid.py b/displayio/_tilegrid.py index ec5e45f..cd27662 100644 --- a/displayio/_tilegrid.py +++ b/displayio/_tilegrid.py @@ -19,7 +19,7 @@ displayio for Blinka import struct from typing import Union, Optional, Tuple -import circuitpython_typing +from circuitpython_typing import WriteableBuffer from ._bitmap import Bitmap from ._colorconverter import ColorConverter from ._ondiskbitmap import OnDiskBitmap @@ -215,8 +215,8 @@ class TileGrid: self, colorspace: Colorspace, area: Area, - mask: circuitpython_typing.WriteableBuffer, - buffer: circuitpython_typing.WriteableBuffer, + mask: WriteableBuffer, + buffer: WriteableBuffer, ) -> bool: """Draw onto the image""" # pylint: disable=too-many-locals,too-many-branches,too-many-statements @@ -335,16 +335,18 @@ class TileGrid: else: mask[offset // 32] |= 1 << (offset % 32) if colorspace.depth == 16: - buffer = ( - buffer[:offset] - + struct.pack("H", output_pixel.pixel) - + buffer[offset + 2 :] + struct.pack_into( + "H", + buffer, + offset, + output_pixel.pixel, ) elif colorspace.depth == 32: - buffer = ( - buffer[:offset] - + struct.pack("I", output_pixel.pixel) - + buffer[offset + 4 :] + struct.pack_into( + "I", + buffer, + offset, + output_pixel.pixel, ) elif colorspace.depth == 8: buffer[offset] = output_pixel.pixel & 0xFF