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