X-Git-Url: https://git.ayoreis.com/hackapet/Adafruit_Blinka_Displayio.git/blobdiff_plain/2c0d4ae77523a1bf94102d0a599c90d8361ae926..99fbaf4a7f79e91b7e8ccd04de7aab82566cbebf:/displayio/display.py diff --git a/displayio/display.py b/displayio/display.py index 1ea5d55..578888a 100644 --- a/displayio/display.py +++ b/displayio/display.py @@ -330,9 +330,20 @@ class Display: """Encode a postion into bytes.""" return struct.pack(self._bounds_encoding, x, y) + def _rgb_tuple_to_rgb565(self, color_tuple): + return ( + ((color_tuple[0] & 0x00F8) << 8) + | ((color_tuple[1] & 0x00FC) << 3) + | (color_tuple[2] & 0x00F8) >> 3 + ) + def fill_row(self, y, buffer): """Extract the pixels from a single row""" - pass + for x in range(0, self._width): + _rgb_565 = self._rgb_tuple_to_rgb565(self._buffer.getpixel((x, y))) + buffer[x * 2] = (_rgb_565 >> 8) & 0xff + buffer[x * 2 + 1] = _rgb_565 & 0xff + return buffer @property def auto_refresh(self):