On Thu, 2005-12-15 at 10:35 +0100, Jean-Marc Lasgouttes wrote:
> >>>>> "Martin" == Martin Vermeer <[EMAIL PROTECTED]> writes:
> 
> Martin> I still want to give that a try later, for 1.4.1 perhaps...
> Martin> there must be a straightforward way of doing it, mostly
> Martin> confined to rowpainter. And with special attention to the text
> Martin> inside insets, as people will want to use big branchinsets.
> 
> One idea I had is to do some checksumming of the row content while
> breaking paragraphs which allows to know whether a row has been
> modified and needs a redraw. Then the rowpainter could more safely
> decide not to redraw some parts. I do not know how difficult this
> would be, though.

That was more or less what the patch did. It computed a 'signature' of
the row, the expression

rit->endpos() - rit->pos() + y

showing if a row has been changed in a way that necessitates repainting.
This is not a very good signature though, as you can easily see.
Checksum would be better.

> Admitedly this would reduce the number of repaints, not of rebreaks,
> but it may be less fragile than tests all over the place to guess what
> should be updated.
> 
> Martin> Currently, with my lyxfunc patch, only the current paragraph
> Martin> is redrawn for every character insertion. The whole screen
> Martin> only if paragraph height changes. Now if we have a big
> Martin> paragraph, that is too much. Logical. Note that if a paragraph
> Martin> contains an inset (containing one or more paragraphs of its
> Martin> own), _all of this together_ counts here as "current
> Martin> paragraph".
> 
> Martin> Do we have now the feeling that we understand this?
> 
> Yes, unfortunately. If we decide to drop the issue, we will _have_ to
> do something for later 1.4.x versions, I think.

Yes, I am hopeful that I can resurrect the singlerow patch.

- Martin

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

Reply via email to