From 4fe9f5e8257770a6b1de1aa94748609acd37f0f6 Mon Sep 17 00:00:00 2001 From: "Kartik K. Agaram" Date: Mon, 3 Aug 2015 00:49:38 -0700 Subject: 1925 --- html/071print.mu.html | 114 +++++++++++++++++++++++++------------------------- 1 file changed, 57 insertions(+), 57 deletions(-) (limited to 'html/071print.mu.html') diff --git a/html/071print.mu.html b/html/071print.mu.html index fb8d0ae7..8e21896f 100644 --- a/html/071print.mu.html +++ b/html/071print.mu.html @@ -13,14 +13,14 @@ pre { white-space: pre-wrap; font-family: monospace; color: #eeeeee; background-color: #080808; } body { font-family: monospace; color: #eeeeee; background-color: #080808; } * { font-size: 1.05em; } +.muControl { color: #c0a020; } .muRecipe { color: #ff8700; } -.Delimiter { color: #a04060; } .muScenario { color: #00af00; } .Comment { color: #9090ff; } .Constant { color: #00a0a0; } .Special { color: #ff6060; } .CommentedCode { color: #6c6c6c; } -.muControl { color: #c0a020; } +.Delimiter { color: #a04060; } --> @@ -50,18 +50,18 @@ container screen-cell [ recipe new-fake-screen [ local-scope - result:address:screen <- new screen:type - width:address:number <- get-address *result, num-columns:offset + result:address:screen <- new screen:type + width:address:number <- get-address *result, num-columns:offset *width <- next-ingredient - height:address:number <- get-address *result, num-rows:offset + height:address:number <- get-address *result, num-rows:offset *height <- next-ingredient - row:address:number <- get-address *result, cursor-row:offset + row:address:number <- get-address *result, cursor-row:offset *row <- copy 0 - column:address:number <- get-address *result, cursor-column:offset + column:address:number <- get-address *result, cursor-column:offset *column <- copy 0 bufsize:number <- multiply *width, *height - buf:address:address:array:screen-cell <- get-address *result, data:offset - *buf <- new screen-cell:type, bufsize + buf:address:address:array:screen-cell <- get-address *result, data:offset + *buf <- new screen-cell:type, bufsize clear-screen result reply result ] @@ -73,24 +73,24 @@ container screen-cell [ { break-unless sc # clear fake screen - buf:address:array:screen-cell <- get *sc, data:offset + buf:address:array:screen-cell <- get *sc, data:offset max:number <- length *buf i:number <- copy 0 { done?:boolean <- greater-or-equal i, max break-if done? curr:address:screen-cell <- index-address *buf, i - curr-content:address:character <- get-address *curr, contents:offset + curr-content:address:character <- get-address *curr, contents:offset *curr-content <- copy [ ] - curr-color:address:character <- get-address *curr, color:offset + curr-color:address:character <- get-address *curr, color:offset *curr-color <- copy 7/white i <- add i, 1 loop } # reset cursor - x:address:number <- get-address *sc, cursor-row:offset + x:address:number <- get-address *sc, cursor-row:offset *x <- copy 0 - x <- get-address *sc, cursor-column:offset + x <- get-address *sc, cursor-column:offset *x <- copy 0 reply sc/same-as-ingredient:0 } @@ -103,14 +103,14 @@ container screen-cell [ local-scope sc:address:screen <- next-ingredient reply-unless sc, 1/true - buf:address:array:screen-cell <- get *sc, data:offset + buf:address:array:screen-cell <- get *sc, data:offset i:number <- copy 0 len:number <- length *buf { done?:boolean <- greater-or-equal i, len break-if done? curr:screen-cell <- index *buf, i - curr-contents:character <- get curr, contents:offset + curr-contents:character <- get curr, contents:offset i <- add i, 1 loop-unless curr-contents # not 0 @@ -140,15 +140,15 @@ container screen-cell [ # if x exists # (handle special cases exactly like in the real screen) break-unless sc - width:number <- get *sc, num-columns:offset - height:number <- get *sc, num-rows:offset + width:number <- get *sc, num-columns:offset + height:number <- get *sc, num-rows:offset # if cursor is out of bounds, silently exit - row:address:number <- get-address *sc, cursor-row:offset + row:address:number <- get-address *sc, cursor-row:offset legal?:boolean <- greater-or-equal *row, 0 reply-unless legal?, sc legal? <- lesser-than *row, height reply-unless legal?, sc - column:address:number <- get-address *sc, cursor-column:offset + column:address:number <- get-address *sc, cursor-column:offset legal? <- greater-or-equal *column, 0 reply-unless legal?, sc legal? <- lesser-than *column, width @@ -172,7 +172,7 @@ container screen-cell [ # save character in fake screen index:number <- multiply *row, width index <- add index, *column - buf:address:array:screen-cell <- get *sc, data:offset + buf:address:array:screen-cell <- get *sc, data:offset len:number <- length *buf # special-case: backspace { @@ -186,18 +186,18 @@ container screen-cell [ *column <- subtract *column, 1 index <- subtract index, 1 cursor:address:screen-cell <- index-address *buf, index - cursor-contents:address:character <- get-address *cursor, contents:offset + cursor-contents:address:character <- get-address *cursor, contents:offset *cursor-contents <- copy 32/space - cursor-color:address:number <- get-address *cursor, color:offset + cursor-color:address:number <- get-address *cursor, color:offset *cursor-color <- copy 7/white } reply sc/same-as-ingredient:0 } #? $print [saving character ], c, [ to fake screen ], cursor, 10/newline cursor:address:screen-cell <- index-address *buf, index - cursor-contents:address:character <- get-address *cursor, contents:offset + cursor-contents:address:character <- get-address *cursor, contents:offset *cursor-contents <- copy c - cursor-color:address:number <- get-address *cursor, color:offset + cursor-color:address:number <- get-address *cursor, color:offset *cursor-color <- copy color # increment column unless it's already all the way to the right { @@ -218,7 +218,7 @@ container screen-cell [ #? $start-tracing #? 3 1:address:screen <- new-fake-screen 3/width, 2/height 1:address:screen <- print-character 1:address:screen, 97 # 'a' - 2:address:array:screen-cell <- get *1:address:screen, data:offset + 2:address:array:screen-cell <- get *1:address:screen, data:offset 3:array:screen-cell <- copy *2:address:array:screen-cell ] memory-should-contain [ @@ -233,7 +233,7 @@ container screen-cell [ run [ 1:address:screen <- new-fake-screen 3/width, 2/height 1:address:screen <- print-character 1:address:screen, 97/a, 1/red - 2:address:array:screen-cell <- get *1:address:screen, data:offset + 2:address:array:screen-cell <- get *1:address:screen, data:offset 3:array:screen-cell <- copy *2:address:array:screen-cell ] memory-should-contain [ @@ -250,8 +250,8 @@ container screen-cell [ 1:address:screen <- new-fake-screen 3/width, 2/height 1:address:screen <- print-character 1:address:screen, 97 # 'a' 1:address:screen <- print-character 1:address:screen, 8 # backspace - 2:number <- get *1:address:screen, cursor-column:offset - 3:address:array:screen-cell <- get *1:address:screen, data:offset + 2:number <- get *1:address:screen, cursor-column:offset + 3:address:array:screen-cell <- get *1:address:screen, data:offset 4:array:screen-cell <- copy *3:address:array:screen-cell ] memory-should-contain [ @@ -269,8 +269,8 @@ container screen-cell [ 1:address:screen <- print-character 1:address:screen, 97 # 'a' 1:address:screen <- print-character 1:address:screen, 8 # backspace 1:address:screen <- print-character 1:address:screen, 8 # backspace - 2:number <- get *1:address:screen, cursor-column:offset - 3:address:array:screen-cell <- get *1:address:screen, data:offset + 2:number <- get *1:address:screen, cursor-column:offset + 3:address:array:screen-cell <- get *1:address:screen, data:offset 4:array:screen-cell <- copy *3:address:array:screen-cell ] memory-should-contain [ @@ -288,8 +288,8 @@ container screen-cell [ 1:address:screen <- print-character 1:address:screen, 97 # 'a' 1:address:screen <- print-character 1:address:screen, 98 # 'b' 1:address:screen <- print-character 1:address:screen, 99 # 'c' - 2:number <- get *1:address:screen, cursor-column:offset - 3:address:array:screen-cell <- get *1:address:screen, data:offset + 2:number <- get *1:address:screen, cursor-column:offset + 3:address:array:screen-cell <- get *1:address:screen, data:offset 4:array:screen-cell <- copy *3:address:array:screen-cell ] memory-should-contain [ @@ -309,9 +309,9 @@ container screen-cell [ 1:address:screen <- new-fake-screen 3/width, 2/height 1:address:screen <- print-character 1:address:screen, 97 # 'a' 1:address:screen <- print-character 1:address:screen, 10/newline - 2:number <- get *1:address:screen, cursor-row:offset - 3:number <- get *1:address:screen, cursor-column:offset - 4:address:array:screen-cell <- get *1:address:screen, data:offset + 2:number <- get *1:address:screen, cursor-row:offset + 3:number <- get *1:address:screen, cursor-column:offset + 4:address:array:screen-cell <- get *1:address:screen, data:offset 5:array:screen-cell <- copy *4:address:array:screen-cell ] memory-should-contain [ @@ -330,8 +330,8 @@ container screen-cell [ 1:address:screen <- print-character 1:address:screen, 10/newline 1:address:screen <- print-character 1:address:screen, 10/newline 1:address:screen <- print-character 1:address:screen, 10/newline - 2:number <- get *1:address:screen, cursor-row:offset - 3:number <- get *1:address:screen, cursor-column:offset + 2:number <- get *1:address:screen, cursor-row:offset + 3:number <- get *1:address:screen, cursor-column:offset ] memory-should-contain [ 2 <- 1 # cursor row @@ -348,9 +348,9 @@ container screen-cell [ 1:address:screen <- print-character 1:address:screen, 99 # 'c' 1:address:screen <- print-character 1:address:screen, 10/newline 1:address:screen <- print-character 1:address:screen, 100 # 'd' - 2:number <- get *1:address:screen, cursor-row:offset - 3:number <- get *1:address:screen, cursor-column:offset - 4:address:array:screen-cell <- get *1:address:screen, data:offset + 2:number <- get *1:address:screen, cursor-row:offset + 3:number <- get *1:address:screen, cursor-column:offset + 4:address:array:screen-cell <- get *1:address:screen, data:offset 5:array:screen-cell <- copy *4:address:array:screen-cell ] memory-should-contain [ @@ -375,8 +375,8 @@ container screen-cell [ # if x exists, clear line in fake screen { break-unless sc - width:number <- get *sc, num-columns:offset - column:address:number <- get-address *sc, cursor-column:offset + width:number <- get *sc, num-columns:offset + column:address:number <- get-address *sc, cursor-column:offset original-column:number <- copy *column # space over the entire line #? $start-tracing #? 1 @@ -403,8 +403,8 @@ container screen-cell [ # if x exists, lookup cursor in fake screen { break-unless sc - row:number <- get *sc, cursor-row:offset - column:number <- get *sc, cursor-column:offset + row:number <- get *sc, cursor-row:offset + column:number <- get *sc, cursor-column:offset reply row, column, sc/same-as-ingredient:0 } row, column <- cursor-position-on-display @@ -419,9 +419,9 @@ container screen-cell [ # if x exists, move cursor in fake screen { break-unless sc - row:address:number <- get-address *sc, cursor-row:offset + row:address:number <- get-address *sc, cursor-row:offset *row <- copy new-row - column:address:number <- get-address *sc, cursor-column:offset + column:address:number <- get-address *sc, cursor-column:offset *column <- copy new-column reply sc/same-as-ingredient:0 } @@ -440,7 +440,7 @@ container screen-cell [ 1:address:screen <- move-cursor 1:address:screen, 0/row, 0/column # clear line 1:address:screen <- clear-line 1:address:screen - 2:address:array:screen-cell <- get *1:address:screen, data:offset + 2:address:array:screen-cell <- get *1:address:screen, data:offset 3:array:screen-cell <- copy *2:address:array:screen-cell ] # screen should be blank @@ -469,8 +469,8 @@ container screen-cell [ break-unless sc { # if row < height-1 - height:number <- get *sc, num-rows:offset - row:address:number <- get-address *sc, cursor-row:offset + height:number <- get *sc, num-rows:offset + row:address:number <- get-address *sc, cursor-row:offset max:number <- subtract height, 1 at-bottom?:boolean <- greater-or-equal *row, max break-if at-bottom? @@ -492,7 +492,7 @@ container screen-cell [ break-unless sc { # if row > 0 - row:address:number <- get-address *sc, cursor-row:offset + row:address:number <- get-address *sc, cursor-row:offset at-top?:boolean <- lesser-or-equal *row, 0 break-if at-top? # row = row-1 @@ -513,8 +513,8 @@ container screen-cell [ break-unless sc { # if column < width-1 - width:number <- get *sc, num-columns:offset - column:address:number <- get-address *sc, cursor-column:offset + width:number <- get *sc, num-columns:offset + column:address:number <- get-address *sc, cursor-column:offset max:number <- subtract width, 1 at-bottom?:boolean <- greater-or-equal *column, max break-if at-bottom? @@ -536,7 +536,7 @@ container screen-cell [ break-unless sc { # if column > 0 - column:address:number <- get-address *sc, cursor-column:offset + column:address:number <- get-address *sc, cursor-column:offset at-top?:boolean <- lesser-or-equal *column, 0 break-if at-top? # column = column-1 @@ -572,7 +572,7 @@ container screen-cell [ # if x exists, move cursor in fake screen { break-unless sc - width:number <- get *sc, num-columns:offset + width:number <- get *sc, num-columns:offset reply width } # otherwise, real screen @@ -586,7 +586,7 @@ container screen-cell [ # if x exists, move cursor in fake screen { break-unless sc - height:number <- get *sc, num-rows:offset + height:number <- get *sc, num-rows:offset reply height } # otherwise, real screen @@ -680,7 +680,7 @@ container screen-cell [ 1:address:screen <- new-fake-screen 3/width, 2/height 2:address:array:character <- new [abcd] 1:address:screen <- print-string 1:address:screen, 2:address:array:character - 3:address:array:screen-cell <- get *1:address:screen, data:offset + 3:address:array:screen-cell <- get *1:address:screen, data:offset 4:array:screen-cell <- copy *3:address:array:screen-cell ] memory-should-contain [ -- cgit 1.4.1-2-gfad0