diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2016-11-27 13:03:05 -0800 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2016-11-27 13:03:05 -0800 |
commit | dc89309339a2331d83e5b0b9db3cfe6c811be73b (patch) | |
tree | 2ca88c0358317b1d407a46df297d174f6ef9d1b3 /edit/004-programming-environment.mu | |
parent | 9baf76ec488a0216db746db8e89c31a1821e3200 (diff) | |
download | mu-dc89309339a2331d83e5b0b9db3cfe6c811be73b.tar.gz |
3697
Decouple programming environment initialization from rendering. This helps make clear that we only need the width from screen during initialization.
Diffstat (limited to 'edit/004-programming-environment.mu')
-rw-r--r-- | edit/004-programming-environment.mu | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/edit/004-programming-environment.mu b/edit/004-programming-environment.mu index 3e6d016a..2a2dcdfa 100644 --- a/edit/004-programming-environment.mu +++ b/edit/004-programming-environment.mu @@ -21,23 +21,13 @@ container environment [ sandbox-in-focus?:bool # false => cursor in recipes; true => cursor in current-sandbox ] -def new-programming-environment screen:&:screen, initial-recipe-contents:text, initial-sandbox-contents:text -> result:&:environment, screen:&:screen [ +def new-programming-environment screen:&:screen, initial-recipe-contents:text, initial-sandbox-contents:text -> result:&:environment [ local-scope load-ingredients width:num <- screen-width screen - height:num <- screen-height screen - # top menu result <- new environment:type - draw-horizontal screen, 0, 0/left, width, 32/space, 0/black, 238/grey - button-start:num <- subtract width, 20 - button-on-screen?:bool <- greater-or-equal button-start, 0 - assert button-on-screen?, [screen too narrow for menu] - screen <- move-cursor screen, 0/row, button-start - print screen, [ run (F4) ], 255/white, 161/reddish - # dotted line down the middle - divider:num, _ <- divide-with-remainder width, 2 - draw-vertical screen, divider, 1/top, height, 9482/vertical-dotted # recipe editor on the left + divider:num, _ <- divide-with-remainder width, 2 recipes:&:editor <- new-editor initial-recipe-contents, 0/left, divider/right # sandbox editor on the right sandbox-left:num <- add divider, 1 @@ -291,7 +281,6 @@ def render-without-moving-cursor screen:&:screen, editor:&:editor -> last-row:nu return row, column, screen/same-as-ingredient:0, editor/same-as-ingredient:1 ] - scenario point-at-multiple-editors [ local-scope trace-until 100/app # trace too long |