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

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to