[Cairo] make error with cvs cairo

Keith Packard keithp at keithp.com
Wed Sep 17 16:56:58 PDT 2003


Around 14 o'clock on Sep 16, Carl Worth wrote:

> That would let us drop all #includes from cairo.h except for
> fontconfig. To get rid of that, we just need to decide the header file
> in which those functions belong. Should the graphics backend imply a
> specific text backend? Or does the user want to be able to select both
> of those independently?

No, it's not graphics-backend specific, it's OS specific.  On Windows, the 
PDF backend will use Windows font functions, while on Linux, it will use 
Fontconfig.  The goal is to make font selection output-device independent, 
but match font selection on a particular OS, which means that it will be 
OS-dependent.

While the 'toy' API won't expose any OS-dependent interfaces, it's also 
not anticipated that "real" applications will be able to survive using 
only those functions, so they'll always need access to suitable interfaces.

We could create os-specific header files and move os-dependent interfaces 
to those files.  That would eliminate 'random' namespace polution; while 
Fontconfig and FreeType are relatively polite about names, OSX and Windows 
are far less careful.  We'd need consistent names for header files, and 
we'd want to avoid colliding with the output device header files.  Perhaps 
we'll need something like:

	#include <cairo.h>
	#include <cairo-font-freetype.h>
	#include <cairo-output-windows.h>

Suggestions in this area are welcome; huge file names aren't my favorite, 
but creating new subdirectories also seems like a bad plan.

-keith






More information about the cairo mailing list