start passing in Editor_state explicitly

[?]
Jul 12, 2022, 10:18 PM
LNUHQOGHIOFGJXNGA3DZLYEASLYYDGLN2I3EDZY5ANASQAHCG3YQC

Dependencies

  • [2] UH4YWHW5 button framework is at the app level
  • [3] LF7BWEG4 group all editor globals
  • [4] J2SVGR2E experiment: blinking cursor
  • [5] 7CLGG7J2 test: autosave after any shape
  • [6] ZZ2B5RPQ extract variables for drawing padding
  • [7] Z4XRNDTR find text
  • [8] 5FW7YOFT highlight selection while dragging
  • [9] ZLJGZYQG select text with shift + mouseclick
  • [10] Y2ZIPXEM new test
  • [11] T7SJSJIH test: undo naming a point
  • [12] VIU2FBNV make sure to save right when quitting
  • [13] LAW2O3NW extract variable Margin_left
  • [14] 4WAFGF4Z selection bugfix
  • [15] MYC7XR5Q bugfix: lines that aren't drawn from the start
  • [16] 2LC3BM2N support other whitespace chars in word movements
  • [17] HPVT467W initialize contains test state
  • [18] JRLBUB6L more intuitive point delete from polygons
  • [19] GJLOKCYK bugfix: clicking past end of screen line
  • [20] VG75U7IM bugfix: typing should delete highlighted text
  • [21] CUIV2LE5 some typos
  • [22] 4VKEE43Z bugfix
  • [23] ZNLTRNNK highlight another global
  • [24] AVLAYODP much simpler
  • [25] Y4VYNEGF test: autosave after name/move/delete of point
  • [26] KMRJOSLY bugfix: delete selection before pasting
  • [27] DGK5BPVI bugfix: UTF-8 in compute_fragments
  • [28] 7EQLPB3O bugfix: don't delete selection when moving cursor
  • [29] S2YQBEYC snapshot: test for a new regression
  • [30] CIQN2MDE bugfix: typing a capital letter deletes selection
  • [31] H3ECRBXF bugfix: clicking on empty lines
  • [32] V3EABA35 skip multiple consecutive whitespace
  • [33] LYN3L74W correct commit f3abc2cbf2
  • [34] C45WCXJ2 keep drawings within the line width slider as well
  • [35] M6TH7VSZ rip out notion of Line_width
  • [36] CRYGI3LR more drawing tests
  • [37] 5DOTWNVM right margin
  • [38] AVTNUQYR basic test-enabled framework
  • [39] LXTTOB33 extract a couple of files
  • [40] OTIBCAUJ love2d scaffold
  • [41] 3QQZ7W4E bring couple more globals back to the app level
  • [42] OAHNWDYG .
  • [43] T3B4NLV3 include a unit test
  • [44] K2X6G75Z start writing some tests for drawings
  • [45] CVSRHMJ2 experiment: slightly adaptive scrolling
  • [46] QKAMUWSB another bugfix in scrolling while inserting text
  • [47] FFBIY74N bugfix: 'escape' to cancel a stroke
  • [48] KAUD3YIK tests: deleting points/shapes
  • [49] WAR3HXHT test both ways of selecting text with mouse
  • [50] JCSLDGAH beginnings of support for multiple shapes
  • [51] 6VXO3ZL3 just keep the cursor visible after any input events
  • [52] EMHRPJ3R no, that's not right
  • [53] RT6EV6OP delegate update events to drawings
  • [54] KOTI3MFG bugfix in previous commit
  • [55] DSLD74DK lots more tests
  • [56] 7M7LS7I2 start saving some settings to disk on quit
  • [57] NX3DDSCZ fix a variable name
  • [58] HRWN5V6J Devine's suggestion to try to live with just freehand
  • [59] 4J2L6JMR bugfix: deleting a selection spanning pages
  • [60] BYG5CEMV support for naming points
  • [61] IWYLK45K clicking to the right of a line within line width
  • [62] AM42E4Y6 avoid redundant writes on exit
  • [63] 7DYUAOI6 test: undo moving point
  • [64] NZKYPBSK check for scroll when just typing
  • [65] K464QQR4 more defensive resize handling
  • [66] PX7DDEMO autosave slightly less aggressively
  • [67] HTWAM4NZ bugfix: scrolling in left/right movements
  • [68] 2L5MEZV3 experiment: new edit namespace
  • [69] 42LVB4DE test: naming a point
  • [70] 4AXV2HG4 all pending manual tests done!
  • [71] 4KC7I3E2 make colors easier to edit
  • [72] RMKMPFT5 fix a corner case when selecting text
  • [73] L6XA5EY2 test: moving a point
  • [74] OWK3U6VD tests for drawing polygons
  • [75] KVHUFUFV reorg
  • [76] 2JLVAYHB start decoupling editor tests from App
  • [77] NUZFHX6I flesh out some tests for word movements

