6.10.1 Prototype Gamut Compression Procedure

The gamut compression callback interface must adhere to the following:
typedef Status (*XcmsCompressionProc)(ccc, colors_in_out, ncolors, index, compression_flags_return)
      XcmsCCC ccc;
      XcmsColor colors_in_out[];
      unsigned int ncolors;
      unsigned int index;
      Bool compression_flags_return[];

ccc Specifies the CCC.
colors_in_out Specifies an array of color specifications. Pixel members should be ignored and must remain unchanged upon return.
ncolors Specifies the number of XcmsColor structures in the color specification array.
index Specifies the index into the array of XcmsColor structures for the encountered color specification that lies outside the screen's color gamut. Valid values are 0 (for the first element) to ncolors - 1.
compression_flags_return Returns an array of Boolean values for indicating compression status. If a non-NULL pointer is supplied and a color at a given index is compressed, then True should be stored at the corresponding index in this array; otherwise, the array should not be modified.
When implementing a gamut compression procedure, consider the following rules and assumptions:
Next: Supplied Gamut Compression Procedures

Christophe Tronche, ch@tronche.com