Important: The information in this document is obsolete and should not be used for new development.
CMGetPS2ColorSpace
Obtains color space element data in text format usable as the parameter to the PostScriptsetColorSpace
operator, which characterizes the color space of subsequent graphics data.
pascal CMError CMGetPS2ColorSpace ( CMProfileRef srcProf, unsigned long flags, CMFlattenUPP proc, void *refCon, Boolean *preferredCMMnotfound);
srcProf
- A profile reference to the source profile that defines the data color space and identifies the preferred CMM. You cannot specify
NULL
to indicate the system profile. If you use the system profile, you must give an explicit reference.flags
- If the value of
flags
is equal tocmPS8bit
, the generated PostScript will utilize 8-bit encoding whenever possible to achieve higher data compaction. If the value offlags
is not equal tocmPS8bit
, the generated data will be 7-bit safe, in either ASCII or ASCII base-85 encoding.proc
- A pointer to a callback flatten function to receive the PostScript data from the CMM. For information, see the
MyColorSyncDataTransfer
function (page 3-167).refCon
- A reference constant for application data passed as a parameter to calls to the
MyColorSyncDataTransfer
function.preferredCMMnotfound
- A pointer to a Boolean value indicating whether the preferred CMM was found. On output, has the value
true
if the CMM corresponding to profile was not available or if it was unable to perform the function and the default Apple CMM was used. Otherwise, has the valuefalse
.- function result
- A result code of type CMError. See "Result Codes" (page 3-174) for a list of ColorSync-specific result codes.
DISCUSSION
TheCMGetPS2ColorSpace
function obtains PostScript color space data from the source profile. The valid profile types for the CMGetPS2ColorSpace function are display, input, and output profiles with at most four components.To determine which profile elements to use to generate the PostScript color space data, the CMM
The CMM obtains the PostScript data from the profile and calls your low-level data transfer procedure passing the PostScript data to it. The CMM converts the data into a PostScript stream and calls your procedure as many times as necessary to transfer the data to it.
- uses the PostScript
cmPS2CSATag
, if it exists- otherwise, uses the multidimensional table tag (
cmAToB0
,cmAToB1
, orcmAToB2
), if it exists, for the rendering intent currently specified by the profile- otherwise, uses the multidimensional table tag
cmAToB0
, if it exists- otherwise, for display profiles only, uses the tristimulus tags (
cmRedColorantTag
,cmGreenColorantTag
, andcmBlueColorantTag
) and the tonal curve tags (cmRedTRCTag
,cmGreenTRCTag
, andcmBlueTRCTag
)
Typically, the low-level data transfer function returns this data to the calling application or device driver to pass to a PostScript printer as an operand to the PostScript
setcolorspace
operator, which defines the color space of graphics data to follow.The
CMGetPS2ColorSpace
function is dispatched to the CMM component specified by the source profile. If the designated CMM is not available or the CMM does not implement this function, then the ColorSync Manager dispatches the function to the default Apple CMM.