about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2022-07-12 17:27:00 -0700
committerKartik K. Agaram <vc@akkartik.com>2022-07-12 17:27:00 -0700
commit1ede1c3c6d3fc2ec8070da4c726b3fbe1bf9d374 (patch)
treec8fc163a3156f8084a302fe94751340f1b266622
parentf7d4deef0ce51ad0527eb0b8b1a244adf3fb50f6 (diff)
downloadtext.love-1ede1c3c6d3fc2ec8070da4c726b3fbe1bf9d374.tar.gz
add state arg to a few functions
  - Drawing.current_drawing
  - Drawing.select_shape_at_mouse
  - Drawing.select_point_at_mouse
  - Drawing.select_drawing_at_mouse
-rw-r--r--drawing.lua50
-rw-r--r--edit.lua2
2 files changed, 26 insertions, 26 deletions
diff --git a/drawing.lua b/drawing.lua
index 6f9d99c..d0e0123 100644
--- a/drawing.lua
+++ b/drawing.lua
@@ -377,7 +377,7 @@ function Drawing.keychord_pressed(State, chord)
     State.current_drawing_mode = 'freehand'
   elseif App.mouse_down(1) and chord == 'l' then
     State.current_drawing_mode = 'line'
-    local _,drawing = Drawing.current_drawing()
+    local _,drawing = Drawing.current_drawing(State)
     if drawing.pending.mode == 'freehand' then
       drawing.pending.p1 = Drawing.insert_point(drawing.points, drawing.pending.points[1].x, drawing.pending.points[1].y)
     elseif drawing.pending.mode == 'polygon' or drawing.pending.mode == 'rectangle' or drawing.pending.mode == 'square' then
@@ -390,7 +390,7 @@ function Drawing.keychord_pressed(State, chord)
     State.current_drawing_mode = 'line'
   elseif App.mouse_down(1) and chord == 'm' then
     State.current_drawing_mode = 'manhattan'
-    local drawing = Drawing.select_drawing_at_mouse()
+    local drawing = Drawing.select_drawing_at_mouse(State)
     if drawing.pending.mode == 'freehand' then
       drawing.pending.p1 = Drawing.insert_point(drawing.points, drawing.pending.points[1].x, drawing.pending.points[1].y)
     elseif drawing.pending.mode == 'line' then
@@ -407,7 +407,7 @@ function Drawing.keychord_pressed(State, chord)
     State.current_drawing_mode = 'polygon'
   elseif App.mouse_down(1) and chord == 'g' then
     State.current_drawing_mode = 'polygon'
-    local _,drawing = Drawing.current_drawing()
+    local _,drawing = Drawing.current_drawing(State)
     if drawing.pending.mode == 'freehand' then
       drawing.pending.vertices = {Drawing.insert_point(drawing.points, drawing.pending.points[1].x, drawing.pending.points[1].y)}
     elseif drawing.pending.mode == 'line' or drawing.pending.mode == 'manhattan' then
@@ -424,7 +424,7 @@ function Drawing.keychord_pressed(State, chord)
     State.current_drawing_mode = 'rectangle'
   elseif App.mouse_down(1) and chord == 'r' then
     State.current_drawing_mode = 'rectangle'
-    local _,drawing = Drawing.current_drawing()
+    local _,drawing = Drawing.current_drawing(State)
     if drawing.pending.mode == 'freehand' then
       drawing.pending.vertices = {Drawing.insert_point(drawing.points, drawing.pending.points[1].x, drawing.pending.points[1].y)}
     elseif drawing.pending.mode == 'line' or drawing.pending.mode == 'manhattan' then
@@ -441,7 +441,7 @@ function Drawing.keychord_pressed(State, chord)
     State.current_drawing_mode = 'square'
   elseif App.mouse_down(1) and chord == 's' then
     State.current_drawing_mode = 'square'
-    local _,drawing = Drawing.current_drawing()
+    local _,drawing = Drawing.current_drawing(State)
     if drawing.pending.mode == 'freehand' then
       drawing.pending.vertices = {Drawing.insert_point(drawing.points, drawing.pending.points[1].x, drawing.pending.points[1].y)}
     elseif drawing.pending.mode == 'line' or drawing.pending.mode == 'manhattan' then
