Thanks mental for correcting & completing this spec. About the open points:
- Should surface profile/color rendering changes be allowed once the surface is being actively used?
Why should we allow this ? Is there any use case ? The ones I can see are: render the same surface with two different profiles at the same time (e.g. on a multihead screen with different profiles, but is'nt X already handling that, batch export of the same file in many different colorspaces)
- How should gradients work in this regime?
What is the issue here ? like we have a set_source_icc_color, we can have a set_stop_icc color, isnt'it ?
- How should cairo_color_profile_ts be created/loaded?
lcms provides 2 ways, load from a file or from memory. I think cairo should provide the same ways, I dont see an additional one that could bring some benefit here, appart from direct reuse of a lcms handler for applications already using lcms like inkscape but that's not really clean - makes cairo API depend from lcms API.
To get things going on the cairo side, do you think I should notify the cairo ML about this blue print ?
Kind regards,
Aubanel.