[cairo] drawlist type functionality in Cairo

Dirk Schönberger dirk.schoenberger at sz-online.de
Wed Apr 6 13:57:11 PDT 2005

> > - display lists would allow to render multiple paths with multiple
> > with a many-to-many relation between them, beside of being able to
> >   store information which change the global graphic state (set_color,
> > set_lne_width, ...). I don't see how you would implement this by using
> >   purely backend specific cached paths and patterns.

> The many-to-many relation between paths and patterns would of course
> exist as they are different objects. line_width, cap_style and such
> would not be part of the path object and I don't see any point in making
> it so, it's easily done in a layer above cairo.

In Qt4's Arthur engine, conceptionally similar to Cairo, line_cap, cap_style
a.s.o. are stored and cached in a "Pen"
Not sure if this is usefull. as long as you don't have backend support for
pen like objects.

> You should know that using OpenGL primitives like lines and polygons for
> cairo paths is not a good idea. The quality is not even close to what
> cairo is currently producing. So using OpenGL's display lists is not
> very efficient.

I assume that lines and polygons
- are not able to have <floating point> line widths and cannot be applied a
transformation matrix
- cannot be composed against a background (Porter-Duff composition)?

So in short, all path with are to be rendered "outlined" have to be rendered
to a filled area anyway.


More information about the cairo mailing list