xcmssetcompressionproc(3) [hpux man page]
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()
Check Out this Related Man Page
XcmsCompressionProc() XcmsCompressionProc() Name XcmsCompressionProc - interface definition for gamut compression procedure. Synopsis 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[]; Arguments ccc Specifies the color conversion context. colors_in_out Specifies an array of color specifications. Pixel members are ignored and 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 Specifies an array of Boolean values (or NULL) for returned information that indicates if the color was compressed. For example, if this routine returns XcmsSuccessWithCompression, and compression_flags_ return[3] is True, this indicates that the fourth color specified in the color specification array was compressed. If you are not interested in knowing which color was compressed when the return value is XcmsSuccessWithCompression, then pass a NULL. Oth- erwise, allocate an array of Boolean values for each element in the color definition array and pass its address. Returns Zero on failure, non-zero on success. Availability Release 5 and later. Description A gamut compression procedure maps a range of colors in a device-independent color space into a range of colors displayable on a physical device. When implementing a gamut compression procedure, consider the following rules and assumptions: o The gamut compression procedure can attempt to compress one or multiple specifications at a time. o When called, elements 0 to index-1 in the array of color specification array can be assumed to fall within the screen's color gamut. In addition these color specifications are already in some device-dependent format (typically XcmsRGBi). If any modifications are made to these color specifications, they must upon return be in their initial device-dependent format. o When called, the element in the color specification array specified by the index argument contains the color specification outside the screen's color gamut encountered by the calling routine. In addition this color specification can be assumed to be in XcmsCIEXYZ. Upon return, this color specification must be in XcmsCIEXYZ. o When called, elements from index to ncolors-1 in the color specification array may or may not fall within the screen's color gamut. In addition these color specifications can be assumed to be in XcmsCIEXYZ. If any modifications are made to these color specifications, they must upon return be in XcmsCIEXYZ. o The color specifications passed to the gamut compression procedure have already been adjusted to the Screen White Point. This means that at this point the color specification's white point is the Screen White Point. o If the gamut compression procedure uses a device-independent color space not initially accessible for use in the color management sys- tem, use XcmsAddColorSpace() to insure that it is added. See Also XcmsCCCOfColormap(), XcmsCreateCCC(), XcmsClientWhitePointOfCCC(), XcmsDefaultCCC(), XcmsSetCCCOfColormap(), XcmsSetCompressionProc(), XcmsSetWhiteAdjustProc(), XcmsSetWhitePoint(). Xlib - Device-independent Color XcmsCompressionProc()