move drawing.starty into line cache
[?]
Jul 21, 2022, 12:06 AM
3OTESDW65UJ2W5RIXA6FNKRSD7TBCZTCCCEAYOQMEVGYZ6RCU34QCDependencies
- [2]
MTJEVRJRadd state arg to a few functions - [3]
FZCKGO2Imake local functions look different - [4]
QFC3WRDZchunking by simple local variable - [5]
BXJMGTV2hoist couple of variables out - [6]
TGZAJUEFbring back a set of constants - [7]
SRVDX4I5local var - [8]
R3XGABERchunk up some long lines - [9]
NHA7RUFImove current mode indicator slightly - [10]
5DOTWNVMright margin - [11]
JAXPXLEBset current_drawing_index with current_drawing - [12]
AH744RFRshow when we're naming a point - [13]
UHB4GARJleft/right margin -> left/right coordinates - [14]
OWK3U6VDtests for drawing polygons - [15]
7JH2ZT3Fadd state arg to Drawing.draw - [16]
VHQCNMARseveral more modules - [17]
NYQ7HD4Dmove - [18]
6DE7RBZ6move mouse_released events to Drawing - [19]
K2X6G75Zstart writing some tests for drawings - [20]
JFFUF5ALoverride mouse state lookups in tests - [21]
PJEQCTBLadd state arg to Drawing.update - [22]
W2CQ7YNGmore chunks, same approach - [23]
LNUHQOGHstart passing in Editor_state explicitly - [24]
XNFTJHC4split keyboard handling between Text and Drawing - [25]
EHSUSZMKmore idiomatic variable names - [26]
LF7BWEG4group all editor globals - [27]
HYEAFRZ2split mouse_pressed events between Text and Drawing - [28]
DRFE3B3Zmouse buttons are integers, not strings - [29]
YJGADSGKdelete unused arg - [30]
LYN3L74Wcorrect commit f3abc2cbf2 - [31]
YCDYGEZUinclude drawing index in a few places - [32]
65HNIAOSmake freehand drawings smoother - [33]
FFBIY74Nbugfix: 'escape' to cancel a stroke - [34]
DLQMM265scroll past first page - [35]
LAW2O3NWextract variable Margin_left - [36]
4KC7I3E2make colors easier to edit - [37]
WTDKUACNrectangle and square shapes - [38]
RT6EV6OPdelegate update events to drawings - [39]
2JLVAYHBstart decoupling editor tests from App - [40]
2L5MEZV3experiment: new edit namespace - [41]
DLQAEAC7add state arg to Drawing.mouse_pressed - [42]
3RGHOJ25DRY some code - [43]
C45WCXJ2keep drawings within the line width slider as well - [44]
BYG5CEMVsupport for naming points - [45]
CRYGI3LRmore drawing tests - [46]
M6TH7VSZrip out notion of Line_width - [47]
BLWAYPKVextract a module - [48]
LUNH47XXmake text and drawings the same width - [49]
23MA4T3Gadd state arg to Drawing.keychord_pressed - [50]
QXVD2RIFadd state arg to Drawing.mouse_released - [51]
3HVBAZPAadd state arg to a few functions - [52]
KTZQ57HVreplace globals with args in a few functions - [53]
BJ2C6F2Bignore 'name' mode in a few places - [54]
P5QNVXSNdrop final mention of state global beyond main.lua
Change contents
- replacement in edit.lua at line 161[6.557]→[7.5379:5396](∅→∅),[7.3656]→[7.5379:5396](∅→∅),[7.99168]→[7.5379:5396](∅→∅),[7.5379]→[7.5379:5396](∅→∅),[7.5396]→[7.15:47](∅→∅)
line.y = yDrawing.draw(State, line)Drawing.draw(State, line_index, y) - replacement in edit.lua at line 226
if Drawing.in_drawing(line, x, y, State.left,State.right) thenlocal line_cache = State.line_cache[line_index]if Drawing.in_drawing(line, line_cache, x, y, State.left,State.right) then - replacement in edit.lua at line 231
Drawing.mouse_pressed(State, line, x,y, mouse_button)Drawing.mouse_pressed(State, line_index, x,y, mouse_button) - replacement in drawing_tests.lua at line 37
check_eq(Editor_state.lines[1].y, Editor_state.top+Drawing_padding_top, 'F - test_draw_line/baseline/y')check_eq(Editor_state.line_cache[1].starty, Editor_state.top+Drawing_padding_top, 'F - test_draw_line/baseline/y') - replacement in drawing_tests.lua at line 83
check_eq(Editor_state.lines[1].y, Editor_state.top+Drawing_padding_top, 'F - test_draw_horizontal_line/baseline/y')check_eq(Editor_state.line_cache[1].starty, Editor_state.top+Drawing_padding_top, 'F - test_draw_horizontal_line/baseline/y') - replacement in drawing_tests.lua at line 112
check_eq(Editor_state.lines[1].y, Editor_state.top+Drawing_padding_top, 'F - test_draw_circle/baseline/y')check_eq(Editor_state.line_cache[1].starty, Editor_state.top+Drawing_padding_top, 'F - test_draw_circle/baseline/y') - replacement in drawing_tests.lua at line 142
check_eq(Editor_state.lines[1].y, Editor_state.top+Drawing_padding_top, 'F - test_cancel_stroke/baseline/y')check_eq(Editor_state.line_cache[1].starty, Editor_state.top+Drawing_padding_top, 'F - test_cancel_stroke/baseline/y') - replacement in drawing_tests.lua at line 182
check_eq(Editor_state.lines[1].y, Editor_state.top+Drawing_padding_top, 'F - test_draw_circle_mid_stroke/baseline/y')check_eq(Editor_state.line_cache[1].starty, Editor_state.top+Drawing_padding_top, 'F - test_draw_circle_mid_stroke/baseline/y') - replacement in drawing_tests.lua at line 211
check_eq(Editor_state.lines[1].y, Editor_state.top+Drawing_padding_top, 'F - test_draw_arc/baseline/y')check_eq(Editor_state.line_cache[1].starty, Editor_state.top+Drawing_padding_top, 'F - test_draw_arc/baseline/y') - replacement in drawing_tests.lua at line 243
check_eq(Editor_state.lines[1].y, Editor_state.top+Drawing_padding_top, 'F - test_draw_polygon/baseline/y')check_eq(Editor_state.line_cache[1].starty, Editor_state.top+Drawing_padding_top, 'F - test_draw_polygon/baseline/y') - replacement in drawing_tests.lua at line 282
check_eq(Editor_state.lines[1].y, Editor_state.top+Drawing_padding_top, 'F - test_draw_rectangle/baseline/y')check_eq(Editor_state.line_cache[1].starty, Editor_state.top+Drawing_padding_top, 'F - test_draw_rectangle/baseline/y') - replacement in drawing_tests.lua at line 327
check_eq(Editor_state.lines[1].y, Editor_state.top+Drawing_padding_top, 'F - test_draw_rectangle_intermediate/baseline/y')check_eq(Editor_state.line_cache[1].starty, Editor_state.top+Drawing_padding_top, 'F - test_draw_rectangle_intermediate/baseline/y') - replacement in drawing_tests.lua at line 364
check_eq(Editor_state.lines[1].y, Editor_state.top+Drawing_padding_top, 'F - test_draw_square/baseline/y')check_eq(Editor_state.line_cache[1].starty, Editor_state.top+Drawing_padding_top, 'F - test_draw_square/baseline/y') - replacement in drawing.lua at line 7
function Drawing.draw(State, line)function Drawing.draw(State, line_index, y)local line = State.lines[line_index]local line_cache = State.line_cache[line_index]line_cache.starty = y - replacement in drawing.lua at line 12
if pmx < State.right and pmy > line.y and pmy < line.y+Drawing.pixels(line.h, State.width) thenif pmx < State.right and pmy > line_cache.starty and pmy < line_cache.starty+Drawing.pixels(line.h, State.width) then - replacement in drawing.lua at line 14
love.graphics.rectangle('line', State.left,line.y, State.width,Drawing.pixels(line.h, State.width))love.graphics.rectangle('line', State.left,line_cache.starty, State.width,Drawing.pixels(line.h, State.width)) - replacement in drawing.lua at line 16
icon[State.current_drawing_mode](State.right-22, line.y+4)icon[State.current_drawing_mode](State.right-22, line_cache.starty+4) - replacement in drawing.lua at line 18
icon[State.previous_drawing_mode](State.right-22, line.y+4)icon[State.previous_drawing_mode](State.right-22, line_cache.starty+4) - replacement in drawing.lua at line 33
local my = Drawing.coord(pmy-line.y, State.width)local my = Drawing.coord(pmy-line_cache.starty, State.width) - replacement in drawing.lua at line 42
Drawing.draw_shape(line, shape, line.y, State.left,State.right)Drawing.draw_shape(line, shape, line_cache.starty, State.left,State.right) - replacement in drawing.lua at line 46
local function py(y) return Drawing.pixels(y, State.width)+line.y endlocal function py(y) return Drawing.pixels(y, State.width)+line_cache.starty end - replacement in drawing.lua at line 76
Drawing.draw_pending_shape(line, line.y, State.left,State.right)Drawing.draw_pending_shape(line, line_cache.starty, State.left,State.right) - replacement in drawing.lua at line 212
function Drawing.in_drawing(drawing, x,y, left,right)if drawing.y == nil then return false end -- outside current pagefunction Drawing.in_drawing(drawing, line_cache, x,y, left,right)if line_cache.starty == nil then return false end -- outside current page - replacement in drawing.lua at line 215
return y >= drawing.y and y < drawing.y + Drawing.pixels(drawing.h, width) and x >= left and x < rightreturn y >= line_cache.starty and y < line_cache.starty + Drawing.pixels(drawing.h, width) and x >= left and x < right - replacement in drawing.lua at line 218
function Drawing.mouse_pressed(State, drawing, x,y, button)function Drawing.mouse_pressed(State, drawing_index, x,y, button)local drawing = State.lines[drawing_index]local line_cache = State.line_cache[drawing_index] - replacement in drawing.lua at line 222
local cy = Drawing.coord(y-drawing.y, State.width)local cy = Drawing.coord(y-line_cache.starty, State.width) - edit in drawing.lua at line 248
local line_cache = State.line_cache[State.lines.current_drawing_index] - replacement in drawing.lua at line 252
local my = Drawing.coord(pmy-drawing.y, State.width)local my = Drawing.coord(pmy-line_cache.starty, State.width) - replacement in drawing.lua at line 254
if Drawing.in_drawing(drawing, pmx,pmy, State.left,State.right) thenif Drawing.in_drawing(drawing, line_cache, pmx,pmy, State.left,State.right) then - replacement in drawing.lua at line 264
if Drawing.in_drawing(drawing, pmx, pmy, State.left,State.right) thenif Drawing.in_drawing(drawing, line_cache, pmx, pmy, State.left,State.right) then - edit in drawing.lua at line 302
local line_cache = State.line_cache[State.lines.current_drawing_index] - replacement in drawing.lua at line 311
local mx,my = Drawing.coord(x-State.left, State.width), Drawing.coord(y-drawing.y, State.width)local mx,my = Drawing.coord(x-State.left, State.width), Drawing.coord(y-line_cache.starty, State.width) - replacement in drawing.lua at line 318
local mx,my = Drawing.coord(x-State.left, State.width), Drawing.coord(y-drawing.y, State.width)local mx,my = Drawing.coord(x-State.left, State.width), Drawing.coord(y-line_cache.starty, State.width) - replacement in drawing.lua at line 326
App.mouse_move(State.left+Drawing.pixels(p2.x, State.width), drawing.y+Drawing.pixels(p2.y, State.width))App.mouse_move(State.left+Drawing.pixels(p2.x, State.width), line_cache.starty+Drawing.pixels(p2.y, State.width)) - replacement in drawing.lua at line 330
local mx,my = Drawing.coord(x-State.left, State.width), Drawing.coord(y-drawing.y, State.width)local mx,my = Drawing.coord(x-State.left, State.width), Drawing.coord(y-line_cache.starty, State.width) - replacement in drawing.lua at line 338
local mx,my = Drawing.coord(x-State.left, State.width), Drawing.coord(y-drawing.y, State.width)local mx,my = Drawing.coord(x-State.left, State.width), Drawing.coord(y-line_cache.starty, State.width) - replacement in drawing.lua at line 353
local mx,my = Drawing.coord(x-State.left, State.width), Drawing.coord(y-drawing.y, State.width)local mx,my = Drawing.coord(x-State.left, State.width), Drawing.coord(y-line_cache.starty, State.width) - replacement in drawing.lua at line 364
local mx,my = Drawing.coord(x-State.left, State.width), Drawing.coord(y-drawing.y, State.width)local mx,my = Drawing.coord(x-State.left, State.width), Drawing.coord(y-line_cache.starty, State.width) - replacement in drawing.lua at line 371
local mx,my = Drawing.coord(x-State.left, State.width), Drawing.coord(y-drawing.y, State.width)local mx,my = Drawing.coord(x-State.left, State.width), Drawing.coord(y-line_cache.starty, State.width) - replacement in drawing.lua at line 476
local _,drawing = Drawing.current_drawing(State)local mx,my = Drawing.coord(App.mouse_x()-State.left, State.width), Drawing.coord(App.mouse_y()-drawing.y, State.width)local _,drawing,line_cache = Drawing.current_drawing(State)local mx,my = Drawing.coord(App.mouse_x()-State.left, State.width), Drawing.coord(App.mouse_y()-line_cache.starty, State.width) - replacement in drawing.lua at line 481
local _,drawing = Drawing.current_drawing(State)local mx,my = Drawing.coord(App.mouse_x()-State.left, State.width), Drawing.coord(App.mouse_y()-drawing.y, State.width)local _,drawing,line_cache = Drawing.current_drawing(State)local mx,my = Drawing.coord(App.mouse_x()-State.left, State.width), Drawing.coord(App.mouse_y()-line_cache.starty, State.width) - replacement in drawing.lua at line 491
local _,drawing = Drawing.current_drawing(State)local _,drawing,line_cache = Drawing.current_drawing(State) - replacement in drawing.lua at line 493
local mx,my = Drawing.coord(App.mouse_x()-State.left, State.width), Drawing.coord(App.mouse_y()-drawing.y, State.width)local mx,my = Drawing.coord(App.mouse_x()-State.left, State.width), Drawing.coord(App.mouse_y()-line_cache.starty, State.width) - replacement in drawing.lua at line 509
local drawing_index,drawing,i,p = Drawing.select_point_at_mouse(State)local drawing_index,drawing,line_cache,i,p = Drawing.select_point_at_mouse(State) - replacement in drawing.lua at line 520
local drawing_index,drawing,point_index,p = Drawing.select_point_at_mouse(State)local drawing_index,drawing,line_cache,point_index,p = Drawing.select_point_at_mouse(State) - replacement in drawing.lua at line 533
local _,drawing,i,p = Drawing.select_point_at_mouse(State)local _,drawing,_,i,p = Drawing.select_point_at_mouse(State) - replacement in drawing.lua at line 551
local drawing,_,shape = Drawing.select_shape_at_mouse(State)local drawing,_,_,shape = Drawing.select_shape_at_mouse(State) - replacement in drawing.lua at line 618
if Drawing.in_drawing(drawing, x,y, State.left,State.right) thenreturn drawing_index,drawinglocal line_cache = State.line_cache[drawing_index]if Drawing.in_drawing(drawing, line_cache, x,y, State.left,State.right) thenreturn drawing_index,drawing,line_cache - replacement in drawing.lua at line 628
for _,drawing in ipairs(State.lines) dofor drawing_index,drawing in ipairs(State.lines) do - replacement in drawing.lua at line 631
if Drawing.in_drawing(drawing, x,y, State.left,State.right) thenlocal mx,my = Drawing.coord(x-State.left, State.width), Drawing.coord(y-drawing.y, State.width)local line_cache = State.line_cache[drawing_index]if Drawing.in_drawing(drawing, line_cache, x,y, State.left,State.right) thenlocal mx,my = Drawing.coord(x-State.left, State.width), Drawing.coord(y-line_cache.starty, State.width) - replacement in drawing.lua at line 637
return drawing,i,shapereturn drawing,line_cache,i,shape - replacement in drawing.lua at line 649
if Drawing.in_drawing(drawing, x,y, State.left,State.right) thenlocal mx,my = Drawing.coord(x-State.left, State.width), Drawing.coord(y-drawing.y, State.width)local line_cache = State.line_cache[drawing_index]if Drawing.in_drawing(drawing, line_cache, x,y, State.left,State.right) thenlocal mx,my = Drawing.coord(x-State.left, State.width), Drawing.coord(y-line_cache.starty, State.width) - replacement in drawing.lua at line 655
return drawing_index,drawing,i,pointreturn drawing_index,drawing,line_cache,i,point - replacement in drawing.lua at line 664
for _,drawing in ipairs(State.lines) dofor drawing_index,drawing in ipairs(State.lines) do - replacement in drawing.lua at line 667
if Drawing.in_drawing(drawing, x,y, State.left,State.right) thenlocal line_cache = State.line_cache[drawing_index]if Drawing.in_drawing(drawing, line_cache, x,y, State.left,State.right) then