HOSPP2ANSW654DYRTC6CQUQA2GUKV6T2FI7QBKXD2DZS3R32IMGAC QDTXNKWJXH46OWBLAYUOH4X2K3HR3OQRB7OTD234HA35UF2VQDBAC R5OKMVVCPAKL2IUMIY7A7ZMTJQZS6UWKW4EVLAVCPLPVNI5DCEYQC YYUGIYFVT5VH5XTOQCL2OEN3PLQ3U6SR4DQSOA5S3SNF25Z2AL7AC 2L4DL7PG5Q3IOZ2NTSULXDTDDA7AHNE43P7GH5TSVG2DZ4XC62NQC 22S4LHNKMHVHEBGGRWJR6WLAD5TNHYUWQU6HRZVPCDLOD4ZIWGUAC Z4XRNDTRTGSZHNB65WNHOVUBFW4QWQABLVSK4RM3QJHGK33DMRJAC 73OCE2MCBJJZZMN2KYPJTBOUCKBZAOQ2QIAMTGCNOOJ2AJAXFT2AC H2DPLWMVRFYTO2CQTG54FMT2LF3B6UKLXH32CUA22DNQJVP5XBNQC QYIFOHW3WDDQMK4ATY6IOSQRFHJOQ5QCPDKRC4GVGWLQEH4HGWVQC BULPIBEGL7TMK6CVIE7IS7WGAHGOSUJBGJSFQK542MOWGHP2ADQQC DHI6IJCNSTHGED67T6H5X6Y636C7PIDGIJD32HBEKLT5WIMRS5MAC AYE2VEGJ63AWWX76SFQZLOTBIZOQRWBG4AZMIOSVOI2WZVRQJXYAC WLHI7KD3LJTQH6V7RLVJWGZUR4YQK6LN4OIUMIN45BGMMQGN6RNQC 2RXZ3PGOTTZ6M4R372JXIKPLBQKPVBMAXNPIEO2HZDN4EMYW4GNAC MGT5FTJ35MGYCQO3TZVK3RYUIN5YX475R4XG7RO42SYLYF4AIKFAC A2NV3WVOKBOWBCSV3K4I6MO5LSVSSUZVNH226HV2HDCOMSPRVSSAC MDXGMZU2MBEDMTB755D3RRYEFKF54GTTYTI5XJYKKKN5ZFQWZXTAC LERERVPHE5SEWDHQ7IAGQSXUAI2QHQJ33NBNRMRXZ34X7P23I2IAC OYXDYPGSJK2QICJ6RBA7357WT4FSNAWRUT77YLQHT3F3VYMWGNFQC JY4VK7L2JKRWRV45QEMGLWPFAQRUWKFHMAL6DWNYEDCKO5Y4W5FQC 5DOC2CBMBDMAOJ7IKLDGVRCY4SNPCJTTF7DK7WGNLPGNV4AWVJNAC OIB2QPRCB4MAVZV5NCEKSAL45ITT6V4BYSET3Q2VCT3WBOIC4QVQC AD34IX2ZSGYGU3LGY2IZOZNKD4HRQOYJVG5UWMWLXJZJSM62FFOAC JF5L2BBS7ESMKHNGKLXI2F32GZKET2ICJ4KT2L5BMH3P2L2Y5MRAC 6E3HVYWFP3JLJ3DJ5BH4WGJUXQV5MDCBCE5GH3SXRHRQZOG4VJLQC YTSPVDZHEN5LLNMGIBUBLPWFWSFM3SOHBRGWYSDEVFKRTH24ARRQC S5VCAFKYBM35HF3SI4MCAQROWBRUC7YHWJMKWC6GWTTV5PHUCEFAC IMEJA43L3OX7S5KIYLZJ4F3ITACLAA5SZBHSCIJMULCPRSW7LXBAC V5MJRFOZRVVDCPOWTLXPHS2HZBZKOOCPPKFMRP6MWZN6N62QLFAAC XOAHJ6M3QKHSE5F7ICLPXN3RMH7JQEZXDKTOTIOBYKJFVT6PMYRAC R53OF3ONKT5VL5BGK63YSN6GXIIAVNYDG4UMHITK72WXFWPJ25MQC DFSDPDO7RHOLPVT4TD2Z3YZCKS6737LYIWBTJJI4BO73IIAJ5BYQC 4RUI5X52CSQODLT3WI4VBMXWZLACBYV5QANGDKRWS3VONZPVSEEQC PHFWIFYKFOGVX7CEAMGJ3FDY6LL5QSZ7T7CTCZ66WMNXV6C242FAC QVDQMJXVTM3BBMQDYIAIZMFLBQ56Q27U7H2OYRFE53MEMOCIXIAQC WY3JD6W6EANKQC4SRRIAM2Q3QZNVOGN3MIMBL3M55S4ZZSJFSF2AC HMODUNJEQLZ3W46GKYIDL55F6COVXHTIC6UW4AK3SXOOKOPE6NNAC PFT5Y2ZYGQA6XXOZ5HH75WVUGA4B3KTDRHSFOZRAUKTPSFOPMNRAC CG3264MMJTTSCJWUA2EMTBOPTDB2NZIJ7XICKHWUTZ4UWLFP7POAC GN3IF4WF352YK5K4YHVMAIMPL7PNTCEMDWW22PTKDOXKV2FZJ7NQC KOYAJWE4NJ2J4X3SHEAVMRXYZPZGOMTI7OX3PTUQIDIZ2GQI6UKAC 242L3OQXTU2TCAINRJXQEEDSXQXM7Y7USUPBK37ZNM3A7V5TUDSAC U7M4M2F7P5TGLTHKQ7J72GQFNPBII4PLJVJ44YVVOYEI4KPUDI6AC 3OKKTUT4Q7W44JHILOFV5BVUA7ZOBIHBCEXGZ65CPXV4PRLI2W4QC TRNWIQN6RPLDLYWULLKG5L255E7E3DPNGLCSLAF6IJWYQRCCLARQC BOFNXP5GZDCUMQG3LQVTSSFEQP7REQ4RIRJLDLETFSAGFTVDVEKAC HYEAFRZ2UEKDYTAE2GDQLHEJBPQASP2NDLMXB7F6MTVK2BKOXKEAC 5L7K4GBDEAFH44LMLNKVFMHLWDNXXBKRPEI347VE5ZLXVFSMD2FAC ULKLJBN6Q2EXYOXGIJLJ5NZPZD2MQSWR63Z2I3KDYJDAJQA5VNZAC V5TP27FPD6GPATHPABRW2FKP7BIKY53KL47UVEU5DF4WXEZF7CKAC AVQ5MC5DWNLI6LUUIPGBLGP4LKRPGWBY4THNY25OBT2FAVHC6MCAC OTIBCAUJ3KDQJLVDN3A536DLZGNRYMGJLORZVR3WLCGXGO6UGO6AC YKRF5V3ZZQIQ3UGAFYTQT5PUQVHCP2VHFDX77EY2C3X543HUDYKQC IRV65LZPHFLLYPTMLTDO6OJDHVZQJ6MFXZ45IRXRDSRSEQNO5DIAC ESETRNLB3MIJ2SID6HJMMP52FEVUBLGK2HLWD75KDQZAKQMKSF2QC DLQMM2656JHXX3ONOEM6UIOXKFJFT5QT7RHWK7YS2W77PVZWHRSAC 4C375P53EXHUPXUFQSI3LA7THEP2WOKX5ZB57OQ5ZSM7LYOVW5HAC LUNH47XXUUITDLE6NBI3J7GJQWQ45OQAGXY2HJI4HRPOR2GUULPAC 3TFEAQSWVFGSH3ISZ4Q3DFR3YPPWHEIBUEVR3XWB7QX6VKHW455QC CVGE3SIGJRGCLY3A2RBPGFXAEKVZXUUIZQLRHJLM4VPUM4SHEZIAC DAENUOGV7KR6MZVXS36HEN3SZC4RFIS6REGAFVBOFEPO76EUDGIAC B3IWYWSRDSZ7AG5HDS3TELNTG2IKRZYPI25B6LJGVFAJYTHVXZZAC VHQCNMARPMNBSIUFLJG7HVK4QGDNPCGNVFLHS3I4IGNVSV5MRLYQC DXT4QTAH5G6J7ZB3SMOOXVECKWYUPZVE2ODMUFTPPNHLTOSZLQSAC BYG5CEMVXANDTBI2ORNVMEY6K3EBRIHZHS4QBK27VONJC5537COQC WTDKUACNTWB4KD34TZZNPILNX4FQ6MR64XYBAA5GOMICF73WLIAAC AH744RFRNNEQ7THYLBD52BKUGPJJL36G5YLQY6NVU442UICAXUXQC BLWAYPKV3MLDZ4ALXLUJ25AIR6PCIL4RFYNRYLB26GFVC2KQBYBAC XNFTJHC4QSHNSIWNN7K6QZEZ37GTQYKHS4EPNSVPQCUSWREROGIQC y = y + math.floor(15*Zoom)if y + math.floor(15*Zoom) > App.screen.height then
y = y + Line_heightif y + Line_height > App.screen.height then
--? print(Cursor_y, Cursor_y*Line_width, Cursor_y*Line_width+Cursor_x, Cursor_y*Line_width+Cursor_x+clipboard_width, Line_width*App.screen.height/math.floor(15*Zoom))if Cursor_y*Line_width+Cursor_x + clipboard_width > Line_width*App.screen.height/math.floor(15*Zoom) then
--? print(Cursor_y, Cursor_y*Line_width, Cursor_y*Line_width+Cursor_x, Cursor_y*Line_width+Cursor_x+clipboard_width, Line_width*App.screen.height/Line_height)if Cursor_y*Line_width+Cursor_x + clipboard_width > Line_width*App.screen.height/Line_height then
if line.screen_line_starting_pos == nil then return y < line.y + math.floor(15*Zoom) endreturn y < line.y + #line.screen_line_starting_pos * math.floor(15*Zoom)
if line.screen_line_starting_pos == nil then return y < line.y + Line_height endreturn y < line.y + #line.screen_line_starting_pos * Line_height
elseif chord == 'C-=' thenFont_height = Font_height+2love.graphics.setFont(love.graphics.newFont(Font_height))Line_height = math.floor(Font_height*1.1)Text.redraw_all()elseif chord == 'C--' thenFont_height = Font_height-2love.graphics.setFont(love.graphics.newFont(Font_height))Text.redraw_all()Line_height = math.floor(Font_height*1.1)elseif chord == 'C-0' thenFont_height = 14love.graphics.setFont(love.graphics.newFont(Font_height))Text.redraw_all()Line_height = 15
love.graphics.print("Things you can do:", 16+30,y, 0, Zoom)y = y + math.floor(15*Zoom)love.graphics.print("* Press the mouse button to start drawing a "..current_shape(), 16+30,y, 0, Zoom)y = y + math.floor(15*Zoom)love.graphics.print("* Hover on a point and press 'ctrl+v' to start moving it,", 16+30,y, 0, Zoom)y = y + math.floor(15*Zoom)love.graphics.print("then press the mouse button to finish", 16+30+bullet_indent(),y, 0, Zoom)y = y + math.floor(15*Zoom)love.graphics.print("* Hover on a point and press 'ctrl+n' to name it,", 16+30,y, 0, Zoom)y = y + math.floor(15*Zoom)love.graphics.print("then press 'enter' to finish", 16+30+bullet_indent(),y, 0, Zoom)y = y + math.floor(15*Zoom)love.graphics.print("* Hover on a point or shape and press 'ctrl+d' to delete it", 16+30,y, 0, Zoom)y = y + math.floor(15*Zoom)y = y + math.floor(15*Zoom)
love.graphics.print("Things you can do:", 16+30,y)y = y + Line_heightlove.graphics.print("* Press the mouse button to start drawing a "..current_shape(), 16+30,y)y = y + Line_heightlove.graphics.print("* Hover on a point and press 'ctrl+v' to start moving it,", 16+30,y)y = y + Line_heightlove.graphics.print("then press the mouse button to finish", 16+30+bullet_indent(),y)y = y + Line_heightlove.graphics.print("* Hover on a point and press 'ctrl+n' to name it,", 16+30,y)y = y + Line_heightlove.graphics.print("then press 'enter' to finish", 16+30+bullet_indent(),y)y = y + Line_heightlove.graphics.print("* Hover on a point or shape and press 'ctrl+d' to delete it", 16+30,y)y = y + Line_heighty = y + Line_height
love.graphics.print("* Press 'ctrl+f' to switch to drawing freehand strokes", 16+30,y, 0, Zoom)y = y + math.floor(15*Zoom)
love.graphics.print("* Press 'ctrl+f' to switch to drawing freehand strokes", 16+30,y)y = y + Line_height
love.graphics.print("* Press 'ctrl+m' to switch to drawing horizontal/vertical lines", 16+30,y, 0, Zoom)y = y + math.floor(15*Zoom)
love.graphics.print("* Press 'ctrl+m' to switch to drawing horizontal/vertical lines", 16+30,y)y = y + Line_height
love.graphics.print("* Press 'ctrl+=' or 'ctrl+-' to Zoom in or out", 16+30,y, 0, Zoom)y = y + math.floor(15*Zoom)love.graphics.print("* Press 'ctrl+0' to reset Zoom", 16+30,y, 0, Zoom)y = y + math.floor(15*Zoom)y = y + math.floor(15*Zoom)love.graphics.print("Hit 'esc' now to hide this message", 16+30,y, 0, Zoom)y = y + math.floor(15*Zoom)
love.graphics.print("* Press 'ctrl+=' or 'ctrl+-' to zoom in or out", 16+30,y)y = y + Line_heightlove.graphics.print("* Press 'ctrl+0' to reset zoom", 16+30,y)y = y + Line_heighty = y + Line_heightlove.graphics.print("Hit 'esc' now to hide this message", 16+30,y)y = y + Line_height
love.graphics.print("You're currently drawing a "..current_shape(drawing.pending), 16+30,y, 0, Zoom)y = y + math.floor(15*Zoom)love.graphics.print('Things you can do now:', 16+30,y, 0, Zoom)y = y + math.floor(15*Zoom)
love.graphics.print("You're currently drawing a "..current_shape(drawing.pending), 16+30,y)y = y + Line_heightlove.graphics.print('Things you can do now:', 16+30,y)y = y + Line_height
love.graphics.print('* Release the mouse button to finish drawing the stroke', 16+30,y, 0, Zoom)y = y + math.floor(15*Zoom)
love.graphics.print('* Release the mouse button to finish drawing the stroke', 16+30,y)y = y + Line_height
love.graphics.print('* Release the mouse button to finish drawing the line', 16+30,y, 0, Zoom)y = y + math.floor(15*Zoom)
love.graphics.print('* Release the mouse button to finish drawing the line', 16+30,y)y = y + Line_height
love.graphics.print('* Release the mouse button to finish drawing the circle', 16+30,y, 0, Zoom)y = y + math.floor(15*Zoom)love.graphics.print("* Press 'a' to draw just an arc of a circle", 16+30,y, 0, Zoom)
love.graphics.print('* Release the mouse button to finish drawing the circle', 16+30,y)y = y + Line_heightlove.graphics.print("* Press 'a' to draw just an arc of a circle", 16+30,y)
love.graphics.print('* Release the mouse button to finish drawing the polygon', 16+30,y, 0, Zoom)y = y + math.floor(15*Zoom)love.graphics.print("* Press 'p' to add a vertex to the polygon", 16+30,y, 0, Zoom)y = y + math.floor(15*Zoom)
love.graphics.print('* Release the mouse button to finish drawing the polygon', 16+30,y)y = y + Line_heightlove.graphics.print("* Press 'p' to add a vertex to the polygon", 16+30,y)y = y + Line_height
love.graphics.print("* Press 'esc' then release the mouse button to cancel the current shape", 16+30,y, 0, Zoom)y = y + math.floor(15*Zoom)y = y + math.floor(15*Zoom)
love.graphics.print("* Press 'esc' then release the mouse button to cancel the current shape", 16+30,y)y = y + Line_heighty = y + Line_height
love.graphics.print("* Press 'm' to switch to drawing horizontal/vertical lines", 16+30,y, 0, Zoom)y = y + math.floor(15*Zoom)
love.graphics.print("* Press 'm' to switch to drawing horizontal/vertical lines", 16+30,y)y = y + Line_height
if chord == 'C-=' thenLine_width = Line_width/ZoomZoom = Zoom+0.5Line_width = Line_width*Zoomelseif chord == 'C--' thenLine_width = Line_width/ZoomZoom = Zoom-0.5Line_width = Line_width*Zoomelseif chord == 'C-0' thenLine_width = Line_width/ZoomZoom = 1.5Line_width = Line_width*Zoomelseif chord == 'C-f' and not love.mouse.isDown('1') then
if chord == 'C-f' and not love.mouse.isDown('1') then