On Thu, Mar 20, 2003 at 05:50:05PM +0100, Andre Poenitz wrote:

> Handling an LFUN just changes the structure of the doc, the postion of the
> cursor, whatever. It does not care about visual appearance at all.
> 
> If the handling is finished, we do a full redraw. [Later we might be a bit
> more clever, but not now]. The full redraw consists of two phases. In
> each phase the document tree is traversed in full and each phase carries
> some "information object" containing objects like current font, current
> textwidth etc.
> 
> The first phase is the "metrics calculation". Each container (inset,
> main text,...) adjusts the information object according to its needs (i.e.
> a minipage would change the textwidth) and calls metrics() with this
> information object on each of its children recursively. If this is
> finished, the sizes of the children are known and the container itself can
> compute its own size. Row breaking etc. would happen here. Afterwards it

And how does it alter its *parent* when needed ? And its parent's parent ?

This sounds tremendously like what already exists Andre, except you
called "update" "metrics" instead,  and you do a full redraw of the
screen. It is doing this update/metrics traversal that is the
complicated bit !

regards,
john

Reply via email to