From 86532eef4b8a7f13539c4f0d3cbe34394c456cdb Mon Sep 17 00:00:00 2001 From: "Kartik K. Agaram" Date: Sat, 28 May 2022 22:42:11 -0700 Subject: move some code I had this idea originally to keep text.lua oblivious to drawings. But that hasn't been true for some time. Losing battle. --- main.lua | 28 ---------------------------- text.lua | 28 ++++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/main.lua b/main.lua index f22b908..dfa3195 100644 --- a/main.lua +++ b/main.lua @@ -230,34 +230,6 @@ function App.keychord_pressed(chord) end end save_to_disk(Lines, Filename) - elseif chord == 'pagedown' then - Screen_top1.line = Screen_bottom1.line - Screen_top1.pos = Screen_bottom1.pos ---? print('setting top to', Screen_top1.line, Screen_top1.pos) - Cursor1.line = Screen_top1.line - Cursor1.pos = Screen_top1.pos - Text.move_cursor_down_to_next_text_line_while_scrolling_again_if_necessary() ---? print('top now', Screen_top1.line) - elseif chord == 'pageup' then - -- duplicate some logic from love.draw - local top2 = Text.to2(Screen_top1) ---? print(App.screen.height) - local y = App.screen.height - math.floor(15*Zoom) - while y >= 15 do ---? print(y, top2.line) - if Screen_top1.line == 1 and Screen_top1.pos == 1 then break end - if Lines[Screen_top1.line].mode == 'text' then - y = y - math.floor(15*Zoom) - elseif Lines[Screen_top1.line].mode == 'drawing' then - y = y - 20 - Drawing.pixels(Lines[Screen_top1.line].h) - end - top2 = Text.previous_screen_line(top2) - end - Screen_top1 = Text.to1(top2) - Cursor1.line = Screen_top1.line - Cursor1.pos = Screen_top1.pos - Text.move_cursor_down_to_next_text_line_while_scrolling_again_if_necessary() ---? print(Cursor1.line, Cursor1.pos, Screen_top1.line, Screen_top1.pos) else Text.keychord_pressed(chord) end diff --git a/text.lua b/text.lua index c284eac..0097fc5 100644 --- a/text.lua +++ b/text.lua @@ -992,6 +992,34 @@ function Text.keychord_pressed(chord) Text.up() elseif chord == 'down' then Text.down() + elseif chord == 'pageup' then + -- duplicate some logic from love.draw + local top2 = Text.to2(Screen_top1) +--? print(App.screen.height) + local y = App.screen.height - math.floor(15*Zoom) + while y >= 15 do +--? print(y, top2.line) + if Screen_top1.line == 1 and Screen_top1.pos == 1 then break end + if Lines[Screen_top1.line].mode == 'text' then + y = y - math.floor(15*Zoom) + elseif Lines[Screen_top1.line].mode == 'drawing' then + y = y - 20 - Drawing.pixels(Lines[Screen_top1.line].h) + end + top2 = Text.previous_screen_line(top2) + end + Screen_top1 = Text.to1(top2) + Cursor1.line = Screen_top1.line + Cursor1.pos = Screen_top1.pos + Text.move_cursor_down_to_next_text_line_while_scrolling_again_if_necessary() +--? print(Cursor1.line, Cursor1.pos, Screen_top1.line, Screen_top1.pos) + elseif chord == 'pagedown' then + Screen_top1.line = Screen_bottom1.line + Screen_top1.pos = Screen_bottom1.pos +--? print('setting top to', Screen_top1.line, Screen_top1.pos) + Cursor1.line = Screen_top1.line + Cursor1.pos = Screen_top1.pos + Text.move_cursor_down_to_next_text_line_while_scrolling_again_if_necessary() +--? print('top now', Screen_top1.line) end end -- cgit 1.4.1-2-gfad0