@@ -459,12 +459,12 @@ function Drawing.keychord_pressed(State, chord)
     end
     drawing.pending.mode = 'square'
   elseif App.mouse_down(1) and chord == 'p' and State.current_drawing_mode == 'polygon' then
-    local _,drawing = Drawing.current_drawing()
+    local _,drawing = Drawing.current_drawing(State)
     local mx,my = Drawing.coord(App.mouse_x()-State.margin_left), Drawing.coord(App.mouse_y()-drawing.y)
     local j = Drawing.insert_point(drawing.points, mx,my)
     table.insert(drawing.pending.vertices, j)
   elseif App.mouse_down(1) and chord == 'p' and (State.current_drawing_mode == 'rectangle' or State.current_drawing_mode == 'square') then
-    local _,drawing = Drawing.current_drawing()
+    local _,drawing = Drawing.current_drawing(State)
     local mx,my = Drawing.coord(App.mouse_x()-State.margin_left), Drawing.coord(App.mouse_y()-drawing.y)
     local j = Drawing.insert_point(drawing.points, mx,my)
     while #drawing.pending.vertices >= 2 do
@@ -474,7 +474,7 @@ function Drawing.keychord_pressed(State, chord)
   elseif chord == 'C-o' and not App.mouse_down(1) then
     State.current_drawing_mode = 'circle'
   elseif App.mouse_down(1) and chord == 'a' and State.current_drawing_mode == 'circle' then
-    local _,drawing = Drawing.current_drawing()
+    local _,drawing = Drawing.current_drawing(State)
     drawing.pending.mode = 'arc'
     local mx,my = Drawing.coord(App.mouse_x()-State.margin_left), Drawing.coord(App.mouse_y()-drawing.y)
     local center = drawing.points[drawing.pending.center]
@@ -482,7 +482,7 @@ function Drawing.keychord_pressed(State, chord)
     drawing.pending.start_angle = geom.angle(center.x,center.y, mx,my)
   elseif App.mouse_down(1) and chord == 'o' then
     State.current_drawing_mode = 'circle'
-    local _,drawing = Drawing.current_drawing()
+    local _,drawing = Drawing.current_drawing(State)
     if drawing.pending.mode == 'freehand' then
       drawing.pending.center = Drawing.insert_point(drawing.points, drawing.pending.points[1].x, drawing.pending.points[1].y)
     elseif drawing.pending.mode == 'line' or drawing.pending.mode == 'manhattan' then
@@ -492,7 +492,7 @@ function Drawing.keychord_pressed(State, chord)
     end
     drawing.pending.mode = 'circle'
   elseif chord == 'C-u' and not App.mouse_down(1) then
-    local drawing_index,drawing,i,p = Drawing.select_point_at_mouse()
+    local drawing_index,drawing,i,p = Drawing.select_point_at_mouse(State)
     if drawing then
       if State.previous_drawing_mode == nil then
         State.previous_drawing_mode = State.current_drawing_mode
@@ -503,7 +503,7 @@ function Drawing.keychord_pressed(State, chord)
       State.lines.current_drawing = drawing
     end
   elseif chord == 'C-n' and not App.mouse_down(1) then
-    local drawing_index,drawing,point_index,p = Drawing.select_point_at_mouse()
+    local drawing_index,drawing,point_index,p = Drawing.select_point_at_mouse(State)
     if drawing then
       if State.previous_drawing_mode == nil then
         -- don't clobber
@@ -516,7 +516,7 @@ function Drawing.keychord_pressed(State, chord)
       State.lines.current_drawing = drawing
     end
   elseif chord == 'C-d' and not App.mouse_down(1) then
-    local _,drawing,i,p = Drawing.select_point_at_mouse()
+    local _,drawing,i,p = Drawing.select_point_at_mouse(State)
     if drawing then
       for _,shape in ipairs(drawing.shapes) do
         if Drawing.contains_point(shape, i) then
@@ -534,17 +534,17 @@ function Drawing.keychord_pressed(State, chord)
       end
       drawing.points[i].deleted = true
     end
