[Cairo] Simplifying Cairo dependencies.

Carl Worth cworth at east.isi.edu
Tue Aug 19 08:01:46 PDT 2003

On Aug 14, Owen Taylor wrote:
 > As in my other mail, I think combining pixregion and libic would make
 > sense. It's quite possible that 'slim' should just be a header file
 > cut-and-pasted into each module. (In which case, nothing should
 > install it.)

I like both of these ideas[*].

For slim, I think I'll just copy the header files into the source
directory for each library that wants them. I'll include a version
number with the copy, (maybe src/slim-0.1.0/slim_import.h). Richard,
that will mean you will need to be more aggressive about incrementing
the version of slim with each change so that it will be obvious when
the headers need to be copied. Does that sound acceptable?

Before merging libpixregion into libic, I'd like to come up with a
better name for libic, (we can drop studly caps at the same time). The
new library will have the following functionality:

	o Image compositing
	o Projective image transformations
	o Trapezoid rasterization
	o Set operations for pixel regions

It will probably also have some text rendering functionality. (We need
to write that code, and people probably won't appreciate it if I try
to make yet another tiny library).

Basically, this is all the same functionality as the Render extension,
but independent of X and targeting an in-memory image. This library
will serve as the in-memory-image backend for Cairo.

I had come up with "libic: Image Compositing Library" but I'm hoping
someone can do better. Any suggestions?

When both of these changes are implemented, installing Cairo will
involve only two staged "make install" steps rather than four. That
should be a nice improvement.


[*] In the best of worlds I would prefer to be able to break libraries
up for maximum logical independence. But I'm willing to accept that we
live in an Elf world which imposes certain limitations.

More information about the cairo mailing list