]> Repositories - hackapet/Adafruit_Blinka_Displayio.git/blobdiff - displayio/_display.py
starting set root group. show none also
[hackapet/Adafruit_Blinka_Displayio.git] / displayio / _display.py
index 80387224811e04f4ba15edfa0282055506a2ad63..1e429954a9851a16196f783e506299cf0c9997e9 100644 (file)
@@ -26,7 +26,7 @@ import digitalio
 from PIL import Image
 import numpy
 import microcontroller
 from PIL import Image
 import numpy
 import microcontroller
-import _typing
+import circuitpython_typing
 from ._displaycore import _DisplayCore
 from ._displaybus import _DisplayBus
 from ._colorconverter import ColorConverter
 from ._displaycore import _DisplayCore
 from ._displaybus import _DisplayBus
 from ._colorconverter import ColorConverter
@@ -41,7 +41,7 @@ from ._constants import (
     BACKLIGHT_PWM,
 )
 
     BACKLIGHT_PWM,
 )
 
-__version__ = "0.0.0-auto.0"
+__version__ = "0.0.0+auto.0"
 __repo__ = "https://github.com/adafruit/Adafruit_Blinka_displayio.git"
 
 displays = []
 __repo__ = "https://github.com/adafruit/Adafruit_Blinka_displayio.git"
 
 displays = []
@@ -60,7 +60,7 @@ class Display:
     def __init__(
         self,
         display_bus: _DisplayBus,
     def __init__(
         self,
         display_bus: _DisplayBus,
-        init_sequence: _typing.ReadableBuffer,
+        init_sequence: circuitpython_typing.ReadableBuffer,
         *,
         width: int,
         height: int,
         *,
         width: int,
         height: int,
@@ -272,6 +272,11 @@ class Display:
             )  # pylint: disable=protected-access
             # save image to buffer (or probably refresh buffer so we can compare)
             self._buffer.paste(buffer)
             )  # pylint: disable=protected-access
             # save image to buffer (or probably refresh buffer so we can compare)
             self._buffer.paste(buffer)
+        else:
+            # show nothing
+            print("show nothing")
+            buffer = Image.new("RGBA", (self._core._width, self._core._height))
+            self._buffer.paste(buffer)
 
         self._subrectangles = self._core.get_refresh_areas()
 
 
         self._subrectangles = self._core.get_refresh_areas()
 
@@ -289,7 +294,7 @@ class Display:
     def _refresh_display_area(self, rectangle):
         """Loop through dirty rectangles and redraw that area."""
         img = self._buffer.convert("RGB").crop(astuple(rectangle))
     def _refresh_display_area(self, rectangle):
         """Loop through dirty rectangles and redraw that area."""
         img = self._buffer.convert("RGB").crop(astuple(rectangle))
-        img = img.rotate(self._rotation, expand=True)
+        img = img.rotate(360 - self._rotation, expand=True)
 
         display_rectangle = self._apply_rotation(rectangle)
         img = img.crop(astuple(self._clip(display_rectangle)))
 
         display_rectangle = self._apply_rotation(rectangle)
         img = img.crop(astuple(self._clip(display_rectangle)))
@@ -367,8 +372,8 @@ class Display:
         return struct.pack(self._bounds_encoding, x, y)  # pylint: disable=no-member
 
     def fill_row(
         return struct.pack(self._bounds_encoding, x, y)  # pylint: disable=no-member
 
     def fill_row(
-        self, y: int, buffer: _typing.WriteableBuffer
-    ) -> _typing.WriteableBuffer:
+        self, y: int, buffer: circuitpython_typing.WriteableBuffer
+    ) -> circuitpython_typing.WriteableBuffer:
         """Extract the pixels from a single row"""
         for x in range(0, self._width):
             _rgb_565 = self._colorconverter.convert(self._buffer.getpixel((x, y)))
         """Extract the pixels from a single row"""
         for x in range(0, self._width):
             _rgb_565 = self._colorconverter.convert(self._buffer.getpixel((x, y)))
@@ -452,3 +457,11 @@ class Display:
     def bus(self) -> _DisplayBus:
         """Current Display Bus"""
         return self._core.get_bus()
     def bus(self) -> _DisplayBus:
         """Current Display Bus"""
         return self._core.get_bus()
+
+    @property
+    def root_group(self) -> Group:
+        return self._current_group
+
+    @root_group.setter
+    def root_group(self, new_group):
+        self._current_group = new_group
\ No newline at end of file