aboutsummaryrefslogtreecommitdiff
path: root/engines/gargoyle
diff options
context:
space:
mode:
authorPaul Gilbert2018-11-04 21:37:56 -0800
committerPaul Gilbert2018-12-08 19:05:59 -0800
commit6b39263dab79ab20118bc2bb17677a0c5b14e84c (patch)
tree32dade46f35c5861c0a1e5327ecda1d17306ec4a /engines/gargoyle
parent75f1ac769ba8158ff73f724a91e9544b29943905 (diff)
downloadscummvm-rg350-6b39263dab79ab20118bc2bb17677a0c5b14e84c.tar.gz
scummvm-rg350-6b39263dab79ab20118bc2bb17677a0c5b14e84c.tar.bz2
scummvm-rg350-6b39263dab79ab20118bc2bb17677a0c5b14e84c.zip
GLK: Workaround to show caret for second line entry onwards
Not sure how original GLK code properly re-renders the caret, since the line isn't marked as dirty once input starts. This workaround marks the line as dirty when a line request is done, which allows the line to be redrawn with the caret
Diffstat (limited to 'engines/gargoyle')
-rw-r--r--engines/gargoyle/window_text_buffer.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/engines/gargoyle/window_text_buffer.cpp b/engines/gargoyle/window_text_buffer.cpp
index 61cf92a22c..9b32393edc 100644
--- a/engines/gargoyle/window_text_buffer.cpp
+++ b/engines/gargoyle/window_text_buffer.cpp
@@ -637,6 +637,9 @@ void TextBufferWindow::requestLineEvent(char *buf, glui32 maxlen, glui32 initlen
putText(buf, initlen, _inCurs, 0);
}
+ // WORKAROUND: Mark bottom line as dirty so caret will be drawn
+ _lines[0]._dirty = true;
+
_echoLineInput = _echoLineInputBase;
if (_lineTerminatorsBase && _termCt) {
@@ -690,6 +693,9 @@ void TextBufferWindow::requestLineEventUni(glui32 *buf, glui32 maxlen, glui32 in
putTextUni(buf, initlen, _inCurs, 0);
}
+ // WORKAROUND: Mark bottom line as dirty so caret will be drawn
+ _lines[0]._dirty = true;
+
_echoLineInput = _echoLineInputBase;
if (_lineTerminatorsBase && _termCt) {