From: FoamyGuy Date: Fri, 3 Jul 2020 15:53:02 +0000 (-0500) Subject: use existing color converter X-Git-Tag: 0.5.1^2 X-Git-Url: https://git.ayoreis.com/hackapet/Adafruit_Blinka_Displayio.git/commitdiff_plain/14050798e18646e87eb5e6203b484ee5366b023f use existing color converter --- diff --git a/displayio/display.py b/displayio/display.py index 757092d..5f0a4ab 100644 --- a/displayio/display.py +++ b/displayio/display.py @@ -42,6 +42,7 @@ import digitalio from PIL import Image import numpy from recordclass import recordclass +from displayio.colorconverter import ColorConverter __version__ = "0.0.0-auto.0" __repo__ = "https://github.com/adafruit/Adafruit_Blinka_displayio.git" @@ -56,14 +57,6 @@ BACKLIGHT_PWM = 2 # pylint: disable=too-many-instance-attributes -def _rgb_tuple_to_rgb565(color_tuple): - return ( - ((color_tuple[0] & 0x00F8) << 8) - | ((color_tuple[1] & 0x00FC) << 3) - | (color_tuple[2] & 0x00F8) >> 3 - ) - - class Display: """This initializes a display and connects it into CircuitPython. Unlike other objects in CircuitPython, Display objects live until ``displayio.release_displays()`` is called. @@ -161,6 +154,7 @@ class Display: self._refresh_thread = None if self._auto_refresh: self.auto_refresh = True + self._colorconverter = ColorConverter() self._backlight_type = None if backlight_pin is not None: @@ -342,7 +336,7 @@ class Display: def fill_row(self, y, buffer): """Extract the pixels from a single row""" for x in range(0, self._width): - _rgb_565 = _rgb_tuple_to_rgb565(self._buffer.getpixel((x, y))) + _rgb_565 = self._colorconverter.convert(self._buffer.getpixel((x, y))) buffer[x * 2] = (_rgb_565 >> 8) & 0xFF buffer[x * 2 + 1] = _rgb_565 & 0xFF return buffer