about summary refs log tree commit diff stats
path: root/apps/tile/value.mu
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2020-11-06 13:34:46 -0800
committerKartik Agaram <vc@akkartik.com>2020-11-06 13:39:46 -0800
commit443140ae3e3eae3bf59f34447bedc8329498cca0 (patch)
tree8acee78d1e1136282021624d418db0eeb1fc0e49 /apps/tile/value.mu
parent9a0412b8587f6b153be2d7d63cd9da2600345e86 (diff)
downloadmu-443140ae3e3eae3bf59f34447bedc8329498cca0.tar.gz
7195 - tile: create 'screen' objects
Diffstat (limited to 'apps/tile/value.mu')
-rw-r--r--apps/tile/value.mu20
1 files changed, 20 insertions, 0 deletions
diff --git a/apps/tile/value.mu b/apps/tile/value.mu
index db98e503..8dfe4bcc 100644
--- a/apps/tile/value.mu
+++ b/apps/tile/value.mu
@@ -54,6 +54,16 @@ $render-value:body: {
     print-string screen, " FILE "
     break $render-value:body
   }
+  compare *val-type, 4  # file
+  {
+    break-if-!=
+    var val-ah/eax: (addr handle screen) <- get val, screen-data
+    var val-screen/eax: (addr screen) <- lookup *val-ah
+    start-color screen, 0, 7
+    # TODO
+    print-string screen, " SCREEN "
+    break $render-value:body
+  }
   # render ints by default for now
   var val-int/eax: (addr int) <- get val, int-data
   render-integer screen, *val-int, max-width
@@ -176,6 +186,16 @@ fn value-width _v: (addr value), top-level: boolean -> _/eax: int {
     # TODO: visualizing file handles
     return 4
   }
+  {
+    compare *type, 4  # screen
+    break-if-!=
+    var screen-ah/eax: (addr handle screen) <- get v, screen-data
+    var screen/eax: (addr screen) <- lookup *screen-ah
+    compare screen, 0
+    break-if-=
+    # TODO: visualizing screen
+    return 6
+  }
   return 0
 }