]> Repositories - hackapet/Adafruit_Blinka_Displayio.git/blobdiff - terminalio.py
Merge branch 'master' of https://github.com/adafruit/Adafruit_Blinka_Displayio into...
[hackapet/Adafruit_Blinka_Displayio.git] / terminalio.py
index d6c001b0ad5c343c9a0963265061094377bcf301..5a83f9f08a1726c7dc1326abe9330a8f157d3c7f 100644 (file)
@@ -35,15 +35,40 @@ terminalio for Blinka
 
 """
 
-import sys
+import sys  # pylint: disable=unused-import
 import fontio
+from displayio.tilegrid import TileGrid
 
 __version__ = "0.0.0-auto.0"
 __repo__ = "https://github.com/adafruit/Adafruit_Blinka_displayio.git"
 
 FONT = fontio.BuiltinFont()
 
+# TODO: Tap into stdout to get the REPL
 # sys.stdout = open('out.dat', 'w')
+# sys.stdout.close()
 
 
-# sys.stdout.close()
+class Terminal:
+    """Displays text in a TileGrid
+
+    The terminalio module contains classes to display a character stream on a display. The built in font is available as terminalio.FONT.
+    """
+
+    def __init__(self, tilegrid, font):
+        if not isinstance(tilefrid, TileGrid):
+            raise TypeError("Expected a TileGrid")
+        self._tilegrid = tilegrid
+        if not isinstance(font, fontio.BuiltinFont):
+            raise TypeError("Expected a BuiltinFont")
+        self._font = font
+        self._cursor_x = 0
+        self._curcor_y = 0
+        self._first_row = 0
+        for x in range(self._tilegrid.width):
+            for y in range(self._tilegrid.height):
+                self._tilegrid[x, y] = 0
+
+    def write(self, buf):
+        """Write the buffer of bytes to the bus."""
+        pass