On Fri, 2006-11-03 at 10:58 +0100, Abdelrazak Younes wrote: > 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.
Great! That's where I got stuck. > 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? Probably. I expect you would need to do a bit of tinkering around the above statement to get it working always right... but that's worth it. > Abdel. - Martin
signature.asc
Description: This is a digitally signed message part