-    local drawing,_,shape = Drawing.select_shape_at_mouse()
+    local drawing,_,shape = Drawing.select_shape_at_mouse(State)
     if drawing then
       shape.mode = 'deleted'
     end
   elseif chord == 'C-h' and not App.mouse_down(1) then
-    local drawing = Drawing.select_drawing_at_mouse()
+    local drawing = Drawing.select_drawing_at_mouse(State)
     if drawing then
       drawing.show_help = true
     end
   elseif chord == 'escape' and App.mouse_down(1) then
-    local _,drawing = Drawing.current_drawing()
+    local _,drawing = Drawing.current_drawing(State)
     drawing.pending = {}
   end
 end
@@ -597,9 +597,9 @@ function Drawing.complete_square(firstx,firsty, secondx,secondy, x,y)
   return thirdx,thirdy, fourthx,fourthy
 end
 
-function Drawing.current_drawing()
+function Drawing.current_drawing(State)
   local x, y = App.mouse_x(), App.mouse_y()
-  for drawing_index,drawing in ipairs(Editor_state.lines) do
+  for drawing_index,drawing in ipairs(State.lines) do
     if drawing.mode == 'drawing' then
       if Drawing.in_drawing(drawing, x,y) then
         return drawing_index,drawing
@@ -609,12 +609,12 @@ function Drawing.current_drawing()
   return nil
 end
 
-function Drawing.select_shape_at_mouse()
-  for _,drawing in ipairs(Editor_state.lines) do
+function Drawing.select_shape_at_mouse(State)
+  for _,drawing in ipairs(State.lines) do
     if drawing.mode == 'drawing' then
       local x, y = App.mouse_x(), App.mouse_y()
       if Drawing.in_drawing(drawing, x,y) then
-        local mx,my = Drawing.coord(x-Editor_state.margin_left), Drawing.coord(y-drawing.y)
+        local mx,my = Drawing.coord(x-State.margin_left), Drawing.coord(y-drawing.y)
         for i,shape in ipairs(drawing.shapes) do
           assert(shape)
           if geom.on_shape(mx,my, drawing, shape) then
@@ -626,12 +626,12 @@ function Drawing.select_shape_at_mouse()
   end
 end
 
-function Drawing.select_point_at_mouse()
-  for drawing_index,drawing in ipairs(Editor_state.lines) do
+function Drawing.select_point_at_mouse(State)
+  for drawing_index,drawing in ipairs(State.lines) do
     if drawing.mode == 'drawing' then
       local x, y = App.mouse_x(), App.mouse_y()
       if Drawing.in_drawing(drawing, x,y) then
-        local mx,my = Drawing.coord(x-Editor_state.margin_left), Drawing.coord(y-drawing.y)
+        local mx,my = Drawing.coord(x-State.margin_left), Drawing.coord(y-drawing.y)
         for i,point in ipairs(drawing.points) do
           assert(point)
           if Drawing.near(point, mx,my) then
@@ -643,8 +643,8 @@ function Drawing.select_point_at_mouse()
   end
 end
 
-function Drawing.select_drawing_at_mouse()
-  for _,drawing in ipairs(Editor_state.lines) do
+function Drawing.select_drawing_at_mouse(State)
+  for _,drawing in ipairs(State.lines) do
     if drawing.mode == 'drawing' then
       local x, y = App.mouse_x(), App.mouse_y()
       if Drawing.in_drawing(drawing, x,y) then
diff --git a/edit.lua b/edit.lua
index 303ecbe..2616487 100644
--- a/edit.lua
+++ b/edit.lua
@@ -399,7 +399,7 @@ function edit.keychord_pressed(State, chord, key)
   -- dispatch to drawing or text
   elseif App.mouse_down(1) or chord:sub(1,2) == 'C-' then
     -- DON'T reset line.y here
-    local drawing_index, drawing = Drawing.current_drawing()
+    local drawing_index, drawing = Drawing.current_drawing(State)
     if drawing_index then
       local before = snapshot(State, drawing_index)
       Drawing.keychord_pressed(State, chord)