[Cairo] PNG backend for cairo?

Carl Worth cworth at east.isi.edu
Mon Nov 17 08:35:25 PST 2003

On Nov 14, Abraham Egnor wrote:
 > I'd prefer that it be in its own library, less because of dependencies
 > than because it keeps the interface clean.  I suspect that confusion is a
 > non-issue; potential cairo users will be smart enough to read
 > documentation, I'm pretty sure.  Keeping backends that don't require
 > internal functionality in separate libraries also scales much
 > better.

If every backend could be in a separate library then I would
agree. That would be clean and "scalable", (at least in a theoretical
sense, pragmatically speaking there can be scaling problems with many
small libraries).

But, for now at least[*], backends like the X/Render backend can't
easily be made external. And there are certainly users who don't
need/want an X backend. So, we need machinery to disable backends at
compile time.

With that in place, it seems quite clean to me to have all backends
available to be compiled into a single library. This also helps
alleviate the problems from having a library as tiny as libcairo-png
would be.

A single cairo.h and a single -lcairo seems quite clean to me. It
seems this should actually make it easier for higher layers to care
less about the set of backends that cairo supports.


[*] At some point, it might make sense to make the cairo_surface
interface public so that backends could be added externally. However,
as we are currently looking into fundamentally different backends,
(PDF, GL, etc.), that interface is in as state of too much flux to be

More information about the cairo mailing list