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
CMConcatProfileSetstructure.- function result
- A result code of type CMError. See "Result Codes" (page 3-174) for a list of ColorSync-specific result codes.
DISCUSSION
TheCWConcatColorWorldfunction 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 typeCMConcatProfileSetto identify the profile array.The
keyIndexfield of theCMConcatProfileSetdata 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'sCMMTypefield 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
flagsfield 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
profileSetparameter for use with theCWConcatColorWorldfunction:
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
NULLto 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.
CWConcatColorWorldfunction, you should call theCMCloseProfilefunction (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 theCWNewLinkProfilefunction, which is described next.