Re: Rolling display

R P Herrold <[email protected]> Thu, 1 Mar 2018 17:41:11 -0500 (EST)
Newsgroups gmane.editors.abiword.devel
Message-ID <[email protected]>
On Thu, 1 Mar 2018, Hubert Figuière wrote:

> I *believe* the proper fix is to remove any drawing code from GR_Caret
> (done out of the actually drawing loop) and have it all done in the
> document redraw. Just need to find some time to do it as it is not trivial.

I take this to mean as a matter of meta-code:

SET a 're-draw wanted' semaphore whenever exiting the 
GR_Caret code with a 'change in document' state

ALSO: SET a 're-draw wanted' semaphore every 1/10 second AND 
abiword has focus (to keep the screen fresh and to let 'caret' 
'pulseing' or flashing on and off to appear)

ALSO: SET a 're-draw wanted' semaphore whenever any process or 
sub-process of abiword 'gets focus' (mostly to handle the 
start up case, but also 'just because')

------------

then, in the 'document redraw' code, test the 're-draw wanted' 
semaphore, and when it is set, ... redraw

==============

-- Russ herrold