Important: The information in this document is obsolete and should not be used for new development.
CWConcatColorWorld
Sets up a color world that includes a set of profiles for various color transformations among devices in a sequence.
pascal CMError CWConcatColorWorld ( CMWorldRef *cw, CMConcatProfileSet *profileSet);
cw
- A pointer to a color world. On output, a reference to a color world (page 3-66). You pass the returned reference to other functions that use the color world for color-matching and color-checking sessions.
profileSet
- A pointer to an array of profiles describing the processing to carry out. The array is in processing order--source through destination. See "Profile Header Structure for ColorSync 1.0" (page 3-46) for the definition of the
CMConcatProfileSet
structure.- function result
- A result code of type CMError. See "Result Codes" (page 3-174) for a list of ColorSync-specific result codes.
DISCUSSION
TheCWConcatColorWorld
function sets up a session for color processing that includes a set of profiles. The array of profiles is in processing order--source through destination. Your application passes the function a data structure of typeCMConcatProfileSet
to identify the profile array.The
keyIndex
field of theCMConcatProfileSet
data structure specifies the index of the profile within the profile array whose preferred CMM is used for the entire color-matching or color-checking session. The profile header'sCMMType
field specifies the CMM. This CMM will fetch the profile elements necessary for the session.The quality flag setting--indicating normal mode, draft mode, or best mode--specified by the first profile prevails for the entire session; the quality flags of following profiles in the sequence are ignored. The quality flag setting is stored in the
flags
field of the profile header. See "Profile Header Structure for ColorSync 2.x" (page 3-43) and "Flag Mask Definitions for Version 2.x Profiles" (page 3-29) for more information on the use of flags.The rendering intent specified by the first profile is used to color match to the second profile, the rendering intent specified by the second profile is used to color match to the third profile, and so on through the series of concatenated profiles.
The following rules govern the profiles you can specify in the profile array pointed to by the
profileSet
parameter for use with theCWConcatColorWorld
function:
A after executing the
- In the profile array, you can pass in one or more profiles, but you must specify at least one profile. If you specify only one profile, it must be a device-linked profile. If you specify a device-linked profile, you cannot specify any other profiles in the profiles array; a device-linked profile must be used alone.
- In the profile array, you can specify an abstract profile anywhere in the sequence other than as the first or last profile.
- For the first and last profiles, you can specify device profiles or color space conversion profiles. However, when you set up a color-matching session with a named color space profile and other profiles, the named color profile must be first or last in the color world.
- You cannot specify
NULL
to indicate the system profile.- If you specify a color space profile in the middle of the profile sequence, it is ignored by the Apple CMM.
CWConcatColorWorld
function, you should call theCMCloseProfile
function (page 3-71) for each profile to dispose of its reference.For more information on color worlds, see "Concatenated Profile Set Structure" (page 3-49).
SEE ALSO
Instead of passing in an array of profiles, you can specify a device-linked profile. For information on how to create a device-linked profile, see theCWNewLinkProfile
function, which is described next.