DRY some code
This commit is contained in:
parent
4818672c11
commit
10bc32e2f0
12
drawing.lua
12
drawing.lua
|
@ -286,7 +286,7 @@ function Drawing.current_drawing()
|
|||
local x, y = love.mouse.getX(), love.mouse.getY()
|
||||
for _,drawing in ipairs(Lines) do
|
||||
if drawing.mode == 'drawing' then
|
||||
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
|
||||
return drawing
|
||||
end
|
||||
end
|
||||
|
@ -298,8 +298,8 @@ function Drawing.select_shape_at_mouse()
|
|||
for _,drawing in ipairs(Lines) do
|
||||
if drawing.mode == 'drawing' then
|
||||
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
|
||||
local mx,my = Drawing.coord(love.mouse.getX()-16), Drawing.coord(love.mouse.getY()-drawing.y)
|
||||
if Drawing.in_drawing(drawing, x,y) then
|
||||
local mx,my = Drawing.coord(x-16), Drawing.coord(y-drawing.y)
|
||||
for i,shape in ipairs(drawing.shapes) do
|
||||
assert(shape)
|
||||
if geom.on_shape(mx,my, drawing, shape) then
|
||||
|
@ -315,8 +315,8 @@ function Drawing.select_point_at_mouse()
|
|||
for _,drawing in ipairs(Lines) do
|
||||
if drawing.mode == 'drawing' then
|
||||
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
|
||||
local mx,my = Drawing.coord(love.mouse.getX()-16), Drawing.coord(love.mouse.getY()-drawing.y)
|
||||
if Drawing.in_drawing(drawing, x,y) then
|
||||
local mx,my = Drawing.coord(x-16), Drawing.coord(y-drawing.y)
|
||||
for i,point in ipairs(drawing.points) do
|
||||
assert(point)
|
||||
if Drawing.near(point, mx,my) then
|
||||
|
@ -332,7 +332,7 @@ function Drawing.select_drawing_at_mouse()
|
|||
for _,drawing in ipairs(Lines) do
|
||||
if drawing.mode == 'drawing' then
|
||||
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
|
||||
return drawing
|
||||
end
|
||||
end
|
||||
|
|
28
main.lua
28
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
|
||||
|
|
Loading…
Reference in New Issue