aboutsummaryrefslogtreecommitdiffstats
path: root/src/programs.asm
diff options
context:
space:
mode:
authoruser <user@clank>2026-07-16 16:40:45 +0200
committeruser <user@clank>2026-07-16 16:40:45 +0200
commit2f43a8851a89661b304edd9396677080dcb3e003 (patch)
treebf74d012a5646cb08e1c49fb9c5c107b154a11b5 /src/programs.asm
parentterm/osk: scroll region so the OSK never hides the input line (diff)
downloadgbos-2f43a8851a89661b304edd9396677080dcb3e003.tar.gz
gbos-2f43a8851a89661b304edd9396677080dcb3e003.tar.xz
gbos-2f43a8851a89661b304edd9396677080dcb3e003.zip
term/osk: view-offset scroll region (lossless backlog on OSK toggle)
Replace the shrink-and-scroll region with a view offset. The terminal is always 18 logical rows; term_write_tilemap maps screen row -> logical row + wViewTop (rows the OSK covers clamp to the cursor line). Showing the OSK sets the offset to OSK_ROWS so the cursor line lands at row 14 (above the keyboard) and hiding it sets the offset back to 0 - now purely a remap, so nothing is scrolled off or destroyed. term_set_view replaces term_set_rows; term_scroll/cursor_down are back to plain 18-row scrolling. Result: full 18-row backlog when the OSK is hidden, a shifted 15-row window when shown, and toggling is lossless (verified: OSK-shown view == baseline rows 3..17, and toggle on+off == baseline exactly).
Diffstat (limited to 'src/programs.asm')
0 files changed, 0 insertions, 0 deletions