diff options
author | Kartik Agaram <vc@akkartik.com> | 2020-10-01 20:40:22 -0700 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2020-10-01 20:40:22 -0700 |
commit | d75b71297426ee2d63d5630d1ef9469de48aca84 (patch) | |
tree | 0d4c517526770343822d4f409a8e9c1b7ac0e51e /prototypes/browse/4-render-page.mu | |
parent | f3ca0e3cb33d6c34dbe4c6941598d16d140be206 (diff) | |
download | mu-d75b71297426ee2d63d5630d1ef9469de48aca84.tar.gz |
6923
Diffstat (limited to 'prototypes/browse/4-render-page.mu')
-rw-r--r-- | prototypes/browse/4-render-page.mu | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/prototypes/browse/4-render-page.mu b/prototypes/browse/4-render-page.mu deleted file mode 100644 index 0af47b40..00000000 --- a/prototypes/browse/4-render-page.mu +++ /dev/null @@ -1,83 +0,0 @@ -fn main args: (addr array addr array byte) -> exit-status/ebx: int { - var filename/eax: (addr array byte) <- first-arg args - var file/eax: (addr buffered-file) <- load-file filename - enable-screen-grid-mode - enable-keyboard-immediate-mode - { - render file, 5, 5, 0x30, 0x30 - var key/eax: grapheme <- read-key-from-real-keyboard - compare key, 0x71 # 'q' - loop-if-!= - } - enable-keyboard-type-mode - enable-screen-type-mode - exit-status <- copy 0 -} - -fn render in: (addr buffered-file), toprow: int, leftcol: int, botrow: int, rightcol: int { - clear toprow, leftcol, botrow, rightcol - var row/ecx: int <- copy toprow -$line-loop: { - compare row, botrow - break-if->= - var col/edx: int <- copy leftcol - move-cursor 0, row, col - { - compare col, rightcol - break-if->= - var c/eax: byte <- read-byte-buffered in - compare c, 0xffffffff # EOF marker - break-if-= $line-loop - # print c - var g/eax: grapheme <- copy c - print-grapheme 0, g - col <- increment - loop - } # $char-loop - row <- increment - loop - } # $line-loop -} - -fn clear toprow: int, leftcol: int, botrow: int, rightcol: int { - var row/ecx: int <- copy toprow - { - compare row, botrow - break-if->= - var col/edx: int <- copy leftcol - move-cursor 0, row, col - { - compare col, rightcol - break-if->= - print-string 0, " " - col <- increment - loop - } - row <- increment - loop - } -} - -fn first-arg args-on-stack: (addr array addr array byte) -> out/eax: (addr array byte) { - var args/eax: (addr array addr array byte) <- copy args-on-stack - var result/eax: (addr addr array byte) <- index args, 1 - out <- copy *result -} - -fn load-file filename: (addr array byte) -> out/eax: (addr buffered-file) { - var result: (handle buffered-file) - { - var tmp1/eax: (addr handle buffered-file) <- address result - open filename, 0, tmp1 - } - out <- lookup result -} - -fn dump in: (addr buffered-file) { - var c/eax: byte <- read-byte-buffered in - compare c, 0xffffffff # EOF marker - break-if-= - var g/eax: grapheme <- copy c - print-grapheme 0, g - loop -} |