Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

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()
Man Page