[cairo] Updated ROADMAP for cairo 1.2.0 (and beyond)

Emmanuel Pacaud emmanuel.pacaud at univ-poitiers.fr
Mon May 1 15:01:55 PDT 2006


Le jeudi 27 avril 2006 à 14:19 -0700, Ralph Giles a écrit :
> On Thu, Apr 27, 2006 at 12:54:25PM -0700, Carl Worth wrote:
> 
> > Now, if what you want is to actually negotiate with cairo and live
> > within what it can provide, then yeah, things are different. For
> > example, maybe you want to provide a "save as" dialog that provides
> > all the different SVG/PDF variants that the current cairo library can
> > support.
> 
> Yes, I think this is a key use case for this.
> 
> > Then, back to the enum approach, we could do this by providing a query
> > function that gives the largest supported enum value, as well as a
> > function mapping the enums to symbolic strings.

What about:

typedef enum {
	CAIRO_SVG_1_1,
	CAIRO_SVG_1_2
} cairo_svg_version_t;

typedef stuct {
	cairo_svg_version_t id;
	char const *desc;
} cairo_svg_version_info_t;

cairo_svg_version_info_t * cairo_svg_surface_get_version_infos (void);

Which will return a NULL terminated list, and

cairo_surface_t * cairo_svg_surface_create (..., cairo_svg_version_t version_id);
cairo_surface_t * cairo_svg_surface_create_for_stream (..., cairo_svg_version_t version_id);

	Emmanuel.



More information about the cairo mailing list