diff options
Diffstat (limited to 'app/src/main/java/de/mud/terminal/vt320.java')
-rw-r--r-- | app/src/main/java/de/mud/terminal/vt320.java | 20 |
1 files changed, 5 insertions, 15 deletions
diff --git a/app/src/main/java/de/mud/terminal/vt320.java b/app/src/main/java/de/mud/terminal/vt320.java index ab4a90d..dc95bea 100644 --- a/app/src/main/java/de/mud/terminal/vt320.java +++ b/app/src/main/java/de/mud/terminal/vt320.java @@ -162,23 +162,13 @@ public void setScreenSize(int c, int r, boolean broadcast) { super.setScreenSize(c,r,false); - boolean cursorChanged = false; - - // Don't let the cursor go off the screen. - if (C >= c) { - C = c - 1; - cursorChanged = true; - } - + // Don't let the cursor go off the screen. Scroll down if needed. if (R >= r) { - R = r - 1; - cursorChanged = true; - } - - if (cursorChanged) { - setCursorPosition(C, R); - redraw(); + screenBase += R - (r - 1); + setWindowBase(screenBase); } + R = getCursorRow(); + C = getCursorColumn(); if (broadcast) { setWindowSize(c, r); /* broadcast up */ |