Change contents

  • replacement in text_tests.lua at line 7
    [3.1226][4.2:16](),[4.49][4.2:16]()
    edit.draw()
    [3.1140]
    [3.1227]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 19
    [3.1746][4.17:31](),[4.97][4.17:31]()
    edit.draw()
    [3.1660]
    [3.1747]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 43
    [3.2441][4.32:46](),[4.193][4.32:46]()
    edit.draw()
    [3.2355]
    [4.162]
    edit.draw(Editor_state)
  • edit in text_tests.lua at line 62
    [4.64]
    [3.2725]
    App.screen.init{width=120, height=60}
  • replacement in text_tests.lua at line 65
    [3.2891][4.47:61](),[4.205][4.47:61]()
    edit.draw()
    [3.2805]
    [4.218]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 75
    [3.3121][4.62:76](),[4.505][4.62:76]()
    edit.draw()
    [3.3035]
    [4.518]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 85
    [3.3361][4.77:91](),[4.844][4.77:91]()
    edit.draw()
    [3.3275]
    [4.857]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 96
    [3.3748][4.92:106](),[4.1314][4.92:106]()
    edit.draw()
    [3.3662]
    [4.1327]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 107
    [3.4080][4.107:121](),[4.1726][4.107:121]()
    edit.draw()
    [3.3994]
    [4.1739]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 117
    [3.4359][4.122:136](),[4.2117][4.122:136]()
    edit.draw()
    [3.4273]
    [4.2130]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 127
    [3.4648][4.137:151](),[4.2500][4.137:151]()
    edit.draw()
    [3.4562]
    [4.2513]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 137
    [3.4924][4.152:166](),[4.281][4.152:166]()
    edit.draw()
    [3.4838]
    [4.294]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 147
    [3.5214][4.167:181](),[4.300][4.167:181]()
    edit.draw()
    [3.5128]
    [4.313]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 157
    [3.5485][4.182:196](),[4.2883][4.182:196]()
    edit.draw()
    [3.5399]
    [4.2896]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 168
    [3.5851][4.197:211](),[4.3330][4.197:211]()
    edit.draw()
    [3.5765]
    [4.3343]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 178
    [3.6130][4.212:226](),[4.3696][4.212:226]()
    edit.draw()
    [3.6044]
    [4.3709]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 188
    [3.6406][4.227:241](),[4.670][4.227:241]()
    edit.draw()
    [3.6320]
    [4.683]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 198
    [3.6692][4.242:256](),[4.711][4.242:256]()
    edit.draw()
    [3.6606]
    [4.724]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 208
    [3.6959][4.257:271](),[4.4068][4.257:271]()
    edit.draw()
    [3.6873]
    [4.4081]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 223
    [4.329][4.272:286]()
    edit.draw()
    [4.329]
    [3.7401]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 239
    [4.383][4.287:301]()
    edit.draw()
    [4.383]
    [3.7941]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 252
    [3.8381][4.302:316](),[4.346][4.302:316]()
    edit.draw()
    [3.8381]
    [3.8382]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 268
    [3.8755][4.317:331](),[4.883][4.317:331]()
    edit.draw()
    [3.8755]
    [3.8756]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 284
    [3.9128][4.332:346](),[4.1455][4.332:346]()
    edit.draw()
    [3.9128]
    [3.9129]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 301
    [3.9503][4.347:361](),[4.2125][4.347:361]()
    edit.draw()
    [3.9503]
    [3.9504]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 318
    [3.9917][4.362:376](),[4.404][4.362:376]()
    edit.draw()
    [3.9917]
    [3.9918]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 336
    [3.10286][4.377:391](),[4.329][4.377:391]()
    edit.draw()
    [3.10286]
    [3.10287]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 358
    [3.10831][4.392:406](),[4.435][4.392:406]()
    edit.draw()
    [3.10831]
    [3.10832]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 378
    [3.11418][4.407:421](),[4.1229][4.407:421]()
    edit.draw()
    [3.11418]
    [3.11419]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 401
    [3.12004][4.422:436](),[4.430][4.422:436]()
    edit.draw()
    [3.12004]
    [3.12005]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 425
    [3.12594][4.437:451](),[4.505][4.437:451]()
    edit.draw()
    [3.12594]
    [3.12595]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 443
    [3.13018][4.452:466](),[4.267][4.452:466]()
    edit.draw()
    [3.13018]
    [4.280]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 465
    [3.13628][4.467:481](),[4.388][4.467:481]()
    edit.draw()
    [3.13628]
    [4.401]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 482
    [3.14133][4.482:496](),[4.335][4.482:496]()
    edit.draw()
    [3.14133]
    [4.348]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 498
    [3.14508][4.497:511](),[4.370][4.497:511]()
    edit.draw()
    [3.14508]
    [4.383]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 519
    [3.14995][4.512:526](),[4.347][4.512:526]()
    edit.draw()
    [3.14995]
    [4.360]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 536
    [3.15369][4.527:541](),[4.302][4.527:541]()
    edit.draw()
    [3.15369]
    [4.315]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 553
    [3.15736][4.542:556](),[4.846][4.542:556]()
    edit.draw()
    [3.15736]
    [4.859]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 571
    [3.16093][4.557:571](),[4.327][4.557:571]()
    edit.draw()
    [3.16093]
    [3.16094]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 594
    [3.16691][4.572:586](),[4.2727][4.572:586]()
    edit.draw()
    [3.16691]
    [4.2727]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 615
    [3.17134][4.587:601](),[4.3517][4.587:601]()
    edit.draw()
    [3.17134]
    [3.17135]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 659
    [3.18618][4.602:616](),[4.4709][4.602:616]()
    edit.draw()
    [3.18618]
    [3.18619]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 688
    [3.19386][3.19386:19456]()
    edit.draw() -- populate line.y for each line in Editor_state.lines
    [3.19386]
    [3.19456]
    edit.draw(Editor_state) -- populate line.y for each line in Editor_state.lines
  • replacement in text_tests.lua at line 704
    [3.20197][3.20197:20267]()
    edit.draw() -- populate line.y for each line in Editor_state.lines
    [3.20197]
    [4.2]
    edit.draw(Editor_state) -- populate line.y for each line in Editor_state.lines
  • replacement in text_tests.lua at line 723
    [3.21125][3.21125:21195]()
    edit.draw() -- populate line.y for each line in Editor_state.lines
    [3.21125]
    [4.581]
    edit.draw(Editor_state) -- populate line.y for each line in Editor_state.lines
  • replacement in text_tests.lua at line 746
    [3.22267][3.22267:22337]()
    edit.draw() -- populate line.y for each line in Editor_state.lines
    [3.22267]
    [4.446]
    edit.draw(Editor_state) -- populate line.y for each line in Editor_state.lines
  • replacement in text_tests.lua at line 775
    [3.23723][4.849:863](),[4.331][4.849:863]()
    edit.draw()
    [3.23723]
    [4.344]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 790
    [4.6555][4.864:878]()
    edit.draw()
    [4.6555]
    [3.24064]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 821
    [4.7946][4.879:893]()
    edit.draw()
    [4.7946]
    [3.24894]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 841
    [3.25425][4.894:908](),[4.8894][4.894:908]()
    edit.draw()
    [3.25425]
    [3.25426]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 870
    [3.26449][4.909:923](),[4.1710][4.909:923]()
    edit.draw()
    [3.26449]
    [3.26450]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 897
    [4.10434][4.924:938]()
    edit.draw()
    [4.10434]
    [3.27182]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 925
    [3.27840][4.939:953](),[4.11712][4.939:953]()
    edit.draw()
    [3.27840]
    [3.27841]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 952
    [3.28590][4.954:968](),[4.13080][4.954:968]()
    edit.draw()
    [3.28590]
    [3.28591]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 980
    [3.29464][4.969:983](),[4.14706][4.969:983]()
    edit.draw()
    [3.29464]
    [3.29465]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 1007
    [3.30422][4.984:998](),[4.16443][4.984:998]()
    edit.draw()
    [3.30422]
    [3.30423]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 1040
    [3.31681][4.999:1013](),[4.18555][4.999:1013]()
    edit.draw()
    [3.31681]
    [3.31682]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 1068
    [3.32336][4.1014:1028](),[4.19774][4.1014:1028]()
    edit.draw()
    [3.32336]
    [3.32337]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 1095
    [3.33078][4.1029:1043](),[4.21088][4.1029:1043]()
    edit.draw()
    [3.33078]
    [3.33079]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 1122
    [3.34012][4.1044:1058](),[4.22528][4.1044:1058]()
    edit.draw()
    [3.34012]
    [3.34013]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 1151
    [3.34926][4.1059:1073](),[4.24129][4.1059:1073]()
    edit.draw()
    [3.34926]
    [3.34927]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 1178
    [4.25306][4.1074:1088]()
    edit.draw()
    [4.25306]
    [3.35598]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 1201
    [3.36217][4.1089:1103](),[4.26235][4.1089:1103]()
    edit.draw()
    [3.36217]
    [3.36218]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 1229
    [3.37150][4.1104:1118](),[4.27714][4.1104:1118]()
    edit.draw()
    [3.37150]
    [3.37151]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 1255
    [3.37982][4.1119:1133](),[4.29109][4.1119:1133]()
    edit.draw()
    [3.37982]
    [3.37983]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 1283
    [3.38826][4.1134:1148](),[4.30542][4.1134:1148]()
    edit.draw()
    [3.38826]
    [3.38827]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 1305
    [3.39626][4.1149:1163](),[4.516][4.1149:1163]()
    edit.draw()
    [3.39626]
    [4.529]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 1323
    [3.40403][4.1164:1178](),[4.380][4.1164:1178]()
    edit.draw()
    [3.40403]
    [3.40404]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 1354
    [3.41255][4.1179:1193](),[4.432][4.1179:1193]()
    edit.draw()
    [3.41255]
    [3.41256]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 1382
    [3.42186][4.1194:1208](),[4.1936][4.1194:1208]()
    edit.draw()
    [3.42186]
    [3.42187]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 1411
    [3.43056][4.1209:1223](),[4.3502][4.1209:1223]()
    edit.draw()
    [3.43056]
    [3.43057]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 1439
    [3.43963][4.1224:1238](),[4.4922][4.1224:1238]()
    edit.draw()
    [3.43963]
    [3.43964]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 1467
    [3.44748][4.1239:1253](),[4.31781][4.1239:1253]()
    edit.draw()
    [3.44748]
    [3.44749]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 1500
    [3.45611][4.1254:1268](),[4.33640][4.1254:1268]()
    edit.draw()
    [3.45611]
    [3.45612]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 1527
    [3.46337][4.1269:1283](),[4.34891][4.1269:1283]()
    edit.draw()
    [3.46337]
    [3.46338]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 1656
    [4.40830][4.1284:1298]()
    edit.draw()
    [4.40830]
    [4.40830]
    edit.draw(Editor_state)
  • replacement in text_tests.lua at line 1727
    [3.53740][4.1299:1313](),[4.342][4.1299:1313]()
    edit.draw()
    [3.53740]
    [4.355]
    edit.draw(Editor_state)
  • replacement in main.lua at line 152
    [2.70][4.145:159](),[4.1373][4.145:159]()
    edit.draw()
    [2.70]
    [4.416]
    edit.draw(Editor_state)
  • replacement in main.lua at line 165
    [4.327][4.160:178](),[4.1398][4.160:178]()
    edit.update(dt)
    [4.327]
    [4.3]
    edit.update(Editor_state, dt)
  • replacement in main.lua at line 169
    [4.66][4.179:193]()
    edit.quit()
    [4.66]
    [4.48]
    edit.quit(Editor_state)
  • replacement in main.lua at line 187
    [4.402][4.194:241](),[4.1444][4.194:241]()
    return edit.mouse_pressed(x,y, mouse_button)
    [4.402]
    [4.446]
    return edit.mouse_pressed(Editor_state, x,y, mouse_button)
  • replacement in main.lua at line 192
    [4.477][4.242:290](),[4.110][4.242:290]()
    return edit.mouse_released(x,y, mouse_button)
    [4.477]
    [4.130]
    return edit.mouse_released(Editor_state, x,y, mouse_button)
  • replacement in main.lua at line 197
    [4.552][4.291:318](),[4.1512][4.291:318]()
    return edit.textinput(t)
    [4.552]
    [4.3116]
    return edit.textinput(Editor_state, t)
  • replacement in main.lua at line 202
    [4.627][4.319:362](),[4.836][4.319:362]()
    return edit.keychord_pressed(chord, key)
    [4.627]
    [4.356]
    return edit.keychord_pressed(Editor_state, chord, key)
  • replacement in main.lua at line 207
    [4.702][4.363:405](),[4.1591][4.363:405]()
    return edit.key_released(key, scancode)
    [4.702]
    [4.327]
    return edit.key_released(Editor_state, key, scancode)
  • replacement in edit.lua at line 117
    [4.3868][4.3868:3889]()
    function edit.draw()
    [4.3868]
    [4.999]
    function edit.draw(State)
  • replacement in edit.lua at line 119
    [4.1023][3.98072:98330]()
    --? print(Editor_state.screen_top1.line, Editor_state.screen_top1.pos, Editor_state.cursor1.line, Editor_state.cursor1.pos)
    assert(Text.le1(Editor_state.screen_top1, Editor_state.cursor1))
    Editor_state.cursor_y = -1
    local y = Editor_state.margin_top
    [4.1023]
    [4.4101]
    --? print(State.screen_top1.line, State.screen_top1.pos, State.cursor1.line, State.cursor1.pos)
    assert(Text.le1(State.screen_top1, State.cursor1))
    State.cursor_y = -1
    local y = State.margin_top
  • replacement in edit.lua at line 124
    [4.4124][3.98331:98451]()
    for line_index = Editor_state.screen_top1.line,#Editor_state.lines do
    local line = Editor_state.lines[line_index]
    [4.4124]
    [4.4205]
    for line_index = State.screen_top1.line,#State.lines do
    local line = State.lines[line_index]
  • replacement in edit.lua at line 127
    [4.4249][3.98452:98573]()
    if y + Editor_state.line_height > App.screen.height then break end
    Editor_state.screen_bottom1.line = line_index
    [4.4249]
    [4.4344]
    if y + State.line_height > App.screen.height then break end
    State.screen_bottom1.line = line_index
  • replacement in edit.lua at line 137
    [4.4668][3.98574:98854]()
    table.insert(Editor_state.lines, line_index, {mode='drawing', y=y, h=256/2, points={}, shapes={}, pending={}})
    if Editor_state.cursor1.line >= line_index then
    Editor_state.cursor1.line = Editor_state.cursor1.line+1
    [4.4668]
    [4.4896]
    table.insert(State.lines, line_index, {mode='drawing', y=y, h=256/2, points={}, shapes={}, pending={}})
    if State.cursor1.line >= line_index then
    State.cursor1.line = State.cursor1.line+1
  • replacement in edit.lua at line 145
    [4.5098][3.98855:99013]()
    if Editor_state.search_term == nil then
    if line_index == Editor_state.cursor1.line then
    Text.draw_cursor(Editor_state.margin_left, y)
    [4.5098]
    [4.5217]
    if State.search_term == nil then
    if line_index == State.cursor1.line then
    Text.draw_cursor(State.margin_left, y)
  • replacement in edit.lua at line 150
    [4.5239][3.99014:99122]()
    Editor_state.screen_bottom1.pos = Editor_state.screen_top1.pos
    y = y + Editor_state.line_height
    [4.5239]
    [4.5308]
    State.screen_bottom1.pos = State.screen_top1.pos
    y = y + State.line_height
  • replacement in edit.lua at line 153
    [4.5347][3.99123:99168]()
    y = y+Editor_state.drawing_padding_top
    [4.5347]
    [4.5379]
    y = y+State.drawing_padding_top
  • replacement in edit.lua at line 156
    [4.5421][3.99169:99244]()
    y = y + Drawing.pixels(line.h) + Editor_state.drawing_padding_bottom
    [4.5421]
    [4.5483]
    y = y + Drawing.pixels(line.h) + State.drawing_padding_bottom
  • replacement in edit.lua at line 160
    [4.5538][3.99245:99356]()
    if line_index == Editor_state.screen_top1.line then
    line.startpos = Editor_state.screen_top1.pos
    [4.5538]
    [4.5623]
    if line_index == State.screen_top1.line then
    line.startpos = State.screen_top1.pos
  • replacement in edit.lua at line 164
    [4.5677][3.99357:99550]()
    y, Editor_state.screen_bottom1.pos = Text.draw(line, line_index, line.starty, Editor_state.margin_left, App.screen.width-Editor_state.margin_right)
    y = y + Editor_state.line_height
    [4.5677]
    [4.5818]
    y, State.screen_bottom1.pos = Text.draw(line, line_index, line.starty, State.margin_left, App.screen.width-State.margin_right)
    y = y + State.line_height
  • replacement in edit.lua at line 169
    [4.5859][3.99551:99635]()
    if Editor_state.cursor_y == -1 then
    Editor_state.cursor_y = App.screen.height
    [4.5859]
    [4.5917]
    if State.cursor_y == -1 then
    State.cursor_y = App.screen.height
  • replacement in edit.lua at line 172
    [4.5923][3.99636:99822]()
    --? print('screen bottom: '..tostring(Editor_state.screen_bottom1.pos)..' in '..tostring(Editor_state.lines[Editor_state.screen_bottom1.line].data))
    if Editor_state.search_term then
    [4.5923]
    [4.6057]
    --? print('screen bottom: '..tostring(State.screen_bottom1.pos)..' in '..tostring(State.lines[State.screen_bottom1.line].data))
    if State.search_term then
  • replacement in edit.lua at line 178
    [4.6095][4.6095:6120]()
    function edit.update(dt)
    [4.6095]
    [4.6332]
    function edit.update(State, dt)
  • replacement in edit.lua at line 180
    [4.6353][3.99823:99992]()
    if Editor_state.next_save and Editor_state.next_save < App.getTime() then
    save_to_disk(Editor_state.lines, Editor_state.filename)
    Editor_state.next_save = nil
    [4.6353]
    [4.6457]
    if State.next_save and State.next_save < App.getTime() then
    save_to_disk(State.lines, State.filename)
    State.next_save = nil
  • replacement in edit.lua at line 192
    [4.6632][4.6632:6653]()
    function edit.quit()
    [4.6632]
    [4.6653]
    function edit.quit(State)
  • replacement in edit.lua at line 194
    [4.6692][3.100148:100241]()
    if Editor_state.next_save then
    save_to_disk(Editor_state.lines, Editor_state.filename)
    [4.6692]
    [4.6746]
    if State.next_save then
    save_to_disk(State.lines, State.filename)
  • replacement in edit.lua at line 199
    [4.6757][4.6757:6804](),[4.6804][3.100242:100368]()
    function edit.mouse_pressed(x,y, mouse_button)
    if Editor_state.search_term then return end
    --? print('press', Editor_state.selection1.line, Editor_state.selection1.pos)
    [4.6757]
    [4.6966]
    function edit.mouse_pressed(State, x,y, mouse_button)
    if State.search_term then return end
    --? print('press', State.selection1.line, State.selection1.pos)
  • replacement in edit.lua at line 204
    [4.7017][3.100369:100424]()
    for line_index,line in ipairs(Editor_state.lines) do
    [4.7017]
    [4.7059]
    for line_index,line in ipairs(State.lines) do
  • replacement in edit.lua at line 206
    [4.7091][3.100425:100533]()
    if Text.in_line(line, x,y, Editor_state.margin_left, App.screen.width-Editor_state.margin_right) then
    [4.7091]
    [4.7173]
    if Text.in_line(line, x,y, State.margin_left, App.screen.width-State.margin_right) then
  • replacement in edit.lua at line 216
    [4.7697][3.100534:100745]()
    Editor_state.old_cursor1 = Editor_state.cursor1
    Editor_state.old_selection1 = Editor_state.selection1
    Editor_state.mousepress_shift = App.shift_down()
    Editor_state.selection1 = {
    [4.7697]
    [4.7830]
    State.old_cursor1 = State.cursor1
    State.old_selection1 = State.selection1
    State.mousepress_shift = App.shift_down()
    State.selection1 = {
  • replacement in edit.lua at line 221
    [4.7859][3.100746:100865]()
    pos=Text.to_pos_on_line(line, x, y, Editor_state.margin_left, App.screen.width-Editor_state.margin_right),
    [4.7859]
    [4.7952]
    pos=Text.to_pos_on_line(line, x, y, State.margin_left, App.screen.width-State.margin_right),
  • replacement in edit.lua at line 223
    [4.7962][3.100866:100956]()
    --? print('selection', Editor_state.selection1.line, Editor_state.selection1.pos)
    [4.7962]
    [4.8026]
    --? print('selection', State.selection1.line, State.selection1.pos)
  • replacement in edit.lua at line 228
    [4.8134][3.100957:101069]()
    Editor_state.lines.current_drawing_index = line_index
    Editor_state.lines.current_drawing = line
    [4.8134]
    [4.8220]
    State.lines.current_drawing_index = line_index
    State.lines.current_drawing = line
  • replacement in edit.lua at line 238
    [4.8364][4.8364:8412](),[4.8412][3.101070:101116]()
    function edit.mouse_released(x,y, mouse_button)
    if Editor_state.search_term then return end
    [4.8364]
    [4.8445]
    function edit.mouse_released(State, x,y, mouse_button)
    if State.search_term then return end
  • replacement in edit.lua at line 241
    [4.8468][3.101117:101162]()
    if Editor_state.lines.current_drawing then
    [4.8468]
    [4.8575]
    if State.lines.current_drawing then
  • replacement in edit.lua at line 245
    [4.8668][3.101163:101270]()
    record_undo_event({before=Drawing.before, after=snapshot(Editor_state.lines.current_drawing_index)})
    [4.8668]
    [4.8762]
    record_undo_event({before=Drawing.before, after=snapshot(State.lines.current_drawing_index)})
  • replacement in edit.lua at line 249
    [4.8804][3.101271:101328]()
    for line_index,line in ipairs(Editor_state.lines) do
    [4.8804]
    [4.8848]
    for line_index,line in ipairs(State.lines) do
  • replacement in edit.lua at line 251
    [4.8882][3.101329:101439]()
    if Text.in_line(line, x,y, Editor_state.margin_left, App.screen.width-Editor_state.margin_right) then
    [4.8882]
    [4.8966]
    if Text.in_line(line, x,y, State.margin_left, App.screen.width-State.margin_right) then
  • replacement in edit.lua at line 253
    [4.9005][3.101440:101475]()
    Editor_state.cursor1 = {
    [4.9005]
    [4.9027]
    State.cursor1 = {
  • replacement in edit.lua at line 255
    [4.9058][3.101476:101597]()
    pos=Text.to_pos_on_line(line, x, y, Editor_state.margin_left, App.screen.width-Editor_state.margin_right),
    [4.9058]
    [4.9153]
    pos=Text.to_pos_on_line(line, x, y, State.margin_left, App.screen.width-State.margin_right),
  • replacement in edit.lua at line 257
    [4.9165][3.101598:101854]()
    --? print('cursor', Editor_state.cursor1.line, Editor_state.cursor1.pos)
    if Editor_state.mousepress_shift then
    if Editor_state.old_selection1.line == nil then
    Editor_state.selection1 = Editor_state.old_cursor1
    [4.9165]
    [4.9343]
    --? print('cursor', State.cursor1.line, State.cursor1.pos)
    if State.mousepress_shift then
    if State.old_selection1.line == nil then
    State.selection1 = State.old_cursor1
  • replacement in edit.lua at line 262
    [4.9360][3.101855:101923]()
    Editor_state.selection1 = Editor_state.old_selection1
    [4.9360]
    [4.9402]
    State.selection1 = State.old_selection1
  • replacement in edit.lua at line 265
    [4.9432][3.101924:102134]()
    Editor_state.old_cursor1, Editor_state.old_selection1, Editor_state.mousepress_shift = nil
    if eq(Editor_state.cursor1, Editor_state.selection1) then
    Editor_state.selection1 = {}
    [4.9432]
    [4.9564]
    State.old_cursor1, State.old_selection1, State.mousepress_shift = nil
    if eq(State.cursor1, State.selection1) then
    State.selection1 = {}
  • replacement in edit.lua at line 273
    [4.9624][3.102135:102222]()
    --? print('selection:', Editor_state.selection1.line, Editor_state.selection1.pos)
    [4.9624]
    [4.9685]
    --? print('selection:', State.selection1.line, State.selection1.pos)
  • replacement in edit.lua at line 277
    [4.9696][4.9696:9723](),[4.9723][3.102223:102442]()
    function edit.textinput(t)
    for _,line in ipairs(Editor_state.lines) do line.y = nil end -- just in case we scroll
    if Editor_state.search_term then
    Editor_state.search_term = Editor_state.search_term..t
    Editor_state.search_text = nil
    [4.9696]
    [4.9952]
    function edit.textinput(State, t)
    for _,line in ipairs(State.lines) do line.y = nil end -- just in case we scroll
    if State.search_term then
    State.search_term = State.search_term..t
    State.search_text = nil
  • replacement in edit.lua at line 283
    [4.9975][3.102443:102626]()
    elseif Editor_state.current_drawing_mode == 'name' then
    local before = snapshot(Editor_state.lines.current_drawing_index)
    local drawing = Editor_state.lines.current_drawing
    [4.9975]
    [4.10119]
    elseif State.current_drawing_mode == 'name' then
    local before = snapshot(State.lines.current_drawing_index)
    local drawing = State.lines.current_drawing
  • replacement in edit.lua at line 288
    [4.10201][3.102627:102724]()
    record_undo_event({before=before, after=snapshot(Editor_state.lines.current_drawing_index)})
    [4.10201]
    [4.10285]
    record_undo_event({before=before, after=snapshot(State.lines.current_drawing_index)})
  • replacement in edit.lua at line 295
    [4.10343][4.10343:10386](),[4.10386][3.102725:102812]()
    function edit.keychord_pressed(chord, key)
    if Editor_state.selection1.line and
    not Editor_state.lines.current_drawing and
    [4.10343]
    [4.10522]
    function edit.keychord_pressed(State, chord, key)
    if State.selection1.line and
    not State.lines.current_drawing and
  • replacement in edit.lua at line 302
    [4.10886][3.102813:102909]()
    Text.delete_selection(Editor_state.margin_left, App.screen.width-Editor_state.margin_right)
    [4.10886]
    [4.10956]
    Text.delete_selection(State.margin_left, App.screen.width-State.margin_right)
  • replacement in edit.lua at line 304
    [4.10962][3.102910:102945]()
    if Editor_state.search_term then
    [4.10962]
    [4.10984]
    if State.search_term then
  • replacement in edit.lua at line 306
    [4.11014][3.102946:103193]()
    Editor_state.search_term = nil
    Editor_state.search_text = nil
    Editor_state.cursor1 = Editor_state.search_backup.cursor
    Editor_state.screen_top1 = Editor_state.search_backup.screen_top
    Editor_state.search_backup = nil
    [4.11014]
    [4.11170]
    State.search_term = nil
    State.search_text = nil
    State.cursor1 = State.search_backup.cursor
    State.screen_top1 = State.search_backup.screen_top
    State.search_backup = nil
  • replacement in edit.lua at line 313
    [4.11296][3.103194:103307]()
    Editor_state.search_term = nil
    Editor_state.search_text = nil
    Editor_state.search_backup = nil
    [4.11296]
    [4.11370]
    State.search_term = nil
    State.search_text = nil
    State.search_backup = nil
  • replacement in edit.lua at line 317
    [4.11407][3.103308:103555]()
    local len = utf8.len(Editor_state.search_term)
    local byte_offset = Text.offset(Editor_state.search_term, len)
    Editor_state.search_term = string.sub(Editor_state.search_term, 1, byte_offset-1)
    Editor_state.search_text = nil
    [4.11407]
    [4.11589]
    local len = utf8.len(State.search_term)
    local byte_offset = Text.offset(State.search_term, len)
    State.search_term = string.sub(State.search_term, 1, byte_offset-1)
    State.search_text = nil
  • replacement in edit.lua at line 322
    [4.11621][3.103556:103616]()
    Editor_state.cursor1.pos = Editor_state.cursor1.pos+1
    [4.11621]
    [4.11655]
    State.cursor1.pos = State.cursor1.pos+1
  • replacement in edit.lua at line 329
    [4.11787][3.103617:103883]()
    Editor_state.search_term = ''
    Editor_state.search_backup = {cursor={line=Editor_state.cursor1.line, pos=Editor_state.cursor1.pos}, screen_top={line=Editor_state.screen_top1.line, pos=Editor_state.screen_top1.pos}}
    assert(Editor_state.search_text == nil)
    [4.11787]
    [4.11962]
    State.search_term = ''
    State.search_backup = {cursor={line=State.cursor1.line, pos=State.cursor1.pos}, screen_top={line=State.screen_top1.line, pos=State.screen_top1.pos}}
    assert(State.search_text == nil)
  • replacement in edit.lua at line 333
    [4.11991][3.103884:103941]()
    initialize_font_settings(Editor_state.font_height+2)
    [4.11991]
    [4.12035]
    initialize_font_settings(State.font_height+2)
  • replacement in edit.lua at line 336
    [4.12086][3.103942:103999]()
    initialize_font_settings(Editor_state.font_height-2)
    [4.12086]
    [4.12130]
    initialize_font_settings(State.font_height-2)
  • replacement in edit.lua at line 342
    [4.12265][3.104000:104092]()
    for _,line in ipairs(Editor_state.lines) do line.y = nil end -- just in case we scroll
    [4.12265]
    [4.12344]
    for _,line in ipairs(State.lines) do line.y = nil end -- just in case we scroll
  • replacement in edit.lua at line 346
    [4.12424][3.104093:104316]()
    Editor_state.screen_top1 = deepcopy(src.screen_top)
    Editor_state.cursor1 = deepcopy(src.cursor)
    Editor_state.selection1 = deepcopy(src.selection)
    patch(Editor_state.lines, event.after, event.before)
    [4.12424]
    [4.12595]
    State.screen_top1 = deepcopy(src.screen_top)
    State.cursor1 = deepcopy(src.cursor)
    State.selection1 = deepcopy(src.selection)
    patch(State.lines, event.after, event.before)
  • replacement in edit.lua at line 354
    [4.12746][3.104317:104409]()
    for _,line in ipairs(Editor_state.lines) do line.y = nil end -- just in case we scroll
    [4.12746]
    [4.12825]
    for _,line in ipairs(State.lines) do line.y = nil end -- just in case we scroll
  • replacement in edit.lua at line 358
    [4.12904][3.104410:104633]()
    Editor_state.screen_top1 = deepcopy(src.screen_top)
    Editor_state.cursor1 = deepcopy(src.cursor)
    Editor_state.selection1 = deepcopy(src.selection)
    patch(Editor_state.lines, event.before, event.after)
    [4.12904]
    [4.13075]
    State.screen_top1 = deepcopy(src.screen_top)
    State.cursor1 = deepcopy(src.cursor)
    State.selection1 = deepcopy(src.selection)
    patch(State.lines, event.before, event.after)
  • replacement in edit.lua at line 367
    [4.13241][3.104634:104726]()
    for _,line in ipairs(Editor_state.lines) do line.y = nil end -- just in case we scroll
    [4.13241]
    [4.13320]
    for _,line in ipairs(State.lines) do line.y = nil end -- just in case we scroll
  • replacement in edit.lua at line 373
    [4.13432][3.104727:104922]()
    for _,line in ipairs(Editor_state.lines) do line.y = nil end -- just in case we scroll
    local s = Text.cut_selection(Editor_state.margin_left, App.screen.width-Editor_state.margin_right)
    [4.13432]
    [4.13588]
    for _,line in ipairs(State.lines) do line.y = nil end -- just in case we scroll
    local s = Text.cut_selection(State.margin_left, App.screen.width-State.margin_right)
  • replacement in edit.lua at line 380
    [4.13689][3.104923:105015]()
    for _,line in ipairs(Editor_state.lines) do line.y = nil end -- just in case we scroll
    [4.13689]
    [4.13768]
    for _,line in ipairs(State.lines) do line.y = nil end -- just in case we scroll
  • replacement in edit.lua at line 383
    [4.13904][3.105016:105066]()
    local before_line = Editor_state.cursor1.line
    [4.13904]
    [4.13941]
    local before_line = State.cursor1.line
  • replacement in edit.lua at line 395
    [4.14272][3.105067:105181]()
    Text.snap_cursor_to_bottom_of_screen(Editor_state.margin_left, App.screen.height-Editor_state.margin_right)
    [4.14272]
    [4.14360]
    Text.snap_cursor_to_bottom_of_screen(State.margin_left, App.screen.height-State.margin_right)
  • replacement in edit.lua at line 398
    [4.14388][3.105182:105277]()
    record_undo_event({before=before, after=snapshot(before_line, Editor_state.cursor1.line)})
    [4.14388]
    [4.14470]
    record_undo_event({before=before, after=snapshot(before_line, State.cursor1.line)})
  • replacement in edit.lua at line 410
    [4.14922][3.105278:105326]()
    for _,line in ipairs(Editor_state.lines) do
    [4.14922]
    [4.14957]
    for _,line in ipairs(State.lines) do
  • replacement in edit.lua at line 415
    [4.15043][3.105327:105385]()
    elseif Editor_state.current_drawing_mode == 'name' then
    [4.15043]
    [4.15088]
    elseif State.current_drawing_mode == 'name' then
  • replacement in edit.lua at line 417
    [4.15118][3.105386:105510]()
    Editor_state.current_drawing_mode = Editor_state.previous_drawing_mode
    Editor_state.previous_drawing_mode = nil
    [4.15118]
    [4.15203]
    State.current_drawing_mode = State.previous_drawing_mode
    State.previous_drawing_mode = nil
  • replacement in edit.lua at line 420
    [4.15212][3.105511:105640]()
    local before = snapshot(Editor_state.lines.current_drawing_index)
    local drawing = Editor_state.lines.current_drawing
    [4.15212]
    [4.15315]
    local before = snapshot(State.lines.current_drawing_index)
    local drawing = State.lines.current_drawing
  • replacement in edit.lua at line 425
    [4.15429][3.105641:105742]()
    record_undo_event({before=before, after=snapshot(Editor_state.lines.current_drawing_index)})
    [4.15429]
    [4.15517]
    record_undo_event({before=before, after=snapshot(State.lines.current_drawing_index)})
  • replacement in edit.lua at line 431
    [4.15745][3.105743:105844]()
    record_undo_event({before=before, after=snapshot(Editor_state.lines.current_drawing_index)})
    [4.15745]
    [4.15833]
    record_undo_event({before=before, after=snapshot(State.lines.current_drawing_index)})
  • replacement in edit.lua at line 436
    [4.15878][3.105845:105937]()
    for _,line in ipairs(Editor_state.lines) do line.y = nil end -- just in case we scroll
    [4.15878]
    [4.15957]
    for _,line in ipairs(State.lines) do line.y = nil end -- just in case we scroll
  • replacement in edit.lua at line 441
    [4.16001][4.16001:16043]()
    function edit.key_released(key, scancode)
    [4.16001]
    [4.16043]
    function edit.key_released(State, key, scancode)
  • replacement in drawing_tests.lua at line 10
    [3.106007][4.1328:1342](),[4.228][4.1328:1342]()
    edit.draw()
    [3.106007]
    [4.241]
    edit.draw(Editor_state)
  • replacement in drawing_tests.lua at line 30
    [3.106310][4.1343:1357](),[4.541][4.1343:1357]()
    edit.draw()
    [3.106310]
    [3.106311]
    edit.draw(Editor_state)
  • replacement in drawing_tests.lua at line 73
    [3.107355][4.1358:1372](),[4.506][4.1358:1372]()
    edit.draw()
    [3.107355]
    [3.107356]
    edit.draw(Editor_state)
  • replacement in drawing_tests.lua at line 100
    [3.108348][4.1373:1387](),[4.2104][4.1373:1387]()
    edit.draw()
    [3.108348]
    [3.108349]
    edit.draw(Editor_state)
  • replacement in drawing_tests.lua at line 128
    [3.109460][4.1388:1402](),[4.377][4.1388:1402]()
    edit.draw()
    [3.109460]
    [3.109461]
    edit.draw(Editor_state)
  • replacement in drawing_tests.lua at line 149
    [3.110419][4.1403:1417](),[4.3688][4.1403:1417]()
    edit.draw()
    [3.110419]
    [4.3701]
    edit.draw(Editor_state)
  • replacement in drawing_tests.lua at line 164
    [3.110875][4.1418:1432](),[4.4465][4.1418:1432]()
    edit.draw()
    [3.110875]
    [3.110876]
    edit.draw(Editor_state)
  • replacement in drawing_tests.lua at line 191
    [3.112012][4.1433:1447](),[4.6096][4.1433:1447]()
    edit.draw()
    [3.112012]
    [3.112013]
    edit.draw(Editor_state)
  • replacement in drawing_tests.lua at line 220
    [3.113028][4.1448:1462](),[4.944][4.1448:1462]()
    edit.draw()
    [3.113028]
    [3.113029]
    edit.draw(Editor_state)
  • replacement in drawing_tests.lua at line 257
    [3.114146][4.1463:1477](),[4.2880][4.1463:1477]()
    edit.draw()
    [3.114146]
    [3.114147]
    edit.draw(Editor_state)
  • replacement in drawing_tests.lua at line 300
    [3.115386][4.1478:1492](),[4.5264][4.1478:1492]()
    edit.draw()
    [3.115386]
    [3.115387]
    edit.draw(Editor_state)
  • replacement in drawing_tests.lua at line 335
    [3.116581][4.1493:1507](),[4.7362][4.1493:1507]()
    edit.draw()
    [3.116581]
    [3.116582]
    edit.draw(Editor_state)
  • replacement in drawing_tests.lua at line 379
    [3.117880][4.1508:1522](),[4.430][4.1508:1522]()
    edit.draw()
    [3.117880]
    [4.443]
    edit.draw(Editor_state)
  • replacement in drawing_tests.lua at line 421
    [3.118786][4.1523:1537](),[4.300][4.1523:1537]()
    edit.draw()
    [3.118786]
    [3.118787]
    edit.draw(Editor_state)
  • replacement in drawing_tests.lua at line 443
    [4.457][4.1538:1552]()
    edit.draw()
    [4.457]
    [4.1137]
    edit.draw(Editor_state)
  • replacement in drawing_tests.lua at line 477
    [3.120007][4.1553:1567](),[4.366][4.1553:1567]()
    edit.draw()
    [3.120007]
    [3.120008]
    edit.draw(Editor_state)
  • replacement in drawing_tests.lua at line 484
    [4.854][4.1568:1582]()
    edit.draw()
    [4.854]
    [4.867]
    edit.draw(Editor_state)
  • replacement in drawing_tests.lua at line 502
    [3.120743][4.1583:1597](),[4.346][4.1583:1597]()
    edit.draw()
    [3.120743]
    [3.120744]
    edit.draw(Editor_state)
  • replacement in drawing_tests.lua at line 530
    [3.121734][4.1598:1612](),[4.1656][4.1598:1612]()
    edit.draw()
    [3.121734]
    [3.121735]
    edit.draw(Editor_state)
  • replacement in drawing_tests.lua at line 553
    [3.122579][4.1613:1627](),[4.3032][4.1613:1627]()
    edit.draw()
    [3.122579]
    [4.3045]
    edit.draw(Editor_state)
  • replacement in drawing_tests.lua at line 583
    [3.123397][4.1628:1642](),[4.4545][4.1628:1642]()
    edit.draw()
    [3.123397]
    [4.4558]
    edit.draw(Editor_state)
  • replacement in drawing_tests.lua at line 610
    [3.124139][4.1643:1657](),[4.399][4.1643:1657]()
    edit.draw()
    [3.124139]
    [4.412]
    edit.draw(Editor_state)
  • replacement in drawing_tests.lua at line 655
    [3.125175][4.1658:1672](),[4.325][4.1658:1672]()
    edit.draw()
    [3.125175]
    [3.125176]
    edit.draw(Editor_state)
  • replacement in drawing_tests.lua at line 704
    [3.126262][4.1673:1687](),[4.397][4.1673:1687]()
    edit.draw()
    [3.126262]
    [3.126263]
    edit.draw(Editor_state)