diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2015-07-04 20:46:50 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2015-07-04 20:47:17 -0700 |
commit | 57bcdaeefa83bdccc5ea15dd273747b0b50e836a (patch) | |
tree | 6e9001a7c764e0585dc5787865e4997d9e2cc9c2 /071print.mu | |
parent | 8a965c60280a566f3f82cc5f52d47479aeb6d30d (diff) | |
download | mu-57bcdaeefa83bdccc5ea15dd273747b0b50e836a.tar.gz |
1705 - change background color
Diffstat (limited to '071print.mu')
-rw-r--r-- | 071print.mu | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/071print.mu b/071print.mu index c7ed5a2b..b3875364 100644 --- a/071print.mu +++ b/071print.mu @@ -79,6 +79,12 @@ recipe print-character [ break-if color-found?:boolean color:number <- copy 7:literal/white } + bg-color:number, bg-color-found?:boolean <- next-ingredient + { + # default color to white + break-if bg-color-found?:boolean + bg-color:number <- copy 0:literal/black + } { # if x exists # (handle special cases exactly like in the real screen) @@ -146,7 +152,7 @@ recipe print-character [ reply x:address:screen/same-as-ingredient:0 } # otherwise, real screen - print-character-to-display c:character, color:number + print-character-to-display c:character, color:number, bg-color:number reply x:address:screen/same-as-ingredient:0 ] @@ -597,13 +603,19 @@ recipe print-string [ break-if color-found?:boolean color:number <- copy 7:literal/white } + bg-color:number, bg-color-found?:boolean <- next-ingredient + { + # default color to white + break-if bg-color-found?:boolean + bg-color:number <- copy 0:literal/black + } len:number <- length s:address:array:character/deref i:number <- copy 0:literal { done?:boolean <- greater-or-equal i:number, len:number break-if done?:boolean c:character <- index s:address:array:character/deref, i:number - print-character x:address:screen, c:character, color:number + print-character x:address:screen, c:character, color:number, bg-color:number i:number <- add i:number, 1:literal loop } @@ -640,8 +652,14 @@ recipe print-integer [ break-if color-found?:boolean color:number <- copy 7:literal/white } + bg-color:number, bg-color-found?:boolean <- next-ingredient + { + # default color to white + break-if bg-color-found?:boolean + bg-color:number <- copy 0:literal/black + } # todo: other bases besides decimal s:address:array:character <- integer-to-decimal-string n:number - print-string x:address:screen, s:address:array:character, color:number + print-string x:address:screen, s:address:array:character, color:number, bg-color:number reply x:address:screen/same-as-ingredient:0 ] |