[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