[cairo] Proposal: Splitting cairo.h for the backends (was: Mac OS X support added)

Carl Worth cworth at cworth.org
Wed Jan 19 09:01:44 PST 2005


On Tue, 18 Jan 2005 16:08:38 -0500, kangaroo wrote:
> On this note; here's a patch to the build system to allow the quartz 
> surface to be built by auto* on mac;

Thanks so much!

> This patch should not be commited as is; as it does some uglyness to 
> get around some Carbon/X conflicting headers to allow both backends to 
> be compiled.

Yes, that's pretty nasty.

The suggested fix is to split all of the backend-specific portions of
cairo.h out into their own header files. Those that depend on external
libraries with their own header files are easy candidates:

	cairo-glitz.h
	cairo-quartz.h
	cairo-xcb.h
	cairo-xlib.h
	
Then there are also the font backends. I guess we won't need any
separation for these within the namespace of header files:

	cairo-ft.h

Then there are some backends that are more "built-in", (eg. their
creation does not depend on object types created through external
library interfaces). The image backend definitely belongs in this
class, (and belongs in cairo.h I think).

Then the ps, pdf, and png backends also meet this definition with the
exception of the currently contested FILE*.

Shall we leave these in cairo.h, or move them out as well for
symmetry's sake?

Any other suggestions for dealing with this header situation?

If we can resolve this soon, I'd like to commit it so that we can have
a properly integrated quartz backend. That's about the last thing I'm
still waiting on before pushing out a new snapshot today.

-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/20050119/7ca34c8a/attachment.pgp


More information about the cairo mailing list