/*-------------------------------------------------------------------- * DESCRIPTION * Create an SpXform_t from a data block containing a PT using the * default grid size. There is no RCS->LAB color space conversion. * Used for importing the raw PT. * * AUTHOR * mjb * * DATE CREATED * September 27, 1995 *------------------------------------------------------------------*/ SpStatus_t KSPAPI SpXformCreateFromDataNC ( KpInt32_t Size, KpLargeBuffer_t Data, SpXform_t FAR *Xform) { SpStatus_t Status; PTRefNum_t RefNum; *Xform = NULL; Status = SpXformLoadImp (Data, Size, NO_DT_ICC_TYPE, SpSigNone, SpSigNone, &RefNum); if (SpStatSuccess != Status) return Status; Status = SpXformFromPTRefNumNC (&RefNum, Xform); #if defined KCP_DIAG_LOG {KpChar_t string[256]; sprintf (string, "\nSpXformCreateFromDataEx\n *Xform %x\n",*Xform); kcpDiagLog (string); } #endif return Status; }
/*-------------------------------------------------------------------- * DESCRIPTION * Generate Colorant and Response Curve tags for the specified * Xform data. This data is assumed to be a PT. * * AUTHOR * lsh * * DATE CREATED * April 15, 1994 *------------------------------------------------------------------*/ SpStatus_t KSPAPI SpXformCreateMatTags ( SpProfile_t Profile, KpInt32_t DataSize, KpLargeBuffer_t Data) { SpStatus_t Status; PTRefNum_t RefNum; SpHeader_t Hdr; KpInt32_t SpDataType; Status = SpProfileGetHeader (Profile, &Hdr); if (SpStatSuccess != Status) return Status; if ((Hdr.Originator == SpSigOrgKodak1_Ver_0) || (Hdr.Originator == SpSigOrgKodak2_Ver_0)) { SpDataType = KCM_ICC_TYPE_0; } else { SpDataType = KCM_ICC_TYPE_1; } #if defined KCP_DIAG_LOG {KpChar_t string[256]; sprintf (string, "\nSpXformCreateMatTags\n Profile %x, DataSize %d, Data %x\n", Profile, DataSize, Data); kcpDiagLog (string); } #endif Status = SpXformLoadImp (Data, DataSize, SpDataType, Hdr.DataColorSpace, Hdr.InterchangeColorSpace, &RefNum); if (SpStatSuccess != Status) return Status; Status = SpXformCreateMatTagsFromPT (Profile, RefNum); PTCheckOut (RefNum); return Status; }