From 10bc32e2f002d67a8b336b58cebeae5ce2b6e9a5 Mon Sep 17 00:00:00 2001 From: "Kartik K. Agaram" Date: Tue, 17 May 2022 23:10:58 -0700 Subject: DRY some code --- main.lua | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) (limited to 'main.lua') diff --git a/main.lua b/main.lua index ea3c132..4ee4b5c 100644 --- a/main.lua +++ b/main.lua @@ -126,26 +126,22 @@ function love.draw() end function love.update(dt) + if Lines.current == nil then return end + local drawing = Lines.current + assert(drawing.mode == 'drawing') + local x, y = love.mouse.getX(), love.mouse.getY() if love.mouse.isDown('1') then - if Lines.current then - if Lines.current.mode == 'drawing' then - local drawing = Lines.current - local x, y = love.mouse.getX(), love.mouse.getY() - if y >= drawing.y and y < drawing.y + Drawing.pixels(drawing.h) and x >= 16 and x < 16+Drawing_width then - if drawing.pending.mode == 'freehand' then - table.insert(drawing.pending.points, {x=Drawing.coord(love.mouse.getX()-16), y=Drawing.coord(love.mouse.getY()-drawing.y)}) - elseif drawing.pending.mode == 'move' then - local mx,my = Drawing.coord(x-16), Drawing.coord(y-drawing.y) - drawing.pending.target_point.x = mx - drawing.pending.target_point.y = my - end - end + if Drawing.in_drawing(drawing, x,y) then + if drawing.pending.mode == 'freehand' then + table.insert(drawing.pending.points, {x=Drawing.coord(love.mouse.getX()-16), y=Drawing.coord(love.mouse.getY()-drawing.y)}) + elseif drawing.pending.mode == 'move' then + local mx,my = Drawing.coord(x-16), Drawing.coord(y-drawing.y) + drawing.pending.target_point.x = mx + drawing.pending.target_point.y = my end end elseif Current_drawing_mode == 'move' then - local drawing = Lines.current - local x, y = love.mouse.getX(), love.mouse.getY() - if y >= drawing.y and y < drawing.y + Drawing.pixels(drawing.h) and x >= 16 and x < 16+Drawing_width then + if Drawing.in_drawing(drawing, x, y) then local mx,my = Drawing.coord(x-16), Drawing.coord(y-drawing.y) drawing.pending.target_point.x = mx drawing.pending.target_point.y = my -- cgit 1.4.1-2-gfad0