[cairo] cairo internal design ideas

Jost Boekemeier jost2345 at yahoo.de
Fri Sep 24 12:43:37 PDT 2004


On Thu, 2004-09-23 at 04:07, Paul Sladen wrote:

> On Wed, 22 Sep 2004, Jost Boekemeier wrote:
> > Can you please explain this?  At least for PDF and SVG it is not a
> > problem to render trapezoids.

> The reason why it makes sense to tessellate (in some cases), is that current
> framebuffers have been optimised for:

Well, the xlib backend is special.  -- I am not happy that cairo
tesselates early in this case either, but it is not possible to change
that (at least not at the moment). 

> A point to consider here is perhaps;  PDF is not a final-format. 

When generated through cairo it certainly is.  Cairo cannot create
"documents".  For example if you create a PDF file from a widget tree
through cairo, all information about which object is contained within
another is lost.  The same is true for object properties which change
over time.

Even though SVG and PDF support animations and structure, this
information is not (and cannot be) available anymore when the document
is created through cairo.

> It is possible to edit PDF files just as you would SVG. 

Depends on how you define "edit".  You can certainly edit a vector
picture with the apropriate editor.  But that does not make the cairo
generated PDF file a "document".

If you want to create true documents, you would choose a higher level
representation, for example a retained-mode API (not necessarily a
canvas, which would be one level above the retained-mode).


More information about the cairo mailing list