local var

[?]
Jun 3, 2022, 3:00 PM
SRVDX4I5QKWAH3Y5DX25PG34U7NY55H46ZYG2APH47BUZT3EJ2HAC

Dependencies

  • [2] UZVWYRTY missing temporary modes in a couple more places
  • [3] WTDKUACN rectangle and square shapes
  • [4] BJ2C6F2B ignore 'name' mode in a few places
  • [5] RT6EV6OP delegate update events to drawings
  • [6] 6DE7RBZ6 move mouse_released events to Drawing
  • [*] BLWAYPKV extract a module

Change contents

  • replacement in drawing.lua at line 264
    [3.249][3.249:338]()
    if Lines.current.pending then
    if Lines.current.pending.mode == 'freehand' then
    [3.249]
    [3.338]
    local drawing = Lines.current
    if drawing.pending then
    if drawing.pending.mode == 'freehand' then
  • replacement in drawing.lua at line 268
    [3.399][3.399:847]()
    table.insert(Lines.current.shapes, Lines.current.pending)
    elseif Lines.current.pending.mode == 'line' then
    local mx,my = Drawing.coord(x-16), Drawing.coord(y-Lines.current.y)
    if mx >= 0 and mx < 256 and my >= 0 and my < Lines.current.h then
    local j = Drawing.insert_point(Lines.current.points, mx,my)
    Lines.current.pending.p2 = j
    table.insert(Lines.current.shapes, Lines.current.pending)
    [3.399]
    [3.847]
    table.insert(drawing.shapes, drawing.pending)
    elseif drawing.pending.mode == 'line' then
    local mx,my = Drawing.coord(x-16), Drawing.coord(y-drawing.y)
    if mx >= 0 and mx < 256 and my >= 0 and my < drawing.h then
    local j = Drawing.insert_point(drawing.points, mx,my)
    drawing.pending.p2 = j
    table.insert(drawing.shapes, drawing.pending)
  • replacement in drawing.lua at line 276
    [3.859][3.859:1135]()
    elseif Lines.current.pending.mode == 'manhattan' then
    local p1 = Lines.current.points[Lines.current.pending.p1]
    local mx,my = Drawing.coord(x-16), Drawing.coord(y-Lines.current.y)
    if mx >= 0 and mx < 256 and my >= 0 and my < Lines.current.h then
    [3.859]
    [3.1135]
    elseif drawing.pending.mode == 'manhattan' then
    local p1 = drawing.points[drawing.pending.p1]
    local mx,my = Drawing.coord(x-16), Drawing.coord(y-drawing.y)
    if mx >= 0 and mx < 256 and my >= 0 and my < drawing.h then
  • replacement in drawing.lua at line 281
    [3.1191][3.1191:1307]()
    local j = Drawing.insert_point(Lines.current.points, mx, p1.y)
    Lines.current.pending.p2 = j
    [3.1191]
    [3.1307]
    local j = Drawing.insert_point(drawing.points, mx, p1.y)
    drawing.pending.p2 = j
  • replacement in drawing.lua at line 284
    [3.1322][3.1322:1438]()
    local j = Drawing.insert_point(Lines.current.points, p1.x, my)
    Lines.current.pending.p2 = j
    [3.1322]
    [3.1438]
    local j = Drawing.insert_point(drawing.points, p1.x, my)
    drawing.pending.p2 = j
  • replacement in drawing.lua at line 287
    [3.1452][3.1452:1684]()
    local p2 = Lines.current.points[Lines.current.pending.p2]
    love.mouse.setPosition(16+Drawing.pixels(p2.x), Lines.current.y+Drawing.pixels(p2.y))
    table.insert(Lines.current.shapes, Lines.current.pending)
    [3.1452]
    [3.1684]
    local p2 = drawing.points[drawing.pending.p2]
    love.mouse.setPosition(16+Drawing.pixels(p2.x), drawing.y+Drawing.pixels(p2.y))
    table.insert(drawing.shapes, drawing.pending)
  • replacement in drawing.lua at line 291
    [3.1696][3.1696:1904](),[3.1904][3.4302:4408](),[3.4408][3.1974:2042](),[3.1974][3.1974:2042]()
    elseif Lines.current.pending.mode == 'polygon' then
    local mx,my = Drawing.coord(x-16), Drawing.coord(y-Lines.current.y)
    if mx >= 0 and mx < 256 and my >= 0 and my < Lines.current.h then
    table.insert(Lines.current.pending.vertices, Drawing.insert_point(Lines.current.points, mx,my))
    table.insert(Lines.current.shapes, Lines.current.pending)
    [3.1696]
    [3.2042]
    elseif drawing.pending.mode == 'polygon' then
    local mx,my = Drawing.coord(x-16), Drawing.coord(y-drawing.y)
    if mx >= 0 and mx < 256 and my >= 0 and my < drawing.h then
    table.insert(drawing.pending.vertices, Drawing.insert_point(drawing.points, mx,my))
    table.insert(drawing.shapes, drawing.pending)
  • replacement in drawing.lua at line 297
    [3.2054][3.4409:4894]()
    elseif Lines.current.pending.mode == 'rectangle' then
    assert(#Lines.current.pending.vertices <= 2)
    if #Lines.current.pending.vertices == 2 then
    local mx,my = Drawing.coord(x-16), Drawing.coord(y-Lines.current.y)
    if mx >= 0 and mx < 256 and my >= 0 and my < Lines.current.h then
    local first = Lines.current.points[Lines.current.pending.vertices[1]]
    local second = Lines.current.points[Lines.current.pending.vertices[2]]
    [3.2054]
    [3.4894]
    elseif drawing.pending.mode == 'rectangle' then
    assert(#drawing.pending.vertices <= 2)
    if #drawing.pending.vertices == 2 then
    local mx,my = Drawing.coord(x-16), Drawing.coord(y-drawing.y)
    if mx >= 0 and mx < 256 and my >= 0 and my < drawing.h then
    local first = drawing.points[drawing.pending.vertices[1]]
    local second = drawing.points[drawing.pending.vertices[2]]
  • replacement in drawing.lua at line 305
    [3.5015][3.5015:5319]()
    table.insert(Lines.current.pending.vertices, Drawing.insert_point(Lines.current.points, thirdx,thirdy))
    table.insert(Lines.current.pending.vertices, Drawing.insert_point(Lines.current.points, fourthx,fourthy))
    table.insert(Lines.current.shapes, Lines.current.pending)
    [3.5015]
    [3.5319]
    table.insert(drawing.pending.vertices, Drawing.insert_point(drawing.points, thirdx,thirdy))
    table.insert(drawing.pending.vertices, Drawing.insert_point(drawing.points, fourthx,fourthy))
    table.insert(drawing.shapes, drawing.pending)
  • replacement in drawing.lua at line 312
    [3.5400][3.5400:5882]()
    elseif Lines.current.pending.mode == 'square' then
    assert(#Lines.current.pending.vertices <= 2)
    if #Lines.current.pending.vertices == 2 then
    local mx,my = Drawing.coord(x-16), Drawing.coord(y-Lines.current.y)
    if mx >= 0 and mx < 256 and my >= 0 and my < Lines.current.h then
    local first = Lines.current.points[Lines.current.pending.vertices[1]]
    local second = Lines.current.points[Lines.current.pending.vertices[2]]
    [3.5400]
    [3.5882]
    elseif drawing.pending.mode == 'square' then
    assert(#drawing.pending.vertices <= 2)
    if #drawing.pending.vertices == 2 then
    local mx,my = Drawing.coord(x-16), Drawing.coord(y-drawing.y)
    if mx >= 0 and mx < 256 and my >= 0 and my < drawing.h then
    local first = drawing.points[drawing.pending.vertices[1]]
    local second = drawing.points[drawing.pending.vertices[2]]
  • replacement in drawing.lua at line 320
    [3.6000][3.6000:6304]()
    table.insert(Lines.current.pending.vertices, Drawing.insert_point(Lines.current.points, thirdx,thirdy))
    table.insert(Lines.current.pending.vertices, Drawing.insert_point(Lines.current.points, fourthx,fourthy))
    table.insert(Lines.current.shapes, Lines.current.pending)
    [3.6000]
    [3.6304]
    table.insert(drawing.pending.vertices, Drawing.insert_point(drawing.points, thirdx,thirdy))
    table.insert(drawing.pending.vertices, Drawing.insert_point(drawing.points, fourthx,fourthy))
    table.insert(drawing.shapes, drawing.pending)
  • replacement in drawing.lua at line 325
    [3.6330][3.2120:2548](),[3.2120][3.2120:2548]()
    elseif Lines.current.pending.mode == 'circle' then
    local mx,my = Drawing.coord(x-16), Drawing.coord(y-Lines.current.y)
    if mx >= 0 and mx < 256 and my >= 0 and my < Lines.current.h then
    local center = Lines.current.points[Lines.current.pending.center]
    Lines.current.pending.radius = geom.dist(center.x,center.y, mx,my)
    table.insert(Lines.current.shapes, Lines.current.pending)
    [3.6330]
    [3.2548]
    elseif drawing.pending.mode == 'circle' then
    local mx,my = Drawing.coord(x-16), Drawing.coord(y-drawing.y)
    if mx >= 0 and mx < 256 and my >= 0 and my < drawing.h then
    local center = drawing.points[drawing.pending.center]
    drawing.pending.radius = geom.dist(center.x,center.y, mx,my)
    table.insert(drawing.shapes, drawing.pending)
  • replacement in drawing.lua at line 332
    [3.2560][3.2560:3032]()
    elseif Lines.current.pending.mode == 'arc' then
    local mx,my = Drawing.coord(x-16), Drawing.coord(y-Lines.current.y)
    if mx >= 0 and mx < 256 and my >= 0 and my < Lines.current.h then
    local center = Lines.current.points[Lines.current.pending.center]
    Lines.current.pending.end_angle = geom.angle_with_hint(center.x,center.y, mx,my, Lines.current.pending.end_angle)
    table.insert(Lines.current.shapes, Lines.current.pending)
    [3.2560]
    [3.3032]
    elseif drawing.pending.mode == 'arc' then
    local mx,my = Drawing.coord(x-16), Drawing.coord(y-drawing.y)
    if mx >= 0 and mx < 256 and my >= 0 and my < drawing.h then
    local center = drawing.points[drawing.pending.center]
    drawing.pending.end_angle = geom.angle_with_hint(center.x,center.y, mx,my, drawing.pending.end_angle)
    table.insert(drawing.shapes, drawing.pending)
  • replacement in drawing.lua at line 339
    [3.3044][2.27:82]()
    elseif Lines.current.pending.mode == 'move' then
    [3.3044]
    [2.82]
    elseif drawing.pending.mode == 'move' then
  • replacement in drawing.lua at line 341
    [2.101][3.100:155](),[3.3044][3.100:155]()
    elseif Lines.current.pending.mode == 'name' then
    [2.101]
    [2.102]
    elseif drawing.pending.mode == 'name' then
  • replacement in drawing.lua at line 344
    [3.6342][3.6342:6384]()
    print(Lines.current.pending.mode)
    [3.6342]
    [3.6384]
    print(drawing.pending.mode)