diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2021-04-10 20:44:26 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2021-04-10 20:44:26 -0700 |
commit | 400574f956f8428785ecefe5536ebf5512f23408 (patch) | |
tree | 1575a3332a2b34b1221ab1294830b5953b2ba1a8 /shell/cell.mu | |
parent | 6fa86619b286cae8a1a990ce5ac845d2b80428ca (diff) | |
download | mu-400574f956f8428785ecefe5536ebf5512f23408.tar.gz |
shell: move fake screen to sandbox
Diffstat (limited to 'shell/cell.mu')
-rw-r--r-- | shell/cell.mu | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/shell/cell.mu b/shell/cell.mu index b2b302e6..9dfe298b 100644 --- a/shell/cell.mu +++ b/shell/cell.mu @@ -135,3 +135,16 @@ fn new-screen _out: (addr handle cell), width: int, height: int { var dest-addr/eax: (addr screen) <- lookup *dest-ah initialize-screen dest-addr, width, height } + +fn clear-screen-cell _self-ah: (addr handle cell) { + var self-ah/eax: (addr handle cell) <- copy _self-ah + var self/eax: (addr cell) <- lookup *self-ah + compare self, 0 + { + break-if-!= + return + } + var screen-ah/eax: (addr handle screen) <- get self, screen-data + var screen/eax: (addr screen) <- lookup *screen-ah + clear-screen screen +} |