[cairo] Cairo + OpenGL - other backends

Carl Worth cworth at cworth.org
Tue Aug 1 16:36:08 PDT 2006


On Tue, 1 Aug 2006 23:00:06 +0200, Johannes Schmidt wrote:
>
> If I further disable svg, the linking error disappears.
> It seems that sdl-svg-surface.c, line 823 uses some png functionality (namely 
> cairo_surface_write_to_png_stream) ...
> 
> It's version 1.2.0, downloaded on Aug 1, 2006.

Ah, that makes sense. So the SVG backend is broken in not doing one of
the following if cairo is being compiled without libpng:

1) Finding some other way to implement its functionality

2) Disabling itself completely

> Yes, it seems that a font renderer is needed ...

Yes. There's a "user-font API" which is scheduled for the 1.4 release
of cairo. (Some very promising work has already been done for this by
Kristian Høgsberg---he just decided it wasn't quite ready before 1.2).

So having "no" font backend, or at least a minimal built-in font
backend with no external library dependency should be possible soon.

> Btw, has someone already tried to add a backend to an already existing cairo 
> library (i.e. not compiling it in cairo itsself but in an app linking to 
> cairo)?
> Looking at cairoint.h, it seems that most of the methods are not exported (and 
> explicitely hidden using the gcc visibility attribute).

It's not currently possible. We made a conscious decision to not
export the backend interface until it was deemed stable enough that we
would be willing to maintain it.

When we did that we didn't have the PS/PDF/SVG backends implemented,
and we knew we would gain important experience while implementing them
that would require changes to that backend interface.

We did gain a lot of experience, and we did change the backend
interface a lot.

At this point, I think I would be willing to consider a proposal for
an exported backend interface. It would definitely not be the complete
backend interface as it currently exists, (which is a motley mix of
ancient Render-inspired stuff and a newer, high-level interface
inspired directly from cairo's imaging model).

So the new interface should look a lot like "paint, mask, stroke,
fill, show_glyphs". I think one interface that will still need some
work before we're ready to export it is the set of functions used for
clipping.

Anyway, if someone wanted to work on this, it would be appreciated.

-Carl
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/cairo/attachments/20060801/93e0f8ac/attachment.pgp


More information about the cairo mailing list