more scroll thingy

This commit is contained in:
minjaesong
2021-04-16 16:01:45 +09:00
parent 3616d25cb6
commit 74020199a6

View File

@@ -262,27 +262,40 @@ function appendLine() {
function nextCol() {
if (cursorCol < textbuffer[cursorRow].length) {
let cx = con.getyx()[1];
cursorCol += 1;
if (cursorCol >= paintWidth && cx == paintWidth + PAINT_START_X - 1) {
scrollHor += 1;
drawTextLine(cursorRow - scroll);
}
updateScrollState();
}
}
function prevCol() {
if (cursorCol > 0) {
let cx = con.getyx()[1];
serial.println(`cx=${cx}; cursorCol: ${cursorCol}->${cursorCol-1}; scrollHor=${scrollHor}`);
cursorCol -= 1;
if (scrollHor > 0 && cursorCol == scrollHor && cx == PAINT_START_X + 1) {
scrollHor -= 1;
drawTextLine(cursorRow - scroll);
}
updateScrollState();
}
}
function updateScrollState() {
gotoText(); // update cursor pos
let cursorPos = con.getyx();
let cx = cursorPos[1]; let cy = cursorPos[0];
let tlen = textbuffer[cursorRow].length;
serial.println(`paintSize: ${paintWidth}x${paintHeight}, cursYX:${cursorPos} cursCol: ${cursorCol} scrH: ${scrollHor}`);
// update horizontal scroll stats
if (cursorCol >= paintWidth - 1 && cx == paintWidth - 1 + PAINT_START_X) {
scrollHor += 1;
drawTextLine(cursorRow - scroll);
}
else if (scrollHor > 0 && cursorCol == scrollHor && cx < PAINT_START_X + 1) {
scrollHor -= 1;
drawTextLine(cursorRow - scroll);
}
// update vertical scroll stats
}
///////////////////////////////////////////////////////////////////////////////////////////////////
drawMain();
@@ -292,8 +305,6 @@ drawTextbuffer();
if (!editingExistingFile)
displayBulletin(`New File`);
else {
// move to right end of the first line
cursorCol = textbuffer[0].length;
drawLnCol();
displayBulletin(`Read ${textbuffer.length} Lines`);
}