]> Repositories - hackapet/Adafruit_Blinka_Displayio.git/blobdiff - displayio/display.py
Use latest version of black
[hackapet/Adafruit_Blinka_Displayio.git] / displayio / display.py
index 578888aee1def4b357bd70d42a6b3fbf8ece77a8..5f0a4aba745d45105a7eb35680370f171dc3a921 100644 (file)
@@ -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"
@@ -53,8 +54,9 @@ BACKLIGHT_IN_OUT = 1
 BACKLIGHT_PWM = 2
 
 # pylint: disable=unnecessary-pass, unused-argument
-
 # pylint: disable=too-many-instance-attributes
+
+
 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.
@@ -152,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:
@@ -330,19 +333,12 @@ 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"""
         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
+            _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
 
     @property