This commit is contained in:
Kartik K. Agaram 2022-06-05 08:11:50 -07:00
parent 3f07ac51d2
commit 5055361209
2 changed files with 7 additions and 7 deletions

View File

@ -344,14 +344,14 @@ function App.keychord_pressed(chord)
Text.populate_screen_line_starting_pos(i)
end
if Cursor1.line-Screen_top1.line+1 + num_newlines > App.screen.height/Line_height then
Text.scroll_up_while_cursor_on_screen()
Text.snap_cursor_to_bottom_of_screen()
end
-- hack 2: if we have too much text wrapping we definitely need to scroll
local clipboard_text = App.newText(love.graphics.getFont(), clipboard_data)
local clipboard_width = App.width(clipboard_text)
--? 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
Text.scroll_up_while_cursor_on_screen()
Text.snap_cursor_to_bottom_of_screen()
end
record_undo_event({before=before, after=snapshot(before_line, Cursor1.line)})
-- dispatch to drawing or text

View File

@ -364,7 +364,7 @@ function Text.insert_return()
Cursor1.line = Cursor1.line+1
Cursor1.pos = 1
if scroll_down then
Text.scroll_up_while_cursor_on_screen()
Text.snap_cursor_to_bottom_of_screen()
end
end
@ -484,7 +484,7 @@ function Text.down()
if Cursor1.line > Screen_bottom1.line then
--? print('screen top before:', Screen_top1.line, Screen_top1.pos)
--? print('scroll up preserving cursor')
Text.scroll_up_while_cursor_on_screen()
Text.snap_cursor_to_bottom_of_screen()
--? print('screen top after:', Screen_top1.line, Screen_top1.pos)
end
else
@ -502,7 +502,7 @@ function Text.down()
--? print('cursor pos is now', Cursor1.line, Cursor1.pos)
if scroll_down then
--? print('scroll up preserving cursor')
Text.scroll_up_while_cursor_on_screen()
Text.snap_cursor_to_bottom_of_screen()
--? print('screen top after:', Screen_top1.line, Screen_top1.pos)
end
end
@ -613,11 +613,11 @@ function Text.move_cursor_down_to_next_text_line_while_scrolling_again_if_necess
--? print(y, App.screen.height, App.screen.height-Line_height)
if y > App.screen.height - Line_height then
--? print('scroll up')
Text.scroll_up_while_cursor_on_screen()
Text.snap_cursor_to_bottom_of_screen()
end
end
function Text.scroll_up_while_cursor_on_screen()
function Text.snap_cursor_to_bottom_of_screen()
local top2 = Text.to2(Cursor1)
--? print('cursor pos '..tostring(Cursor1.pos)..' is on the #'..tostring(top2.screen_line)..' screen line down')
local y = App.screen.height - Line_height