XcmsSetCompressionProc() XcmsSetCompressionProc()
Name
XcmsSetCompressionProc - change the gamut compression procedure in a specified Color Conversion Context.
Synopsis
XcmsCompressionProc XcmsSetCompressionProc(ccc, compression_proc,
client_data)
XcmsCCC ccc;
XcmsCompressionProc compression_proc;
XPointer client_data;
Arguments
ccc Specifies the color conversion context.
compression_proc
Specifies the gamut compression procedure to apply when a color lies outside the screen's color gamut. If NULL, when functions
using this CCC must convert a color specification to a device-dependent format and they encounter a color that lies outside the
screen's color gamut, the functions will return XcmsFailure.
client_data
Specifies client data for the gamut compression procedure or NULL.
Returns
The previous compression procedure.
Availability
Release 5 and later.
Description
XcmsSetCompressionProc() function sets the gamut compression procedure and client data in the specified CCC with the newly specified proce-
dure and client data, and returns the old procedure.
Gamut compression procedures provided with Xlib and intended for use with XcmsSetCompressionProc() are:
o XcmsCIELabClipL - In CIELAB color space, reduces or increases the CIE metric lightness (L*) of the color specification until it is
within the screen's color gamut. No client data is necessary.
o XcmsCIELabClipab - In CIELAB color space while maintaining Psychometric Hue Angle, reduces the Psychometric Chroma of the color specifi-
cation until it is within the screen's color gamut. No client data is necessary.
o XcmsCIELabClipLab - In CIELAB color space while maintaining Psychometric Hue Angle, replaces the color specification with the CIELAB
coordinate that falls within the screen's color gamut and whose vector to the original coordinates is the shortest attainable. No
client data is necessary.
o XcmsCIELuvClipL - In CIELUV color space, reduces or increases the CIE metric lightness (L*) of the color specification until it is
within the screen's color gamut. No client data is necessary.
o XcmsCIELuvClipuv - In CIELUV color space while maintaining Psychometric Hue Angle, reduces the Psychometric Chroma of the color specifi-
cation until it is within the screen's color gamut. No client data is necessary.
o XcmsCIELuvClipLuv - In CIELUV color space while maintaining Psychometric Hue Angle, replaces the color specification with the CIELuv
coordinate that falls within the screen's color gamut and whose vector to the original coordinates is the shortest attainable. No
client data is necessary.
o XcmsTekHVCClipV - In TekHVC color space, reduces or increases the Value of the color specification until it is within the screen's color
gamut. No client data is necessary.
o XcmsTekHVCClipC - In TekHVC color space while maintaining Hue, reduces the Chroma of the color specification until it is within the
screen's color gamut. No client data is necessary.
o XcmsTekHVCClipVC - In TekHVC color space while maintaining Hue, replaces the color specification with the TekHVC coordinate that falls
within the screen's color gamut and whose vector to the original coordinates is the shortest attainable. No client data is necessary.
See Also
XcmsCCCOfColormap(), XcmsCreateCCC(), XcmsConvertColors(), XcmsDefaultCCC(), XcmsScreenNumberOfCCC(), XcmsScreenWhitePointOfCCC(), Xcms-
SetWhiteAdjustProc(), XcmsSetWhitePoint().
Xlib - Device-independent Color XcmsSetCompressionProc()