Martin Vermeer wrote:
- Cursor trouble: Full refresh on each blink. Abdel says it's a lot of
work to fix this without the pixamp. Options a) Spend that time, b)
Revert to old painting scheme. Given that the removal of the pixmap did
not give us any noticable speed-up, I think we should revert this change
which was done the last Monday of the meeting.
I have now restored the backing pixmap. "-dbg painting" will print at
the console which area is refreshed.
Yes, this is a very good idea.
Thanks.
Note that we still are not where we should be (and where 1.4 is): still
after every keypress, the whole screen will be refreshed in the second
update step.
The culprit appears to be the statement
view()->buffer()->changed()
in lyxfunc.C. This sends a signal LyXView to redraw the whole screen in
WorkArea. There is no way to specify anything less than a full screen.
Unfortunately commenting out this line isn't good either: then not even
the current row gets updated (but it will be if you cover and expose
theLyX window...)
This should be redone somehow to do a current-paragraph update if
Update::SinglePar is set. Can you do that with signal-slot?
Yes, the signal can be emitted with any number of argument. So you
reckon that a boolean (singlePar) should suffice? We just need to change
the signal and the WorkArea::redraw() method to accept this boolean,
very easy. You reckon this would be enough?
Abdel.