Re: Brewing a new backend


Subject: Re: Brewing a new backend
From: Martin Sevior (msevior@mccubbin.ph.unimelb.edu.au)
Date: Tue Dec 26 2000 - 17:37:36 CST


On Tue, 26 Dec 2000, Leonard Rosenthol wrote:

> At 8:50 AM +1100 12/27/00, Martin Sevior wrote:
> >In addition to these improvements do you have ideas on how this code would
> >help the following deficiencies in Abi. MS Word has these but our current
> >formatting code cannot handle them at all.
>
> Two of the three items you mentioned are EASY to handle with
> our current architecture - or at least should be.
>
>
> >1. Cannot place an image in the background of the document.
>
> This should be easy enough to handle by simply having an
> image blitted before drawing the text on top.
>
> Of course, with our current "too many redraws" problem, that
> would slow things down even more - but it's certainly doable.
>

We also have to worry about clearing the text. Right now we just rub it
out with area clears.

>
> >2. Placing an arbitary shaped object on a page and have the text flow
> >around it.
>
> This is also pretty easy to implement, ASSUMING you can live
> with rectangular wrap for initial implementation. What you need to
> do is create a higher level "layout" wrapper, if it doesn't already
> exist, that tracks things outside of the actual page content -
> headers, footers, footnotes, and now floating images. This wrapper
> is then responsible for simply adjusting the margins of any
> paragraphs that intersect with the images. In other words, you don't
> need to change the underlying paragraph engine - just put some
> framework on top.

I was thinking along these lines but to me this constitues "major change".

>
>
> >3. Tables.
>
> Enough discussion on this one ;).

I think we need a more powerful layout engine to handle tables too so we
might as well think about what we need. I think we have a choice of
upgrading our present columns and page layout code, implementing nested
columns or going along Mike Nordell's path of lines of overlapping text
frames.

>
>
> >For 2 and 3 we will require some new class in our piecetable. Currently
> >the piecetable assumes that all content of the document flows sequently
> >onto the page.
>
> If that's the case, how do headers & footers work?
>

These are hardwired to fit into the top and bottom margins of each page by
our per page formatter. At present we have just a single pass
page formatter once we have text frames/tables/footnotes etc we will have
to allow a multi-pass formatter. Optimizing this will be difficult I
think.

Should I re-send the email I wrote on how headers/footers work?

Cheers

Martin



This archive was generated by hypermail 2b25 : Tue Dec 26 2000 - 17:37:53 CST