XcmsSetCompressionProc()XcmsSetCompressionProc()NameXcmsSetCompressionProc – 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.
DescriptionXcmsSetCompressionProc() function sets the gamut compression procedure
and client data in the specified CCC with the newly specified procedure
and client data, and returns the old procedure.
Gamut compression procedures provided with Xlib and intended for use
with XcmsSetCompressionProc() are:
· 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.
· XcmsCIELabClipab – In CIELAB color space while maintaining Psychome‐
tric Hue Angle, reduces the Psychometric Chroma of the color speci‐
fication until it is within the screen's color gamut. No client
data is necessary.
· XcmsCIELabClipLab – In CIELAB color space while maintaining Psycho‐
metric Hue Angle, replaces the color specification with the CIELAB
coordinate that falls within the screen's color gamut and whose vec‐
tor to the original coordinates is the shortest attainable. No
client data is necessary.
· 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.
· XcmsCIELuvClipuv – In CIELUV color space while maintaining Psychome‐
tric Hue Angle, reduces the Psychometric Chroma of the color speci‐
fication until it is within the screen's color gamut. No client
data is necessary.
· XcmsCIELuvClipLuv – In CIELUV color space while maintaining Psycho‐
metric Hue Angle, replaces the color specification with the CIELuv
coordinate that falls within the screen's color gamut and whose vec‐
tor to the original coordinates is the shortest attainable. No
client data is necessary.
· 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.
· 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.
· 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 origi‐
nal coordinates is the shortest attainable. No client data is nec‐
essary.
See AlsoXcmsCCCOfColormap(), XcmsCreateCCC(), XcmsConvertColors(), XcmsDefault‐
CCC(), XcmsScreenNumberOfCCC(), XcmsScreenWhitePointOfCCC(), Xcms‐
SetWhiteAdjustProc(), XcmsSetWhitePoint().
Xlib - Device-independent Color XcmsSetCompressionProc()