about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2015-08-28 08:55:22 -0700
committerKartik K. Agaram <vc@akkartik.com>2015-08-28 08:55:22 -0700
commit7e47380a4f3f8725fdf369d97b4b204d46aaf164 (patch)
tree5a7c8fd3967c956353a66379f4a27ac3c8395922
parent5efd2b6b56bdb8d365ff24aa212b405e9ff37f2e (diff)
downloadmu-7e47380a4f3f8725fdf369d97b4b204d46aaf164.tar.gz
2086 - reset cursor on resize
Also drop some redundancy with 'render-all'.
-rw-r--r--edit.mu24
1 files changed, 11 insertions, 13 deletions
diff --git a/edit.mu b/edit.mu
index c33fa4e8..6fddf17b 100644
--- a/edit.mu
+++ b/edit.mu
@@ -4561,31 +4561,29 @@ recipe resize [
   local-scope
   screen:address <- next-ingredient
   env:address:programming-environment-data <- next-ingredient
-  # hack: clear screen to update screen dimensions
-  clear-screen screen
+  clear-screen screen  # update screen dimensions
   width:number <- screen-width screen
-  height:number <- screen-height screen
-  # top menu
-  draw-horizontal screen, 0, 0/left, width, 32/space, 0/black, 238/grey
-  button-start:number <- subtract width, 20
-  button-on-screen?:boolean <- greater-or-equal button-start, 0
-  assert button-on-screen?, [screen too narrow for menu]
-  screen <- move-cursor screen, 0/row, button-start
-  run-button:address:array:character <- new [ run (F4) ]
-  print-string screen, run-button, 255/white, 161/reddish
-  # dotted line down the middle
   divider:number, _ <- divide-with-remainder width, 2
-  draw-vertical screen, divider, 1/top, height, 9482/vertical-dotted
   # update recipe editor
   recipes:address:editor-data <- get *env, recipes:offset
   right:address:number <- get-address *recipes, right:offset
   *right <- subtract divider, 1
+  # reset cursor (later we'll try to preserve its position)
+  cursor-row:address:number <- get-address *recipes, cursor-row:offset
+  *cursor-row <- copy 1
+  cursor-column:address:number <- get-address *recipes, cursor-column:offset
+  *cursor-column <- copy 0
   # update sandbox editor
   current-sandbox:address:editor-data <- get *env, current-sandbox:offset
   left:address:number <- get-address *current-sandbox, left:offset
   right:address:number <- get-address *current-sandbox, right:offset
   *left <- add divider, 1
   *right <- subtract width, 1
+  # reset cursor (later we'll try to preserve its position)
+  cursor-row:address:number <- get-address *current-sandbox, cursor-row:offset
+  *cursor-row <- copy 1
+  cursor-column:address:number <- get-address *current-sandbox, cursor-column:offset
+  *cursor-column <- copy *left
   reply env/same-as-ingredient:1
 ]