I want to use drawing for locals, so I'll use uppercase the module
name just like globals.
BLWAYPKV3MLDZ4ALXLUJ25AIR6PCIL4RFYNRYLB26GFVC2KQBYBAC JS7DUFRAM64FCYXX7CAKZ5ZEWMECL4JPDCK3FVBNNK4VIPLIAGWAC AVQ5MC5DWNLI6LUUIPGBLGP4LKRPGWBY4THNY25OBT2FAVHC6MCAC OTIBCAUJ3KDQJLVDN3A536DLZGNRYMGJLORZVR3WLCGXGO6UGO6AC 6LJZN727CRPYR34LV75CQF55YZI3E7MGESYZSFSYAE73SNEZE3FAC XX7G2FFJ4QCGQGD4REAW5QFHVYAKCFUPGZCK7L6DFGS5ISVBYBQQC 6PUNJS5BSLTYMYMN4JFD7YDEGVQLM5PGAT7PQIG5NIAKLTM5T4PQC D2GCFTTT2RNUBFB243YTA4F2H5ZXFTFHBSKHLZ2CX4JSKRZFTUUQC VVXVV2D2F5Y6D6N5VVPUPK3N6GMDTG2YCYPQDYTYEKVKBYHRRYEAC JVRL5TWLBTWMTHJDZSDN5XQDMEIIPVAZBKUP75HMO7JHURAYWG5QC 2FMZNSD7CRDVUXQ7XAHE56F45FFKHTFLHHZVWJ3BESVNZJ2CNVUQC XLDKEAFZKV4BX3NGVJJHLQPHKK2QAJNQXJLBQGYIJUWVRQ662CFAC TGICJQD3ZQOXUCKLVL2UI47YZ5OEHYOBABW26M5SOGOLG2VBHBBAC JS6JSYOTXVZRN4XN7TYDY4GCNCFQBSERBPXEJ2TR5A2ITA6JJT2QC CXCAERTBB6LHLRRR23SO2CWSMLUM6MF5IDUVBMB2QYZBMUVSUNXAC ZD63LJ2TGWQQ5KWAX22QUWEYI2X5XUI2UTE4E7LGY26AS7HT2WGQC YHQC72JXDNMLVZ2KBFI6HZY6EDDVK4RJ5I2KOK7LEW6LJDLPV7JAC GCUARQ2GJT3Y5K6LOOA6S7SOBMSXU7VV7LT355TOMFFPBQ3ZVYKAC IFGAJAF7UWM236QV4NWP2C67TJPQGXNBC2RTZCOWPJUJYYC2MMXAC O2UFJ6G3MDBJFSABWAJWTZGP6VAKRMQ6XCMILLQRRSS43C3UF2OQC G77XIN7MLX465AXLXDUJDGEHXXCMR2Q7K25UAMKQERBJGNJPNW6AC KCIM5UTVV4KIL7SNRZFOW6FUQHGWAPOGQO4QTVNIWWBWMVG6GYNQC MNWHXPBL23TOI45LPF7ZECXSURCD2TRLM2EOFNBKFNHIWWKDQWCQC JCSLDGAH2F6AIY4Z6XM6K4LOMW7EFY3E4NF5YXLMHLTYTX3A4Z3QC FBDRL6LHPTBPMU3R356OLY4XE4ELQQEDXMCZGCBT2RFHLR7VQXQAC VQFBNHU4GQYICYL6I7HTYHWAL4J2YQNPG6SDCNOEQL4CJ7OQAULQC R5QXEHUIZLELJGGCZAE7ATNS3CLRJ7JFRENMGH4XXH24C5WABZDQC local pmx,pmy = love.mouse.getX(), love.mouse.getY()if pmx < 16+Drawing_width and pmy > line.y and pmy < line.y+pixels(line.h) thenlove.graphics.setColor(0.75,0.75,0.75)love.graphics.rectangle('line', 16,line.y, Drawing_width,pixels(line.h))if icon[Current_mode] thenicon[Current_mode](16+Drawing_width-20, line.y+4)elseicon[Previous_mode](16+Drawing_width-20, line.y+4)endif love.mouse.isDown('1') and love.keyboard.isDown('h') thendraw_help_with_mouse_pressed(line)returnendendif line.show_help thendraw_help_without_mouse_pressed(line)returnendlocal mx,my = coord(love.mouse.getX()-16), coord(love.mouse.getY()-line.y)for _,shape in ipairs(line.shapes) doassert(shape)if on_shape(mx,my, line, shape) thenlove.graphics.setColor(1,0,0)elselove.graphics.setColor(0,0,0)enddraw_shape(16,line.y, line, shape)endfor _,p in ipairs(line.points) doif p.deleted == nil thenif near(p, mx,my) thenlove.graphics.setColor(1,0,0)love.graphics.circle('line', pixels(p.x)+16,pixels(p.y)+line.y, 4)elselove.graphics.setColor(0,0,0)love.graphics.circle('fill', pixels(p.x)+16,pixels(p.y)+line.y, 2)endendenddraw_pending_shape(16,line.y, line)
Drawing.draw(line, y)
-- primitives for editing drawingsDrawing = {}function Drawing.draw(line, y)local pmx,pmy = love.mouse.getX(), love.mouse.getY()if pmx < 16+Drawing_width and pmy > line.y and pmy < line.y+pixels(line.h) thenlove.graphics.setColor(0.75,0.75,0.75)love.graphics.rectangle('line', 16,line.y, Drawing_width,pixels(line.h))if icon[Current_mode] thenicon[Current_mode](16+Drawing_width-20, line.y+4)elseicon[Previous_mode](16+Drawing_width-20, line.y+4)endif love.mouse.isDown('1') and love.keyboard.isDown('h') thendraw_help_with_mouse_pressed(line)returnendendif line.show_help thendraw_help_without_mouse_pressed(line)returnendlocal mx,my = coord(love.mouse.getX()-16), coord(love.mouse.getY()-line.y)for _,shape in ipairs(line.shapes) doassert(shape)if on_shape(mx,my, line, shape) thenlove.graphics.setColor(1,0,0)elselove.graphics.setColor(0,0,0)enddraw_shape(16,line.y, line, shape)endfor _,p in ipairs(line.points) doif p.deleted == nil thenif near(p, mx,my) thenlove.graphics.setColor(1,0,0)love.graphics.circle('line', pixels(p.x)+16,pixels(p.y)+line.y, 4)elselove.graphics.setColor(0,0,0)love.graphics.circle('fill', pixels(p.x)+16,pixels(p.y)+line.y, 2)endendenddraw_pending_shape(16,line.y, line)endreturn Drawing