.\" pragma ident "@(#)KcsEvaluate.3 1.3 04/21/95" .TH KcsEvaluate 3 "21 April 1995" "" "KCMS Library" .SH NAME KcsEvaluate \- Evaluate color data through a sequence of profiles .SH SYNOPSIS .ft B .nf #include #include .sp KcsStatusId KcsEvaluate( KcsProfileId profile, KcsOperationType operation, KcsPixelLayout *srcData, KcsPixelLayout *destData) .fi .ft R .SH MT-LEVEL MT-Unsafe .SH DESCRIPTION Use .B KcsEvaluate() to apply a color profile to input color data, thus producing "color corrected" output data. The profile argument specifies the color profile; the srcData argument holds description of the input color data; and the destData argument holds the description of the resulting color data. .SH ARGUMENTS .TP .SB profile The ID of the profile to be applied to the input data. If the operation specified when the profile was created in KcsConnectProfiles(3) does not match the operation specified in .B KcsEvaluate(), then the statusId KCS_EVAL_ONLY_ONE_OP_ALLOWED is returned. For example, if you wanted to do a forward evaluate and you tried to use a profile you had created with KcsConnectProfiles(3) to do a simulate, you would get the statusId returned. .TP .SB operation The kind of data to be operated on and the kind of profile evaluation to be performed on it. Note that only one bit may be set for .B KcsEvaluate(). .TP .SB srcData The description of the source color data that will be transformed by the profile. .TP .SB destData The description of the area (the destination) to which the transformed data will be written. .SH RETURN VALUES Upon successful completion KCS_SUCCESS is returned. Otherwise one of the following errors will be returned. .SH ERRORS .nf KCS_OPERATION_CANCELLED KCS_PROF_ID_BAD KCS_MEM_ALLOC_ERROR KCS_EVAL_ONLY_ONE_OP_ALLOWED KCS_EVAL_TOO_MANY_CHANNELS KCS_EVAL_BUFFER_OVERFLOW KCS_LAYOUT_INVALID KCS_LAYOUT_UNSUPPORTED KCS_LAYOUT_MISMATCH .fi .SH SEE ALSO .BR KcsConnectProfiles (3) .BR KcsLoadProfile (3) .BR KcsOptimizeProfile (3) .br .BR "KCMS Application Developers Guide" .SH EXAMPLE .nf int op; KcsPixelLayout pixelLayoutIn, pixelLayoutOut; KcsProfileId scannerProfile, monitorProfile; KcsProfileId profileSequence[2], completeProfile; /* * The profiles have been loaded and connected and the * input and output pixel layout structures have been * loaded with appropriate data */ status = KcsEvaluate(completeProfile, op, &pixelLayoutIn, &pixelLayoutOut); .fi