[cairo] [cairo-gl] RFC: Dispatching mechanism for non-standard GL functions

Bill Spitzak spitzak at gmail.com
Thu Dec 2 11:37:43 PST 2010

Behdad Esfahbod wrote:

> Don't be so optimistic about people not using private symbols.  You should see
> what applications like firefox or OpenOffice do when they have to workaround a
> library bug...

I think the solution is to make the back-end api be *exactly* the same 
as the cairo api. Every call in cairo (which takes a cairo_t or similar 
pointer) maps directly to one backend call and there are no extra 
backend calls.

Cairo can provide some utilities, such as building paths and rendering 
various things into bitmaps. But the backend calls those, passing any 
pointers to backend data as arguments. Even if cairo must call code in 
the backend, it is passed as a function pointer to the cairo function.

More information about the cairo mailing list