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

James Cloos cloos at jhcloos.com
Fri Feb 26 12:02:24 PST 2010

>>>>> "Bill" == Bill Spitzak <spitzak at gmail.com> writes:

Bill> The gradient itself has a color space (the "blending" space). When you
Bill> specify the stops in it, you can specify a different color space with
Bill> each color. These colors are immediately translated to the blending
Bill> space and then the gradient is a linear interpolation of the stops in
Bill> the gradient's blending space.

Bill> When the spot color is drawn a backend that does not understand the
Bill> spot color then mixes the colors from the gradient. This is done the
Bill> same way you would render a point from a normal gradient: the color
Bill> from the gradient is translated from the gradient's blending space to
Bill> the final blending space and mixed in the final space.

Bill> I'm sure in reality a lot of these color spaces will be identical, but
Bill> this makes the api consistent.

That matches what I intended to suggest.  (Except only that all gradient
types should be supported; the type 6/7 can be used in the same was as,
and translated to, cubic-interpolated tint functions in PS3 and PDF.)

James Cloos <cloos at jhcloos.com>         OpenPGP: 1024D/ED7DAEA6

More information about the cairo mailing list