]> Repositories - hackapet/Adafruit_Blinka_Displayio.git/blobdiff - displayio/_displaycore.py
starting set root group. show none also
[hackapet/Adafruit_Blinka_Displayio.git] / displayio / _displaycore.py
index a50d094fb656a20bb4b75396490855fda378ffc2..3753b3ccd8ca5fbea8d49c696cbce778a11b8678 100644 (file)
@@ -187,6 +187,45 @@ class _DisplayCore:
         self._current_group = root_group
         self._full_refresh = True
 
+        print(f"end of show: {root_group}")
+        return True
+
+    def set_root_group(self, root_group: Group) -> bool:
+        # pylint: disable=protected-access
+
+        """
+        Switches to displaying the given group of layers. When group is `None`, the
+        default CircuitPython terminal will be shown.
+
+        :param Optional[displayio.Group] root_group: The group to show.
+        """
+
+        """
+        # TODO: Implement Supervisor
+        if root_group is None:
+            circuitpython_splash = _Supervisor().circuitpython_splash
+            if not circuitpython_splash._in_group:
+                root_group = circuitpython_splash
+            elif self._current_group == circuitpython_splash:
+                return True
+        """
+
+        if root_group == self._current_group:
+            return True
+
+        if root_group is not None and root_group._in_group:
+            return False
+
+        if self._current_group is not None:
+            self._current_group._in_group = False
+
+        if root_group is not None:
+            root_group._update_transform(self._transform)
+            root_group._in_group = True
+
+        self._current_group = root_group
+        self._full_refresh = True
+
         return True
 
     def start_refresh(self) -> bool: