[cairo] Cairo vs. Canvas

MenTaLguY mental at rydia.net
Thu Jan 6 19:24:24 PST 2005


On Thu, 2005-01-06 at 14:52, Carl Worth wrote:
> I think most of these other analytical operations fall outside the
> scope of cairo. At some point, the application provides the geometry
> to cairo, so it has the information to do analytical operations on it.
> cairo_stroke_path operation to enable that.
> 
> Arbitrary path/path intersection would be a nice operation to have in
> many cases, but it's not trivial to implement. We don't need it (yet)
> inside of cairo, but if we do end up implementing it, we will export
> it so that applications can share a robust implementation.

In the next year or so, I think a general-purpose computational geometry
library will become very badly needed (see e.g. the dismay expressed on
the SVG list over having to implement the union/intersection/etc
operations specified by SVG 1.2, as it is very difficult to do properly
and there aren't any free libraries of sufficient quality).

Right now Inkscape is using a very hacked up version of the livarot
library for this, but it's a) in C++, and b) livarot's architecture and
API are a mess, so it's not so helpful for others.

The reason I mention it here is that I think cairo is one of the few
places where sufficient talent and expertise to do such a library
properly (e.g. getting all the very tetchy precision issues right) are
concentrated.  However, I do think it would be better as a separate
library, as pixman is, rather than going in cairo proper.

Just a thought, anyway.

-mental
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://lists.freedesktop.org/archives/cairo/attachments/20050106/f92e487c/attachment.pgp


More information about the cairo mailing list