about summary refs log tree commit diff stats
path: root/drawing.lua
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2022-06-14 14:59:09 -0700
committerKartik K. Agaram <vc@akkartik.com>2022-06-14 14:59:09 -0700
commit2b4e14189b9aed829cb73c359786980bb62b1a1a (patch)
tree15a1d3a4573e50258175772551d6ef3f49832a72 /drawing.lua
parent6894acc2bbca4941b07f51819de41e23932ab66b (diff)
downloadlines.love-2b4e14189b9aed829cb73c359786980bb62b1a1a.tar.gz
tests for drawing polygons
Diffstat (limited to 'drawing.lua')
-rw-r--r--drawing.lua10
1 files changed, 9 insertions, 1 deletions
diff --git a/drawing.lua b/drawing.lua
index 204a93e..45d93dd 100644
--- a/drawing.lua
+++ b/drawing.lua
@@ -408,11 +408,19 @@ function Drawing.keychord_pressed(chord)
       end
     end
     drawing.pending.mode = 'square'
-  elseif App.mouse_down(1) and chord == 'p' and (Current_drawing_mode == 'polygon' or Current_drawing_mode == 'rectangle' or Current_drawing_mode == 'square') then
+  elseif App.mouse_down(1) and chord == 'p' and Current_drawing_mode == 'polygon' then
     local _,drawing = Drawing.current_drawing()
     local mx,my = Drawing.coord(App.mouse_x()-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 (Current_drawing_mode == 'rectangle' or Current_drawing_mode == 'square') then
+    local _,drawing = Drawing.current_drawing()
+    local mx,my = Drawing.coord(App.mouse_x()-Margin_left), Drawing.coord(App.mouse_y()-drawing.y)
+    local j = Drawing.insert_point(drawing.points, mx,my)
+    while #drawing.pending.vertices >= 2 do
+      table.remove(drawing.pending.vertices)
+    end
+    table.insert(drawing.pending.vertices, j)
   elseif chord == 'C-o' and not App.mouse_down(1) then
     Current_drawing_mode = 'circle'
   elseif App.mouse_down(1) and chord == 'a' and Current_drawing_mode == 'circle' then