]> Repositories - hackapet/Adafruit_Blinka_Displayio.git/blobdiff - displayio/display.py
black and pylint
[hackapet/Adafruit_Blinka_Displayio.git] / displayio / display.py
index 1ea5d5555d5911a4d0b127af498e3d129ede13ff..757092d645c58b211e76e7c7c25569b3ea5358bf 100644 (file)
@@ -53,8 +53,17 @@ BACKLIGHT_IN_OUT = 1
 BACKLIGHT_PWM = 2
 
 # pylint: disable=unnecessary-pass, unused-argument
 BACKLIGHT_PWM = 2
 
 # pylint: disable=unnecessary-pass, unused-argument
-
 # pylint: disable=too-many-instance-attributes
 # 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.
 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.
@@ -332,7 +341,11 @@ class Display:
 
     def fill_row(self, y, buffer):
         """Extract the pixels from a single row"""
 
     def fill_row(self, y, buffer):
         """Extract the pixels from a single row"""
-        pass
+        for x in range(0, self._width):
+            _rgb_565 = _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):
 
     @property
     def auto_refresh(self):