about summary refs log tree commit diff stats
path: root/504test-screen.mu
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2021-08-28 22:01:26 -0700
committerKartik K. Agaram <vc@akkartik.com>2021-08-28 22:01:26 -0700
commit3640f1dfe9686d84c67e22497c0b636e1f24eb0b (patch)
treecfe73423b76ab2f3cd568acf5a5c77e570095628 /504test-screen.mu
parent2c51a46455c9dde990cfda0ed345b6e976a8aba5 (diff)
downloadmu-3640f1dfe9686d84c67e22497c0b636e1f24eb0b.tar.gz
support unused screen-cells in fake screens
We'll need this when rendering 16-bit glyphs. They'll occupy two
8x16 display units on screen, but the grapheme is a single unit as far
as fake screens are concerned.
Diffstat (limited to '504test-screen.mu')
-rw-r--r--504test-screen.mu12
1 files changed, 12 insertions, 0 deletions
diff --git a/504test-screen.mu b/504test-screen.mu
index 553c6112..da146fb6 100644
--- a/504test-screen.mu
+++ b/504test-screen.mu
@@ -21,6 +21,9 @@ fn check-screen-row-from _screen: (addr screen), x: int, y: int, expected: (addr
     compare done?, 0
     break-if-!=
     {
+      var unused?/eax: boolean <- screen-cell-unused-at-index? screen, index
+      compare unused?, 0/false
+      break-if-!=
       var _g/eax: grapheme <- screen-grapheme-at-index screen, index
       var g/ebx: grapheme <- copy _g
       var expected-grapheme/eax: grapheme <- read-grapheme e-addr
@@ -86,6 +89,9 @@ fn check-screen-row-in-color-from _screen: (addr screen), fg: int, y: int, x: in
     compare done?, 0
     break-if-!=
     {
+      var unused?/eax: boolean <- screen-cell-unused-at-index? screen, index
+      compare unused?, 0/false
+      break-if-!=
       var _g/eax: grapheme <- screen-grapheme-at-index screen, index
       var g/ebx: grapheme <- copy _g
       var _expected-grapheme/eax: grapheme <- read-grapheme e-addr
@@ -179,6 +185,9 @@ fn check-screen-row-in-background-color-from _screen: (addr screen), bg: int, y:
     compare done?, 0
     break-if-!=
     {
+      var unused?/eax: boolean <- screen-cell-unused-at-index? screen, index
+      compare unused?, 0/false
+      break-if-!=
       var _g/eax: grapheme <- screen-grapheme-at-index screen, index
       var g/ebx: grapheme <- copy _g
       var _expected-grapheme/eax: grapheme <- read-grapheme e-addr
@@ -277,6 +286,9 @@ fn check-background-color-in-screen-row-from _screen: (addr screen), bg: int, y:
     compare done?, 0
     break-if-!=
     {
+      var unused?/eax: boolean <- screen-cell-unused-at-index? screen, index
+      compare unused?, 0/false
+      break-if-!=
       var _expected-bit/eax: grapheme <- read-grapheme e-addr
       var expected-bit/edi: grapheme <- copy _expected-bit
       $check-background-color-in-screen-row-from:compare-cells: {