From e379656333caefe28914c6bc0cdfe9a80b1ecd0e Mon Sep 17 00:00:00 2001 From: Andrew Lee Date: Sun, 15 Nov 2020 13:15:34 -0500 Subject: Updated MBS --- .mbs/lib/scroll_window.lua | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) (limited to '.mbs/lib/scroll_window.lua') diff --git a/.mbs/lib/scroll_window.lua b/.mbs/lib/scroll_window.lua index 75a6fb1..b2c1044 100644 --- a/.mbs/lib/scroll_window.lua +++ b/.mbs/lib/scroll_window.lua @@ -80,14 +80,14 @@ function create(original) local lineBack = back_colour[scroll_cursor_y] local preStop = pos - 1 local preStart = math.min(1, preStop) - local postStart = pos + string.len(writeText) + local postStart = pos + #writeText local postStop = sizeX local sub, rep = string.sub, string.rep - text[scroll_cursor_y] = sub(lineText, preStart, preStop)..writeText..sub(lineText, postStart, postStop) - text_colour[scroll_cursor_y] = sub(lineColor, preStart, preStop)..rep(cur_text_colour, #writeText)..sub(lineColor, postStart, postStop) - back_colour[scroll_cursor_y] = sub(lineBack, preStart, preStop)..rep(cur_back_colour, #writeText)..sub(lineBack, postStart, postStop) - cursor_x = pos + string.len(writeText) + text[scroll_cursor_y] = sub(lineText, preStart, preStop) .. writeText .. sub(lineText, postStart, postStop) + text_colour[scroll_cursor_y] = sub(lineColor, preStart, preStop) .. rep(cur_text_colour, #writeText) .. sub(lineColor, postStart, postStop) + back_colour[scroll_cursor_y] = sub(lineBack, preStart, preStop) .. rep(cur_back_colour, #writeText) .. sub(lineBack, postStart, postStop) + cursor_x = pos + #writeText end function redirect.blit(writeText, writeFore, writeBack) @@ -131,13 +131,13 @@ function create(original) local lineBack = back_colour[scroll_cursor_y] local preStop = cursor_x - 1 local preStart = math.min(1, preStop) - local postStart = cursor_x + string.len(writeText) + local postStart = cursor_x + #writeText local postStop = sizeX local sub = string.sub - text[scroll_cursor_y] = sub(lineText, preStart, preStop)..writeText..sub(lineText, postStart, postStop) - text_colour[scroll_cursor_y] = sub(lineColor, preStart, preStop)..writeFore..sub(lineColor, postStart, postStop) - back_colour[scroll_cursor_y] = sub(lineBack, preStart, preStop)..writeBack..sub(lineBack, postStart, postStop) + text[scroll_cursor_y] = sub(lineText, preStart, preStop) .. writeText .. sub(lineText, postStart, postStop) + text_colour[scroll_cursor_y] = sub(lineColor, preStart, preStop) .. writeFore .. sub(lineColor, postStart, postStop) + back_colour[scroll_cursor_y] = sub(lineBack, preStart, preStop) .. writeBack .. sub(lineBack, postStart, postStop) cursor_x = pos + #writeText end @@ -149,8 +149,8 @@ function create(original) end local text_line = (" "):rep(sizeX) - local fore_line = (cur_text_colour):rep(sizeX) - local back_line = (cur_back_colour):rep(sizeX) + local fore_line = cur_text_colour:rep(sizeX) + local back_line = cur_back_colour:rep(sizeX) for i = scroll_offset + 1, sizeY + scroll_offset do text[i] = text_line @@ -331,7 +331,7 @@ function create(original) local original = original local scroll_offset = scroll_offset + (offset or 0) for i = 1, sizeY do - original.setCursorPos(1,i) + original.setCursorPos(1, i) local yOffset = scroll_offset + i original.blit(text[yOffset], text_colour[yOffset], back_colour[yOffset]) end @@ -422,16 +422,16 @@ function create(original) back_colour[y] = back_colour[y]:sub(1, new_x) elseif new_x > sizeX then text[y] = text[y] .. (" "):rep(new_x - sizeX) - text_colour[y] = text_colour[y] .. (cur_text_colour):rep(new_x - sizeX) - back_colour[y] = back_colour[y] .. (cur_back_colour):rep(new_x - sizeX) + text_colour[y] = text_colour[y] .. cur_text_colour:rep(new_x - sizeX) + back_colour[y] = back_colour[y] .. cur_back_colour:rep(new_x - sizeX) end end if new_y > sizeY then -- Append any new lines we might need. local text_line = (" "):rep(new_x) - local fore_line = (cur_text_colour):rep(new_x) - local back_line = (cur_back_colour):rep(new_x) + local fore_line = cur_text_colour:rep(new_x) + local back_line = cur_back_colour:rep(new_x) for y = total_height + 1, new_y do text[y] = text_line text_colour[y] = fore_line -- cgit v1.2.3