[cairo] [RFC] Color space API (partial proposal)

Bill Spitzak spitzak at gmail.com
Sun Feb 28 10:59:31 PST 2010

Kai-Uwe Behrmann wrote:

>> dest_col_space = cairo_color_space_create_icc_from_file
>>                                   ("my_cmyk_profile.icc");
>> cairo_surface_set_color_space (surface, dest_col_space);
> Is this a once only call to each surface? Then it probably could be 
> nicely interwoven into the create surface call?

The advantage I see with a different call is that it makes it obvious 
how to create a surface with the "default" blending space (the device 
space on typical displays).

> If not it would be trivial to switch the blending space. As mentioned, 
> the cost of such a switch should, in my opinion, be expressed in more 
> development work, like requiring a new surface with the new blending 
> colour space. The cost of such a switch is not only a computational one.

I would simply say that the resulting contents of the surface after 
switching the blending space are undefined. The only operation that is 
allowed right after is to clear the entire surface.

Later it can be decided what (if anything) this should do.

I still recommend the numbers be UNCHANGED. No attempt should be made to 
convert the color to matching ones. That is better handled by copying a 
surface to another one.

More information about the cairo mailing list