crisp font rendering
[?]
Jun 3, 2022, 6:36 AM
HOSPP2ANSW654DYRTC6CQUQA2GUKV6T2FI7QBKXD2DZS3R32IMGACDependencies
- [2]
QDTXNKWJhelp tweak - [3]
R5OKMVVCfix a regression in line wrapping - [4]
YYUGIYFV. - [5]
2L4DL7PGgo through App in a couple more places - [6]
22S4LHNKscroll if necessary on paste - [7]
Z4XRNDTRfind text - [8]
73OCE2MCafter much struggle, a brute-force undo - [9]
JF5L2BBStest harness now supports copy/paste - [10]
LERERVPHkeep one screen line of overlap on pagedown - [11]
VHQCNMARseveral more modules - [12]
242L3OQXbugfix: ensure Cursor_line is always on a text line - [13]
7IKRRESBlonger names for indices in long loops - [14]
537TQ2QNsome more logging - [15]
V5MJRFOZbugfix: down arrow doesn't scroll up unnecessarily - [16]
XNFTJHC4split keyboard handling between Text and Drawing - [17]
LUNH47XXmake text and drawings the same width - [18]
2POFQQLWkeep cursor on screen when pressing 'down' - [19]
CVGE3SIGI feel confident now that page-down is working. - [20]
TRNWIQN6more precise height calculation when scrolling up as much as possible while keeping cursor on screen - [21]
3OKKTUT4up and down arrow now moving by screen line where possible - [22]
AVTNUQYRbasic test-enabled framework - [23]
AVQ5MC5Dfinish uppercasing all globals - [24]
YKRF5V3Zstarting to load/save - [25]
DXT4QTAHa few more integer coordinates - [26]
S5VCAFKYcouple of tests for cursor down - [27]
QYIFOHW3first test! - [28]
WTDKUACNrectangle and square shapes - [29]
IMEJA43Lsnapshot - [30]
XOAHJ6M3similar tests for cursor up - [31]
MDXGMZU2disable all debug prints - [32]
OYXDYPGSget rid of debug variables - [33]
R53OF3ONone bug I've repeatedly run into while testing with Moby Dick - [34]
HYEAFRZ2split mouse_pressed events between Text and Drawing - [35]
YTSPVDZHfirst successful pagedown test, first bug found by test - [36]
DFSDPDO7bugfix - [37]
6E3HVYWFtest and App helper for mouse clicks - [38]
PHFWIFYKscroll on enter - [39]
IRJKWZWN. - [40]
HMODUNJEscroll on backspace - [41]
CG3264MMmove - [42]
H2DPLWMVsnapshot: wrapping long lines at word boundaries - [43]
WLHI7KD3new globals: draw partial screen line up top - [44]
A2NV3WVOscrolling with up arrow - [45]
2RXZ3PGObeginning of a new approach to scroll+wrap - [46]
ZPUQSPQPextract a few methods - [47]
QVDQMJXVavoid scrolling down if possible - [48]
UWNHC4AAredo y computations - [49]
PFT5Y2ZYmove - [50]
IRV65LZPfold variables for screen dimensions into the app framework - [51]
EWQ2VRMSclean up test progress indicators - [52]
5L7K4GBDclicking to the right of a wrapped line - [53]
OIB2QPRCstart remembering where the cursor is drawn in px - [54]
AH744RFRshow when we're naming a point - [55]
4RUI5X52a few tests for pageup, and a bugfix - [56]
AD34IX2Zcouple more tests - [57]
252M2QMDforgot to move this special case out - [58]
BYG5CEMVsupport for naming points - [59]
WY3JD6W6bugfix - [60]
NQH7DEEWbugfix: missed rename in one file - [61]
GN3IF4WFbugfix: pasting newlines - [62]
P66MRF3Ubugfix: don't append metadata when it already exists - [63]
KOYAJWE4extract a couple more methods - [64]
DHI6IJCNselecting text and deleting selections - [65]
A2QPFRFJmove - [66]
ESETRNLBbugfix: printing the first part of a line at the bottom made it seem non-wrapping - [67]
MGT5FTJ3first stab at supporting wrapping in cursor up - [68]
DLQMM265scroll past first page - [69]
V5TP27FPctrl-+ and ctrl-- to adjust font size - [70]
RTDYYP4Hbugfix: text past cursor was rendered red on wrapped lines - [71]
7OUJM7DLone missing transition between shape modes - [72]
SQLVYKVJrename - [73]
XVR2O5PIchange text cursor shape - [74]
AYE2VEGJextract a couple of methods - [75]
2ZRC7FUL. - [76]
DAENUOGVeliminate assumptions that line length == size in bytes - [77]
JY4VK7L2rename - [78]
ORQKYYD7. - [79]
5DOC2CBMextract a function - [80]
JRGTJ2IWquite the frustrating bugfix - [81]
4C375P53this is a bit clearer - [82]
VJ77YABHmore efficient undo/redo - [83]
U7M4M2F7bugfix: don't rely on Screen_bottom1 while scrolling - [84]
H22OAXWEcouple of TODOs - [85]
3TFEAQSWstart using some globals - [86]
ULKLJBN6couple of renames - [87]
JVRL5TWLstore device-independent coordinates inside drawings - [88]
BOFNXP5Gclicking now moves the cursor even on long, wrapped lines - [89]
KWOJ6XHEcut/copy selected text to clipboard - [90]
N6V6UJ3Pthis implementation undo load-tests quite poorly - [91]
B3IWYWSRdelete another arg that can be deduced - [*]
BULPIBEGbeginnings of a module for the text editor - [*]
OTIBCAUJlove2d scaffold - [*]
BLWAYPKVextract a module
Change contents
- edit in undo.lua at line 52
zoom=Zoom, - replacement in text.lua at line 29
local frag_width = math.floor(App.width(frag_text)*Zoom)local frag_width = App.width(frag_text) - replacement in text.lua at line 37[8.65]→[8.83:119](∅→∅),[8.70]→[8.83:119](∅→∅),[8.82]→[8.83:119](∅→∅),[8.180]→[8.83:119](∅→∅),[8.255]→[8.83:119](∅→∅),[8.83]→[8.83:119](∅→∅),[8.119]→[8.360:420](∅→∅)
y = y + math.floor(15*Zoom)if y + math.floor(15*Zoom) > App.screen.height theny = y + Line_heightif y + Line_height > App.screen.height then - replacement in text.lua at line 62
lo_px = App.width(before_text)*Zoomlo_px = App.width(before_text) - replacement in text.lua at line 67
local text_width = App.width(text)*Zoomlocal text_width = App.width(text) - replacement in text.lua at line 69
love.graphics.rectangle('fill', x+lo_px,y, text_width,math.floor(15*Zoom))love.graphics.rectangle('fill', x+lo_px,y, text_width,Line_height) - replacement in text.lua at line 74
App.screen.draw(frag_text, x,y, 0, Zoom)App.screen.draw(frag_text, x,y) - replacement in text.lua at line 85
love.graphics.rectangle('fill', x,y, math.floor(App.width(Search_text)*Zoom),math.floor(15*Zoom))love.graphics.rectangle('fill', x,y, App.width(Search_text),Line_height) - replacement in text.lua at line 87
love.graphics.print(Search_term, x,y, 0, Zoom)love.graphics.print(Search_term, x,y) - replacement in text.lua at line 108
local h = math.floor(15*Zoom)+2local h = Line_height+2 - replacement in text.lua at line 119
App.screen.print(Search_term, 25,y-5, 0, Zoom)App.screen.print(Search_term, 25,y-5) - replacement in text.lua at line 124
love.graphics.circle('fill', 25+math.floor(App.width(Search_text)*Zoom),y-5+h, 2)love.graphics.circle('fill', 25+App.width(Search_text),y-5+h, 2) - replacement in text.lua at line 286
love.graphics.circle('fill', x,y+math.floor(15*Zoom), 2)love.graphics.circle('fill', x,y+Line_height, 2) - replacement in text.lua at line 289
Cursor_y = y+math.floor(15*Zoom)Cursor_y = y+Line_height - edit in text.lua at line 300
Zoom = 1 - edit in text.lua at line 302
local line_height = 15 -- pixels - replacement in text.lua at line 304
y = y + line_heighty = y + Line_height - replacement in text.lua at line 306
y = y + line_heighty = y + Line_height - edit in text.lua at line 318
Zoom = 1 - edit in text.lua at line 320
local line_height = 15 -- pixels - replacement in text.lua at line 322
y = y + line_heighty = y + Line_height - replacement in text.lua at line 324
y = y + line_heighty = y + Line_height - edit in text.lua at line 336
Zoom = 1 - edit in text.lua at line 338
local line_height = 15 -- pixels - replacement in text.lua at line 340
y = y + line_heighty = y + Line_height - replacement in text.lua at line 342
y = y + line_heighty = y + Line_height - edit in text.lua at line 355
Zoom = 1 - edit in text.lua at line 357
local line_height = 15 -- pixels - replacement in text.lua at line 359
y = y + line_heighty = y + Line_height - replacement in text.lua at line 361
y = y + line_heighty = y + Line_height - edit in text.lua at line 373
Zoom = 1 - edit in text.lua at line 380
local line_height = 15 -- pixels - replacement in text.lua at line 382
y = y + line_heighty = y + Line_height - replacement in text.lua at line 384
y = y + line_heighty = y + Line_height - edit in text.lua at line 397
Zoom = 1 - edit in text.lua at line 398
local line_height = math.floor(15*Zoom) -- pixels - replacement in text.lua at line 401
y = y + line_heighty = y + Line_height - replacement in text.lua at line 403
y = y + line_heighty = y + Line_height - replacement in text.lua at line 412
y = y + line_heighty = y + Line_height - replacement in text.lua at line 414
y = y + line_heighty = y + Line_height - edit in text.lua at line 427
Zoom = 1 - edit in text.lua at line 428
local line_height = math.floor(15*Zoom) -- pixels - replacement in text.lua at line 431
y = y + line_heighty = y + Line_height - replacement in text.lua at line 433
y = y + line_heighty = y + Line_height - replacement in text.lua at line 443
y = y + line_heighty = y + Line_height - replacement in text.lua at line 445
y = y + line_heighty = y + Line_height - edit in text.lua at line 457
Zoom = 1 - edit in text.lua at line 473
Zoom = 1 - edit in text.lua at line 474
local line_height = math.floor(15*Zoom) -- pixels - replacement in text.lua at line 478
y = y + line_heighty = y + Line_height - replacement in text.lua at line 486
y = y + line_heighty = y + Line_height - edit in text.lua at line 503
Zoom = 1 - edit in text.lua at line 528
Zoom = 1 - edit in text.lua at line 529
local line_height = math.floor(15*Zoom) -- pixels - replacement in text.lua at line 532
y = y + line_heighty = y + Line_height - replacement in text.lua at line 534
y = y + line_heighty = y + Line_height - replacement in text.lua at line 544
y = y + line_heighty = y + Line_height - replacement in text.lua at line 546
y = y + line_heighty = y + Line_height - edit in text.lua at line 558
Zoom = 1 - edit in text.lua at line 559
local line_height = math.floor(15*Zoom) -- pixels - replacement in text.lua at line 563
y = y + line_heighty = y + Line_height - replacement in text.lua at line 565
y = y + line_heighty = y + Line_height - replacement in text.lua at line 574
y = y + line_heighty = y + Line_height - replacement in text.lua at line 576
y = y + line_heighty = y + Line_height - edit in text.lua at line 589
Zoom = 1 - edit in text.lua at line 590
local line_height = math.floor(15*Zoom) -- pixels - replacement in text.lua at line 593
y = y + line_heighty = y + Line_height - replacement in text.lua at line 595
y = y + line_heighty = y + Line_height - replacement in text.lua at line 603
y = y + line_heighty = y + Line_height - replacement in text.lua at line 605
y = y + line_heighty = y + Line_height - edit in text.lua at line 618
Zoom = 1 - edit in text.lua at line 619
local line_height = math.floor(15*Zoom) -- pixels - replacement in text.lua at line 622
y = y + line_heighty = y + Line_height - replacement in text.lua at line 624
y = y + line_heighty = y + Line_height - replacement in text.lua at line 633
y = y + line_heighty = y + Line_height - replacement in text.lua at line 635
y = y + line_heighty = y + Line_height - edit in text.lua at line 648
Zoom = 1 - edit in text.lua at line 649
local line_height = math.floor(15*Zoom) -- pixels - replacement in text.lua at line 652
y = y + line_heighty = y + Line_height - replacement in text.lua at line 654
y = y + line_heighty = y + Line_height - replacement in text.lua at line 663
y = y + line_heighty = y + Line_height - replacement in text.lua at line 665
y = y + line_heighty = y + Line_height - edit in text.lua at line 677
Zoom = 1 - edit in text.lua at line 678
local line_height = math.floor(15*Zoom) -- pixels - replacement in text.lua at line 681
y = y + line_heighty = y + Line_height - replacement in text.lua at line 683
y = y + line_heighty = y + Line_height - replacement in text.lua at line 697
y = y + line_heighty = y + Line_height - replacement in text.lua at line 699
y = y + line_heighty = y + Line_height - edit in text.lua at line 712
Zoom = 1 - edit in text.lua at line 713
local line_height = math.floor(15*Zoom) -- pixels - replacement in text.lua at line 716
y = y + line_heighty = y + Line_height - replacement in text.lua at line 718
y = y + line_heighty = y + Line_height - replacement in text.lua at line 727
y = y + line_heighty = y + Line_height - replacement in text.lua at line 729
y = y + line_heighty = y + Line_height - edit in text.lua at line 742
Zoom = 1 - edit in text.lua at line 743
local line_height = math.floor(15*Zoom) -- pixels - replacement in text.lua at line 746
y = y + line_heighty = y + Line_height - replacement in text.lua at line 748
y = y + line_heighty = y + Line_height - replacement in text.lua at line 756
y = y + line_heighty = y + Line_height - replacement in text.lua at line 758
y = y + line_heighty = y + Line_height - edit in text.lua at line 771
Zoom = 1 - edit in text.lua at line 772
local line_height = math.floor(15*Zoom) -- pixels - replacement in text.lua at line 775
y = y + line_heighty = y + Line_height - replacement in text.lua at line 781
y = y + line_heighty = y + Line_height - replacement in text.lua at line 783
y = y + line_heighty = y + Line_height - edit in text.lua at line 800
Zoom = 1 - edit in text.lua at line 801
local line_height = math.floor(15*Zoom) -- pixels - replacement in text.lua at line 804
y = y + line_heighty = y + Line_height - replacement in text.lua at line 806
y = y + line_heighty = y + Line_height - replacement in text.lua at line 812
y = y + line_heighty = y + Line_height - replacement in text.lua at line 814
y = y + line_heighty = y + Line_height - edit in text.lua at line 831
Zoom = 1 - edit in text.lua at line 832
local line_height = math.floor(15*Zoom) -- pixels - replacement in text.lua at line 835
y = y + line_heighty = y + Line_height - replacement in text.lua at line 837
y = y + line_heighty = y + Line_height - replacement in text.lua at line 845
y = y + line_heighty = y + Line_height - replacement in text.lua at line 847
y = y + line_heighty = y + Line_height - edit in text.lua at line 859
Zoom = 1 - edit in text.lua at line 860
local line_height = math.floor(15*Zoom) -- pixels - replacement in text.lua at line 864
y = y + line_heighty = y + Line_height - replacement in text.lua at line 872
y = y + line_heighty = y + Line_height - edit in text.lua at line 885
Zoom = 1 - edit in text.lua at line 886
local line_height = math.floor(15*Zoom) -- pixels - replacement in text.lua at line 889
y = y + line_heighty = y + Line_height - replacement in text.lua at line 891
y = y + line_heighty = y + Line_height - replacement in text.lua at line 900
y = y + line_heighty = y + Line_height - replacement in text.lua at line 902
y = y + line_heighty = y + Line_height - edit in text.lua at line 915
Zoom = 1 - edit in text.lua at line 916
local line_height = math.floor(15*Zoom) -- pixels - replacement in text.lua at line 919
y = y + line_heighty = y + Line_height - replacement in text.lua at line 928
y = y + line_heighty = y + Line_height - replacement in text.lua at line 930
y = y + line_heighty = y + Line_height - edit in text.lua at line 943
Zoom = 1 - edit in text.lua at line 944
local line_height = math.floor(15*Zoom) -- pixels - replacement in text.lua at line 947
y = y + line_heighty = y + Line_height - replacement in text.lua at line 949
y = y + line_heighty = y + Line_height - replacement in text.lua at line 958
y = y + line_heighty = y + Line_height - replacement in text.lua at line 960
y = y + line_heighty = y + Line_height - edit in text.lua at line 973
Zoom = 1 - edit in text.lua at line 974
local line_height = math.floor(15*Zoom) -- pixels - replacement in text.lua at line 984
y = y + line_heighty = y + Line_height - edit in text.lua at line 997
Zoom = 1 - edit in text.lua at line 999
local line_height = 15 -- pixels - replacement in text.lua at line 1002
y = y + line_heighty = y + Line_height - replacement in text.lua at line 1004
y = y + line_heighty = y + Line_height - replacement in text.lua at line 1013
y = y + line_heighty = y + Line_height - replacement in text.lua at line 1015
y = y + line_heighty = y + Line_height - edit in text.lua at line 1035
Zoom = 1 - edit in text.lua at line 1036
local line_height = math.floor(15*Zoom) -- pixels - replacement in text.lua at line 1039
y = y + line_heighty = y + Line_height - replacement in text.lua at line 1041
y = y + line_heighty = y + Line_height - replacement in text.lua at line 1049
y = y + line_heighty = y + Line_height - replacement in text.lua at line 1051
y = y + line_heighty = y + Line_height - edit in text.lua at line 1064
Zoom = 1 - edit in text.lua at line 1065
local line_height = math.floor(15*Zoom) -- pixels - replacement in text.lua at line 1068
y = y + line_heighty = y + Line_height - replacement in text.lua at line 1074
y = y + line_heighty = y + Line_height - replacement in text.lua at line 1076
y = y + line_heighty = y + Line_height - edit in text.lua at line 1095
Zoom = 1 - edit in text.lua at line 1113
Zoom = 1 - edit in text.lua at line 1131
Zoom = 1 - edit in text.lua at line 1150
Zoom = 1 - edit in text.lua at line 1169
Zoom = 1 - edit in text.lua at line 1188
Zoom = 1 - edit in text.lua at line 1195
local line_height = 15 -- pixels - replacement in text.lua at line 1197
y = y + line_heighty = y + Line_height - replacement in text.lua at line 1199
y = y + line_heighty = y + Line_height - replacement in text.lua at line 1209
y = y + line_heighty = y + Line_height - replacement in text.lua at line 1211
y = y + line_heighty = y + Line_height - edit in text.lua at line 1223
Zoom = 1 - edit in text.lua at line 1230
local line_height = 15 -- pixels - replacement in text.lua at line 1232
y = y + line_heighty = y + Line_height - replacement in text.lua at line 1234
y = y + line_heighty = y + Line_height - replacement in text.lua at line 1247
y = y + line_heighty = y + Line_height - replacement in text.lua at line 1249
y = y + line_heighty = y + Line_height - replacement in text.lua at line 1260
local frag_width = math.floor(App.width(frag_text)*Zoom)local frag_width = App.width(frag_text) - replacement in text.lua at line 1275
local frag1_width = math.floor(App.width(frag1_text)*Zoom)local frag1_width = App.width(frag1_text) - replacement in text.lua at line 1282
frag_width = math.floor(App.width(frag_text)*Zoom)frag_width = App.width(frag_text) - replacement in text.lua at line 1466
if Cursor1.line-Screen_top1.line+1 + num_newlines > App.screen.height/math.floor(15*Zoom) thenif Cursor1.line-Screen_top1.line+1 + num_newlines > App.screen.height/Line_height then - replacement in text.lua at line 1474
--? 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 - replacement in text.lua at line 1589
local scroll_down = (Cursor_y + math.floor(15*Zoom)) > App.screen.heightlocal scroll_down = (Cursor_y + Line_height) > App.screen.height - replacement in text.lua at line 1604
local y = App.screen.height - math.floor(15*Zoom)local y = App.screen.height - Line_height - replacement in text.lua at line 1609
y = y - math.floor(15*Zoom)y = y - Line_height - replacement in text.lua at line 1832
--? print(y, App.screen.height, App.screen.height-math.floor(15*Zoom))if y > App.screen.height - math.floor(15*Zoom) then--? print(y, App.screen.height, App.screen.height-Line_height)if y > App.screen.height - Line_height then - replacement in text.lua at line 1843
local y = App.screen.height - math.floor(15*Zoom)local y = App.screen.height - Line_height - replacement in text.lua at line 1849
local h = math.floor(15*Zoom)local h = Line_height - replacement in text.lua at line 1877
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 - replacement in text.lua at line 1893
local nexty = y + math.floor(15*Zoom)local nexty = y + Line_height - replacement in text.lua at line 2000
return math.floor(App.width(text_before)*Zoom)return App.width(text_before) - replacement in text.lua at line 2085
local frag_width = math.floor(App.width(frag_text)*Zoom)local frag_width = App.width(frag_text) - edit in text.lua at line 2098
endendfunction Text.redraw_all()for _,line in ipairs(Lines) doline.fragments = nilline.screen_line_starting_pos = nil - replacement in main.lua at line 64
Zoom = 1.5Font_height = 14Line_height = 15 - replacement in main.lua at line 142
if y + math.floor(15*Zoom) > App.screen.height then break endif y + Line_height > App.screen.height then break end - replacement in main.lua at line 162
y = y + math.floor(15*Zoom) -- text heighty = y + Line_height - replacement in main.lua at line 172[8.213]→[8.56:108](∅→∅),[8.337]→[8.56:108](∅→∅),[8.407]→[8.56:108](∅→∅),[8.675]→[8.56:108](∅→∅),[8.3452]→[8.56:108](∅→∅),[8.328]→[8.56:108](∅→∅)
y = y + math.floor(15*Zoom) -- text heighty = y + Line_height - edit in main.lua at line 257
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 - replacement in help.lua at line 4[8.6732]→[8.6732:6794](∅→∅),[8.6794]→[8.313:343](∅→∅),[8.343]→[8.6810:6915](∅→∅),[8.6810]→[8.6810:6915](∅→∅),[8.6915]→[8.344:374](∅→∅),[8.374]→[8.6931:7032](∅→∅),[8.6931]→[8.6931:7032](∅→∅),[8.7032]→[2.7:134](∅→∅),[2.134]→[8.946:1069](∅→∅),[8.7032]→[8.946:1069](∅→∅),[8.1069]→[8.375:405](∅→∅),[8.7032]→[8.375:405](∅→∅),[8.405]→[2.135:223](∅→∅),[2.223]→[8.406:436](∅→∅),[8.7145]→[8.406:436](∅→∅),[8.436]→[8.7161:7264](∅→∅),[8.7161]→[8.7161:7264](∅→∅),[8.7264]→[8.437:497](∅→∅)
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 - replacement in help.lua at line 20
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 - replacement in help.lua at line 24
love.graphics.print("* Press 'ctrl+l' to switch to drawing lines", 16+30,y, 0, Zoom)y = y + math.floor(15*Zoom)love.graphics.print("* Press 'ctrl+l' to switch to drawing lines", 16+30,y)y = y + Line_height - replacement in help.lua at line 28
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 - replacement in help.lua at line 32
love.graphics.print("* Press 'ctrl+c' to switch to drawing circles/arcs", 16+30,y, 0, Zoom)y = y + math.floor(15*Zoom)love.graphics.print("* Press 'ctrl+c' to switch to drawing circles/arcs", 16+30,y)y = y + Line_height - replacement in help.lua at line 36
love.graphics.print("* Press 'ctrl+g' to switch to drawing polygons", 16+30,y, 0, Zoom)y = y + math.floor(15*Zoom)love.graphics.print("* Press 'ctrl+g' to switch to drawing polygons", 16+30,y)y = y + Line_height - replacement in help.lua at line 40
love.graphics.print("* Press 'ctrl+r' to switch to drawing rectangles", 16+30,y, 0, Zoom)y = y + math.floor(15*Zoom)love.graphics.print("* Press 'ctrl+r' to switch to drawing rectangles", 16+30,y)y = y + Line_height - replacement in help.lua at line 44
love.graphics.print("* Press 'ctrl+s' to switch to drawing squares", 16+30,y, 0, Zoom)y = y + math.floor(15*Zoom)love.graphics.print("* Press 'ctrl+s' to switch to drawing squares", 16+30,y)y = y + Line_height - replacement in help.lua at line 47[8.8121]→[8.8121:8211](∅→∅),[8.8211]→[8.729:759](∅→∅),[8.759]→[8.8227:8301](∅→∅),[8.8227]→[8.8227:8301](∅→∅),[8.8301]→[8.760:820](∅→∅),[8.820]→[8.8333:8411](∅→∅),[8.8333]→[8.8333:8411](∅→∅),[8.8411]→[8.821:851](∅→∅)
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 - replacement in help.lua at line 61[8.8689]→[8.8689:8792](∅→∅),[8.8792]→[8.852:882](∅→∅),[8.882]→[8.8808:8874](∅→∅),[8.8808]→[8.8808:8874](∅→∅),[8.8874]→[8.883:913](∅→∅)
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 - replacement in help.lua at line 66
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 - replacement in help.lua at line 69
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 - replacement in help.lua at line 73[8.9347]→[8.9347:9450](∅→∅),[8.9450]→[8.980:1014](∅→∅),[8.1014]→[8.9470:9561](∅→∅),[8.9470]→[8.9470:9561](∅→∅)
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) - replacement in help.lua at line 77
love.graphics.print('* Release the mouse button to finish drawing the arc', 16+30,y, 0, Zoom)love.graphics.print('* Release the mouse button to finish drawing the arc', 16+30,y) - replacement in help.lua at line 79
y = y + math.floor(15*Zoom)y = y + Line_height - replacement in help.lua at line 81[8.9744]→[8.9744:9846](∅→∅),[8.9846]→[8.1048:1080](∅→∅),[8.1080]→[8.9864:9952](∅→∅),[8.9864]→[8.9864:9952](∅→∅),[8.9952]→[8.1081:1113](∅→∅)
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 - replacement in help.lua at line 86
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 - replacement in help.lua at line 90
love.graphics.print("* Press 'l' to switch to drawing lines", 16+30,y, 0, Zoom)y = y + math.floor(15*Zoom)love.graphics.print("* Press 'l' to switch to drawing lines", 16+30,y)y = y + Line_height - replacement in help.lua at line 94
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 - replacement in help.lua at line 98
love.graphics.print("* Press 'c' to switch to drawing circles/arcs", 16+30,y, 0, Zoom)y = y + math.floor(15*Zoom)love.graphics.print("* Press 'c' to switch to drawing circles/arcs", 16+30,y)y = y + Line_height - replacement in help.lua at line 102
love.graphics.print("* Press 'g' to switch to drawing polygons", 16+30,y, 0, Zoom)y = y + math.floor(15*Zoom)love.graphics.print("* Press 'g' to switch to drawing polygons", 16+30,y)y = y + Line_height - replacement in help.lua at line 106
love.graphics.print("* Press 'g' to switch to drawing rectangles", 16+30,y, 0, Zoom)y = y + math.floor(15*Zoom)love.graphics.print("* Press 'g' to switch to drawing rectangles", 16+30,y)y = y + Line_height - replacement in help.lua at line 110
love.graphics.print("* Press 'g' to switch to drawing squares", 16+30,y, 0, Zoom)y = y + math.floor(15*Zoom)love.graphics.print("* Press 'g' to switch to drawing squares", 16+30,y)y = y + Line_height - replacement in drawing.lua at line 52
love.graphics.print(p.name, x,y, 0, Zoom)love.graphics.print(p.name, x,y) - replacement in drawing.lua at line 63
love.graphics.rectangle('fill', x,y, math.floor(App.width(name_text)*Zoom), math.floor(15*Zoom))love.graphics.rectangle('fill', x,y, App.width(name_text), Line_height) - replacement in drawing.lua at line 358[8.5258]→[8.5258:5283](∅→∅),[8.5283]→[8.717:750](∅→∅),[8.750]→[8.5322:5342](∅→∅),[8.5322]→[8.5322:5342](∅→∅),[8.5342]→[8.751:784](∅→∅),[8.784]→[8.5381:5410](∅→∅),[8.5381]→[8.5381:5410](∅→∅),[8.5410]→[8.785:818](∅→∅),[8.818]→[8.5449:5469](∅→∅),[8.5449]→[8.5449:5469](∅→∅),[8.5469]→[8.819:852](∅→∅),[8.852]→[8.5508:5537](∅→∅),[8.5508]→[8.5508:5537](∅→∅),[8.5537]→[8.853:886](∅→∅),[8.886]→[8.5576:5591](∅→∅),[8.5576]→[8.5576:5591](∅→∅),[8.5591]→[8.887:920](∅→∅),[8.920]→[8.5760:5820](∅→∅),[8.5760]→[8.5760:5820](∅→∅)
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') thenif chord == 'C-f' and not love.mouse.isDown('1') then