ColorSync Manager Reference

Framework
ApplicationServices/ApplicationServices.h, Carbon/Carbon.h
Declared in
CMApplication.h
CMCalibrator.h
CMMComponent.h
CMScriptingPlugin.h
ColorSyncDeprecated.h
QuickdrawAPI.h

Overview

The ColorSync Manager is the API for ColorSync, a platform-independent color management system from Apple. ColorSync provides essential services for fast, consistent, and accurate color calibration, proofing, and reproduction using input, output, and display devices. ColorSync also provides an interface to system-wide color management settings that allows users to save color settings for specific jobs and switch between settings.

You need this reference if your software product performs color drawing, printing, or calculation, or if your peripheral device supports color. You also need this reference if you are creating a color management module (CMM)—a component that implements color-matching, color-conversion, and gamut-checking services.

The Color Picker Manager, documented separately, provides a standard user interface for soliciting color choices.

Carbon supports the majority of the ColorSync Manager programming interface. However, ColorSync 1.0 compatibility calls such as CWNewColorWorld, GetProfile, and SetProfile are not supported.

Nor does Carbon support ColorSync functions used for color management modules (CMMs). These functions aren't supported because OS X uses Bundle Services to implement CMMs.

Some applications use the Component Manager to determine what CMMs are available. You cannot use the Component Manager for this purpose in OS X. Apple has, however, provided the function CMIterateCMMInfo to query for available CMMs.

Functions by Task

Accessing Profiles

Iterating Installed Profiles

Creating Profiles

Accessing Special Profiles

Accessing Profile Elements

Accessing Profile Descriptions

Accessing Name-Class Profiles

Working With ColorWorlds

Converting Colors

Working With CMMs

Working With PostScript

Working With QuickDraw

Registering Devices

Accessing Default Devices

Accessing Devices Profiles

Accessing Device State and Information

Iterating Over Devices and Device Profiles

Working With Image Files

Working With Video Card Lookup Tables

Miscellaneous

Working With Universal Procedure Pointers

Not Recommended

Functions

CMCalibrateDisplay

Calibrates a display.

OSErr CMCalibrateDisplay (
   CalibratorInfo *theInfo
);
Parameters
theInfo

A pointer to a calibrator info data structure that contains the necessary data for calibrating a display.

Return Value

An OSErr value.

Availability
  • Available in OS X v10.0 and later.
Declared In
CMCalibrator.h

DisposeCMBitmapCallBackUPP

Disposes of a universal procedure pointer (UPP) to a bitmap callback.

void DisposeCMBitmapCallBackUPP (
   CMBitmapCallBackUPP userUPP
);
Parameters
userUPP

The universal procedure pointer to dispose of.

Availability
  • Available in OS X v10.0 and later.
Declared In
ColorSyncDeprecated.h

DisposeCMConcatCallBackUPP

Disposes of a universal procedure pointer (UPP) to a progress-monitoring callback.

void DisposeCMConcatCallBackUPP (
   CMConcatCallBackUPP userUPP
);
Parameters
userUPP

The universal procedure pointer to dispose of.

Availability
  • Available in OS X v10.0 and later.
Declared In
ColorSyncDeprecated.h

DisposeCMFlattenUPP

Disposes of a universal procedure pointer (UPP) to a data-flattening callback.

void DisposeCMFlattenUPP (
   CMFlattenUPP userUPP
);
Parameters
userUPP

The universal procedure pointer to dispose of.

Availability
  • Available in OS X v10.0 and later.
Declared In
ColorSyncDeprecated.h

DisposeCMMIterateUPP

Disposes of a universal procedure pointer (UPP) to a progress-monitoring callback for the CMIterateCMMInfo function.

void DisposeCMMIterateUPP (
   CMMIterateUPP userUPP
);
Parameters
userUPP

The universal procedure pointer to dispose of.

Availability
  • Available in OS X v10.0 and later.
Declared In
ColorSyncDeprecated.h

DisposeCMProfileAccessUPP

Disposes of a universal procedure pointer (UPP) to a profile-access callback.

void DisposeCMProfileAccessUPP (
   CMProfileAccessUPP userUPP
);
Parameters
userUPP

The universal procedure pointer to dispose of.

Availability
  • Available in OS X v10.0 and later.
  • Not available to 64-bit applications.
Declared In
ColorSyncDeprecated.h

DisposeCMProfileFilterUPP

Disposes of a universal procedure pointer (UPP) to a profile-filter callback.

void DisposeCMProfileFilterUPP (
   CMProfileFilterUPP userUPP
);
Parameters
userUPP

The universal procedure pointer to dispose of.

Availability
  • Available in OS X v10.0 and later.
  • Not available to 64-bit applications.
Declared In
ColorSyncDeprecated.h

DisposeCMProfileIterateUPP

Disposes of a universal procedure pointer (UPP) to a profile-iteration callback.

void DisposeCMProfileIterateUPP (
   CMProfileIterateUPP userUPP
);
Parameters
userUPP

The universal procedure pointer to dispose of.

Availability
  • Available in OS X v10.0 and later.
Declared In
ColorSyncDeprecated.h

InvokeCMBitmapCallBackUPP

Invokes a universal procedure pointer (UPP) to a bitmap callback.

Boolean InvokeCMBitmapCallBackUPP (
   SInt32 progress,
   void *refCon,
   CMBitmapCallBackUPP userUPP
);
Discussion

In most cases, you do not need to call this function as ColorSync Manager invokes your callback for you. See the “CMBitmapCallBackProcPtr” callback for more information and for a description of the parameters.

Availability
  • Available in OS X v10.0 and later.
Declared In
ColorSyncDeprecated.h

InvokeCMConcatCallBackUPP

Invokes a universal procedure pointer (UPP) to a progress-monitoring callback.

Boolean InvokeCMConcatCallBackUPP (
   SInt32 progress,
   void *refCon,
   CMConcatCallBackUPP userUPP
);
Discussion

In most cases, you do not need to call this function as ColorSync Manager invokes your callback for you. See the “CMConcatCallBackProcPtr” callback for more information and for a description of the parameters.

Availability
  • Available in OS X v10.0 and later.
Declared In
ColorSyncDeprecated.h

InvokeCMFlattenUPP

Invokes a universal procedure pointer (UPP) to a data-flattening callback.

OSErr InvokeCMFlattenUPP (
   SInt32 command,
   long *size,
   void *data,
   void *refCon,
   CMFlattenUPP userUPP
);
Discussion

In most cases, you do not need to call this function as ColorSync Manager invokes your callback for you. See the “CMFlattenProcPtr” callback for more information and for a description of the parameters.

Availability
  • Available in OS X v10.0 and later.
Declared In
ColorSyncDeprecated.h

InvokeCMMIterateUPP

Invokes a universal procedure pointer (UPP) to a a progress-monitoring callback for the CMIterateCMMInfo function.

OSErr InvokeCMMIterateUPP (
   CMMInfo *iterateData,
   void *refCon,
   CMMIterateUPP userUPP
);
Discussion

In most cases, you do not need to call this function as ColorSync Manager invokes your callback for you. See the “CMMIterateProcPtr” callback for more information and for a description of the parameters.

Availability
  • Available in OS X v10.0 and later.
Declared In
ColorSyncDeprecated.h

InvokeCMProfileAccessUPP

Invokes a universal procedure pointer (UPP) to a profile-access callback.

OSErr InvokeCMProfileAccessUPP (
   SInt32 command,
   SInt32 offset,
   SInt32 *size,
   void *data,
   void *refCon,
   CMProfileAccessUPP userUPP
);
Discussion

In most cases, you do not need to call this function as ColorSync Manager invokes your callback for you. See the “CMProfileAccessProcPtr” callback for more information and for a description of the parameters.

Availability
  • Available in OS X v10.0 and later.
  • Not available to 64-bit applications.
Declared In
ColorSyncDeprecated.h

InvokeCMProfileFilterUPP

Invokes a universal procedure pointer (UPP) to a profile-filter callback.

Discussion

In most cases, you do not need to call this function as ColorSync Manager invokes your callback for you. See the “CMProfileFilterProcPtr” callback for more information and for a description of the parameters.

Availability
  • Available in OS X v10.0 and later.
  • Not available to 64-bit applications.
Declared In
ColorSyncDeprecated.h

InvokeCMProfileIterateUPP

Invokes a universal procedure pointer (UPP) to a profile-iteration callback.

OSErr InvokeCMProfileIterateUPP (
   CMProfileIterateData *iterateData,
   void *refCon,
   CMProfileIterateUPP userUPP
);
Parameters
Return Value

A result code. See “ColorSync Manager Result Codes.”

Discussion

In most cases, you do not need to call this function as ColorSync Manager invokes your callback for you. See the “CMProfileIterateProcPtr” callback for more information and for a description of the parameters.

Availability
  • Available in OS X v10.0 and later.
Declared In
ColorSyncDeprecated.h

NewCMBitmapCallBackUPP

Creates a new universal procedure pointer (UPP) to a bitmap callback.

CMBitmapCallBackUPP NewCMBitmapCallBackUPP (
   CMBitmapCallBackProcPtr userRoutine
);
Parameters
userRoutine

A pointer to your bitmap callback function.

Return Value

The universal procedure pointer.

Availability
  • Available in OS X v10.0 and later.
Declared In
ColorSyncDeprecated.h

NewCMConcatCallBackUPP

Creates a new universal procedure pointer (UPP) to a progress-monitoring callback.

CMConcatCallBackUPP NewCMConcatCallBackUPP (
   CMConcatCallBackProcPtr userRoutine
);
Parameters
userRoutine

A pointer to your progress-monitoring callback function.

Return Value

The universal procedure pointer.

Discussion

The callback protects against the appearance of a stalled machine during lengthy color world processing. If a CMM takes more than several seconds to process the information and create a color world, it will call the callback, if one is provided, and pass it the refCon provided. Passed to the functions NCWNewLinkProfile or NCWConcatColorWorld function .

Availability
  • Available in OS X v10.0 and later.
Declared In
ColorSyncDeprecated.h

NewCMFlattenUPP

Creates a new universal procedure pointer (UPP) to a data-flattening callback.

CMFlattenUPP NewCMFlattenUPP (
   CMFlattenProcPtr userRoutine
);
Parameters
userRoutine

A pointer to your data-flattening callback function.

Return Value

The universal procedure pointer.

Availability
  • Available in OS X v10.0 and later.
Declared In
ColorSyncDeprecated.h

NewCMMIterateUPP

Creates a new universal procedure pointer (UPP) to a progress-monitoring callback for the CMIterateCMMInfo function.

CMMIterateUPP NewCMMIterateUPP (
   CMMIterateProcPtr userRoutine
);
Parameters
userRoutine

A pointer to your progress-monitoring callback function.

Return Value

The universal procedure pointer.

Availability
  • Available in OS X v10.0 and later.
Declared In
ColorSyncDeprecated.h

NewCMProfileAccessUPP

Creates a new universal procedure pointer (UPP) to a profile-access callback.

CMProfileAccessUPP NewCMProfileAccessUPP (
   CMProfileAccessProcPtr userRoutine
);
Parameters
userRoutine

A pointer to your profile-access callback function.

Return Value

The universal procedure pointer.

Availability
  • Available in OS X v10.0 and later.
  • Not available to 64-bit applications.
Declared In
ColorSyncDeprecated.h

NewCMProfileFilterUPP

Creates a new universal procedure pointer (UPP) to a profile-filter callback.

CMProfileFilterUPP NewCMProfileFilterUPP (
   CMProfileFilterProcPtr userRoutine
);
Parameters
userRoutine

A pointer to your profile-filter callback function.

Return Value

The universal procedure pointer.

Availability
  • Available in OS X v10.0 and later.
  • Not available to 64-bit applications.
Declared In
ColorSyncDeprecated.h

NewCMProfileIterateUPP

Creates a new universal procedure pointer (UPP) to a profile-iteration callback.

CMProfileIterateUPP NewCMProfileIterateUPP (
   CMProfileIterateProcPtr userRoutine
);
Parameters
userRoutine

A pointer to your profile-iteration callback function.

Return Value

The universal procedure pointer.

Availability
  • Available in OS X v10.0 and later.
Declared In
ColorSyncDeprecated.h

Callbacks

CMBitmapCallBackProcPtr

Defines a pointer to a bitmap callback function that function reports on the progress of a color-matching or color-checking session being performed for a bitmap or a pixel map.

typedef Boolean (*MyCMBitmapCallBackProc)
(
   SInt16 progress,
   void * refCon
);
);

If you name your function MyCMBitmapCallBackProc, you would declare it like this:

Boolean MyCMBitmapCallBackProc (
   SInt16 progress,
   void * refCon
);

Parameters
progress

A byte count that begins at an arbitrary value when the function is first called. On each subsequent call, the value is decremented by an amount that can vary from call to call, but that reflects how much of the matching process has completed since the previous call. If the function is called at all, it will be called a final time with a byte count of 0 when the matching is complete.

refCon

The pointer to a reference constant passed to your MyCMBitmapCallBack function each time the color management module (CMM) calls your function.

Return Value

False indicates the color-matching or color-checking session should continue. True indicates the session should be aborted—for example, the user may be holding down the Command–period keys.

Discussion

Your MyCMBitmapCallBack function allows your application to monitor the progress of a color-matching or color-checking session for a bitmap or a pixel map. Your function can also terminate the matching or checking operation.

Your callback function is called by the CMM performing the matching or checking process if your application passes a pointer to your callback function in the progressProc parameter when it calls one of the following functions: CWCheckBitmap , CWMatchBitmap , CWCheckPixMap , and CWMatchPixMap. Note that your callback function may not be called at all if the operation completes in a very short period.

The CMM used for the color-matching session calls your function at regular intervals. For example, the default CMM calls your function approximately every half-second unless the color matching or checking occurs in less time; this happens when there is a small amount of data to match or check.

Each time the ColorSync Manager calls your function, it passes to the function any data stored in the reference constant. This is the data that your application specified in the refCon parameter when it called one of the color-matching or checking functions.

For large bitmaps and pixel maps, your application can display a progress bar or other indicator to show how much of the operation has been completed. You might, for example, use the reference constant to pass to the callback function a window reference to a dialog box. You obtain information on how much of the operation has completed from the progress parameter. The first time your callback is called, this parameter contains an arbitrary byte count. On each subsequent call, the value is decremented by an amount that can vary from call to call, but that reflects how much of the matching process has completed since the previous call. Using the current value and the original value, you can determine the percentage that has completed. If the callback function is called at all, it will be called a final time with a byte count of 0 when the matching is complete.

To terminate the matching or checking operation, your function should return a value of true. Because pixel-map matching is done in place, an application that allows the user to terminate the process should revert to the prematched image to avoid partial mapping.

For bitmap matching, if the matchedBitMap parameter of the CWMatchBitmap function specifies NULL, to indicate that the source bitmap is to be matched in place, and the application allows the user to abort the process, you should also revert to the prematched bitmap if the user terminates the operation.

Each time the ColorSync Manager calls your progress function, it passes a byte count in the progress parameter. The last time the ColorSync Manager calls your progress function, it passes a byte count of 0 to indicate the completion of the matching or checking process. You should use the 0 byte count as a signal to perform any cleanup operations your function requires, such as filling the progress bar to completion to indicate to the user the end of the checking or matching session, and then removing the dialog box used for the display.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMConcatCallBackProcPtr

Defines a pointer to a progress-monitoring function that the ColorSync Manager calls during lengthy color world processing.

typedef Boolean (*CMConcatCallBackProcPtr)
(
   SInt32 progress,
   void *refCon
);

If you name your function MyCMConcatCallBackProc, you would declare it like this:

Boolean MyCMConcatCallBackProc (
   SInt32 progress,
   void *refCon
);

Parameters
progress
refCon
Discussion

If a CMM takes more than several seconds to process the information and create a color world, it will call the Callback proc, if one is provided, and pass it the refCon provided

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMCountImageProfilesProcPtr

Defines a pointer to a function that obtains a count of the number of embedded profiles for a given image..

typedef CMError (*CMCountImageProfilesProcPtr)
(
   const FSSpec * spec,
   UInt32 * count
);

If you name your function MyCMCountImageProfilesProc, you would declare it like this:

CMError MyCMCountImageProfilesProc (
   const FSSpec * spec,
   UInt32 * count
);

Parameters
spec

See the File Manager documentation for a description of the FSSpec data type.

count
Return Value

A CMError value. See “ColorSync Manager Result Codes.”

Availability
  • Available in OS X v10.0 through OS X v10.3.
Declared In
CMScriptingPlugin.h

CMEmbedImageProcPtr

Defines a pointer to a function that embeds an image with an ICC profile..

typedef CMError (*CMEmbedImageProcPtr)
(
   const FSSpec * specFrom,
   const FSSpec * specInto,
   Boolean repl,
   CMProfileRef embProf
);

If you name your function MyCMEmbedImageProc, you would declare it like this:

CMError MyCMEmbedImageProc (
   const FSSpec * specFrom,
   const FSSpec * specInto,
   Boolean repl,
   CMProfileRef embProf
);

Parameters
specFrom

See the File Manager documentation for a description of the FSSpec data type.

specInto

See the File Manager documentation for a description of the FSSpec data type.

repl
embProf
Return Value

A CMError value. See “ColorSync Manager Result Codes.”

Availability
  • Available in OS X v10.0 through OS X v10.3.
Declared In
CMScriptingPlugin.h

CMFlattenProcPtr

Defines a pointer to a data transfer callback function that transfers profile data from the format for embedded profiles to disk file format or vice versa.

typedef OSErr (*CMFlattenProcPtr) (
   SInt32 command,
   SInt32 *size,
   void *data,
   void *refCon
);

If you name your function MyCMFlattenProc, you would declare it like this:

OSErr MyCMFlattenProc (
   SInt32 command,
   SInt32 *size,
   void *data,
   void *refCon
);

Parameters
command

The command with which the MyCMFlattenCallback function is called. This command specifies the operation the function is to perform.

size

A pointer to a size value. On input, the size in bytes of the data to transfer. On return, the size of the data actually transferred.

data

A pointer to the buffer supplied by the ColorSync Manager to use for the data transfer.

refCon

A pointer to a reference constant that holds the application data passed in from the functions CMFlattenProfile, NCMUnflattenProfile, CMGetPS2ColorRenderingVMSize, CMGetPS2ColorRenderingIntent, or CMFlattenProfile. Each time the CMM calls your MyCMFlattenCallback function, it passes this data to the function.

Starting in ColorSync version 2.5, the ColorSync Manager calls your function directly, without going through the preferred, or any, CMM.

Return Value

A result code. See “ColorSync Manager Result Codes.”

Discussion

IThis callback can be used, for example, by PostScript functions to transfer data from a profile to text format usable by a PostScript driver. Starting in ColorSync version 2.5, the ColorSync Manager calls your data transfer function directly, without going through the preferred, or any, CMM. So any references to the CMM in the discussion that follows are applicable only to versions of ColorSync prior to version 2.5. Where the discussion does not involve CMMs, it is applicable to all versions of ColorSync.

Your MyCMFlattenCallback function is called to flatten and unflatten profiles or to transfer PostScript-related data from a profile to the PostScript format to send to an application or device driver.

The ColorSync Manager and the CMM communicate with the MyCMFlattenCallback function using the command parameter to identify the operation to perform. To read and write profile data, your function must support the following commands: cmOpenReadSpool, cmOpenWriteSpool, cmReadSpool, cmWriteSpool, and cmCloseSpool.

You determine the behavior of your MyCMFlattenCallback function. The following sections describe how your function might handle the flattening and unflattening processes.

Flattening a Profile:

The ColorSync Manager calls the specified profile’s preferred CMM when an application calls the CMFlattenProfile function to transfer profile data embedded in a graphics document.

The ColorSync Manager determines if the CMM supports the CMFlattenProfile function. If so, the ColorSync Manager dispatches the CMFlattenProfile function to the CMM. If not, ColorSync calls the default CMM, dispatching the CMFlattenProfile function to it.

The CMM communicates with the MyCMFlattenCallback function using a command parameter to identify the operation to perform. The CMM calls your function as often as necessary, passing to it on each call any data transferred to the CMM from the CMFlattenProfile function’s refCon parameter.

The ColorSync Manager calls your function with the following sequence of commands: cmOpenWriteSpool, cmWriteSpool, and cmCloseSpool. Here is how you should handle these commands:

  • When the CMM calls your function with the cmOpenWriteSpool command, you should perform any initialization required to write profile data you receive from the CMM to a buffer or file.

  • The CMM will call your function with the cmWriteSpool command as many times as necessary to transfer all the profile data to you. Each time you are called, you should receive the data and write it to your buffer or file, returning in the size parameter the number of bytes of data you actually accepted.

  • When the CMM calls your function with the cmCloseSpool command, you should perform any required cleanup processes.

As part of this process, your function can embed the profile data in a graphics document, for example, a PICT file or a TIFF file. For example, your MyCMFlattenCallback function can call the QuickDraw PicComment function to embed the flattened profile in a picture.

Unflattening a Profile:

When an application calls the CMUnflattenProfile function to transfer a profile that is embedded in a graphics document to an independent disk file, the ColorSync Manager calls your MyCMFlattenCallback function with the following sequence of commands: cmOpenReadSpool, cmReadSpool, cmCloseSpool. Here is how you should handle these commands:

  • When the ColorSync Manager calls your function with the cmOpenReadSpool command, you should perform any initialization required to read from the embedded profile format.

  • The ColorSync Manager calls your function with the cmReadSpool command as many times as necessary, directing your function to extract the profile data from the embedded format in the image file and return it to the ColorSync Manager in the data buffer. For each call, the ColorSync Manager specifies in the size parameter the number of bytes of data you should return. Each time your function is called it should read and return the requested data; it should also specify in the size parameter the actual number of bytes of data it returns.

  • When the ColorSync Manager calls your function with the cmCloseSpool command, you should perform any required cleanup processes.

Version Notes

Starting in ColorSync version 2.5, the ColorSync Manager calls your function directly, without going through the preferred, or any, CMM.

Availability
  • Available in OS X v10.0 and later.
Declared In
ColorSyncDeprecated.h

CMGetImageSpaceProcPtr

Defines a pointer to a function that obtains the signature of the data color space in which the color values of colors in an image are expressed.

typedef CMError (*CMGetImageSpaceProcPtr)
(
   const FSSpec * spec,
   OSType * space
);

If you name your function MyCMGetImageSpaceProc, you would declare it like this:

CMError MyCMGetImageSpaceProc (
   const FSSpec * spec,
   OSType * space
);

Parameters
spec

See the File Manager documentation for a description of the FSSpec data type.

space
Return Value

A CMError value. See “ColorSync Manager Result Codes.”

Availability
  • Available in OS X v10.0 through OS X v10.3.
Declared In
CMScriptingPlugin.h

CMGetIndImageProfileProcPtr

Defines a pointer to a function that obtains a specific embedded profile for a given image.

typedef CMError (*CMGetIndImageProfileProcPtr)
(
   const FSSpec * spec,
   UInt32 index,
   CMProfileRef * prof
);

If you name your function MyCMGetIndImageProfileProc, you would declare it like this:

CMError MyCMGetIndImageProfileProc (
   const FSSpec * spec,
   UInt32 index,
   CMProfileRef * prof
);

Parameters
spec

See the File Manager documentation for a description of the FSSpec data type.

index
prof
Return Value

A CMError value. See “ColorSync Manager Result Codes.”

Availability
  • Available in OS X v10.0 through OS X v10.3.
Declared In
CMScriptingPlugin.h

CMIterateDeviceInfoProcPtr

Defines a pointer to a function that iterates through device information available on the system.

typedef OSErr (*CMIterateDeviceInfoProcPtr)
(
   const CMDeviceInfo * deviceInfo,
   void * refCon
);

If you name your function MyCMIterateDeviceInfoProc, you would declare it like this:

OSErr MyCMIterateDeviceInfoProc (
   const CMDeviceInfo * deviceInfo,
   void * refCon
);

Parameters
deviceData
refCon
Return Value

An OSErr value.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMIterateDeviceProfileProcPtr

Defines a pointer to a function that iterates through the device profiles available on the system.

typedef OSErr (*CMIterateDeviceProfileProcPtr)
(
   const CMDeviceInfo * deviceInfo,
   const NCMDeviceProfileInfo * profileInfo,
   void * refCon
);

If you name your function MyCMIterateDeviceProfileProc, you would declare it like this:

OSErr MyCMIterateDeviceProfileProc (
   const CMDeviceInfo * deviceInfo,
   const NCMDeviceProfileInfo * profileInfo,
   void * refCon
);

Parameters
deviceData
profileData
refCon
Return Value

An OSErr value.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMLinkImageProcPtr

Defines a pointer to a function that matches an image file with a device link profile.

typedef CMError (*CMLinkImageProcPtr)
(
   const FSSpec * specFrom,
   const FSSpec * specInto,
   Boolean repl,
   UInt32 qual,
   CMProfileRef lnkProf,
   UInt32 lnkIntent
);

If you name your function MyCMLinkImageProc, you would declare it like this:

CMError MyCMLinkImageProc (
   const FSSpec * specFrom,
   const FSSpec * specInto,
   Boolean repl,
   UInt32 qual,
   CMProfileRef lnkProf,
   UInt32 lnkIntent
);

Parameters
specFrom

See the File Manager documentation for a description of the FSSpec data type.

specInto

See the File Manager documentation for a description of the FSSpec data type.

repl
qual
lnkProf
lnkIntent
Return Value

A CMError value. See “ColorSync Manager Result Codes.”

Availability
  • Available in OS X v10.0 through OS X v10.3.
Declared In
CMScriptingPlugin.h

CMMatchImageProcPtr

Defines a pointer to a function that color matches an image file.

typedef CMError (*CMMatchImageProcPtr)
(
   const FSSpec * specFrom,
   const FSSpec * specInto,
   Boolean repl,
   UInt32 qual,
   CMProfileRef srcProf,
   UInt32 srcIntent,
   CMProfileRef dstProf
);

If you name your function MyCMMatchImageProc, you would declare it like this:

CMError MyCMMatchImageProc (
   const FSSpec * specFrom,
   const FSSpec * specInto,
   Boolean repl,
   UInt32 qual,
   CMProfileRef srcProf,
   UInt32 srcIntent,
   CMProfileRef dstProf
);

Parameters
specFrom

See the File Manager documentation for a description of the FSSpec data type.

specInto

See the File Manager documentation for a description of the FSSpec data type.

repl
qual
srcProf
srcIntent
dstProf
Return Value

A CMError value. See “ColorSync Manager Result Codes.”

Availability
  • Available in OS X v10.0 through OS X v10.3.
Declared In
CMScriptingPlugin.h

CMMIterateProcPtr

Defines a pointer to a function that iterates through color management modules installed on the system.

typedef OSErr (*CMMIterateProcPtr) (
   CMMInfo * iterateData,
   void * refCon
);

If you name your function MyCMMIterateProc, you would declare it like this:

OSErr MyCMMIterateProc (
   CMMInfo * iterateData,
   void * refCon
);

Parameters
iterateData
refCon
Return Value

An OSErr value.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMProfileAccessProcPtr

Defines a pointer to a profile access callback function that provides procedure-based access to a profile.

typedef OSErr (*CMProfileAccessProcPtr)
(
   SInt32 command,
   SInt32 offset,
   SInt32 *size,
   void *data,
   void *refCon
);

If you name your function MyCMProfileAccessProc, you would declare it like this:

OSErr MyCMProfileAccessProc (
   SInt32 command,
   SInt32 offset,
   SInt32 *size,
   void *data,
   void *refCon
);

Parameters
command

A command value indicating the operation to perform. Operation constants are described in “Profile Access Procedures.”

offset

For read and write operations, the offset from the beginning of the profile at which to read or write data.

size

A pointer to a size value. On input, for the cmReadAccess and cmWriteAccess command constants, a pointer to a value indicating the number of bytes to read or write; for the cmOpenWriteAccess command, the total size of the profile. On return, after reading or writing, the actual number of bytes read or written.

data

A pointer to a buffer containing data to read or write. On return, for a read operation, contains the data that was read.

refCon

A reference constant pointer that can store private data for the CMProfileAccessCallback function.

Return Value

An OSErr value.

Discussion

When your application calls the CMOpenProfile, CMNewProfile, CMCopyProfile, or CMNewLinkProfile functions, it may supply the ColorSync Manager with a profile location structure of type CMProfileLocation that specifies a procedure that provides access to a profile. In the structure, you provide a universal procedure pointer to a profile access procedure supplied by you and, optionally, a pointer to data your procedure can use. The ColorSync Manager calls your procedure when the profile is created, initialized, opened, read, updated, or closed.

When the ColorSync Manager calls your profile access procedure, it passes a constant indicating the operation to perform. The operations include creating a new profile, reading from the profile, writing the profile, and so on. Operation constants are described in “Profile Access Procedures.” Your procedure must be able to respond to each of these constants.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
  • Not available to 64-bit applications.
Declared In
ColorSyncDeprecated.h

CMProfileFilterProcPtr

Defines a pointer to a profile filter callback function that examines the profile whose reference you specify and determines whether to include it in the profile search result list.

typedef Boolean (*CMProfileFilterProcPtr)
(
   CMProfileRef prof,
   void * refCon
);

If you name your function MyCMProfileFilterProc, you would declare it like this:

Boolean MyCMProfileFilterProc (
   CMProfileRef prof,
   void * refCon
);

Parameters
prof

A profile reference of type CMProfileRef to the profile to test.

refCon

A pointer to a reference constant that holds data passed through from the CMNewProfileSearch function or the CMUpdateProfileSearch function.

Return Value

A value of false indicates that the profile should be included; true indicates that the profile should be filtered out.

Discussion

Your MyCMProfileFilterCallback function is called after the CMNewProfileSearch function searches for profiles based on the search record’s contents as specified by the search bitmask.

When your application calls CMNewProfileSearch, it passes a reference to a search specification record of type CMSearchRecord of type CMSearchRecord that contains a filter field. If the filter field contains a pointer to your MyCMProfileFilterCallback function, then your function is called to determine whether to exclude a profile from the search result list. Your function should return true for a given profile to exclude that profile from the search result list. If you do not want to filter profiles beyond the criteria in the search record, specify a NULL value for the search record’s filter field.

After a profile has been included in the profile search result based on criteria specified in the search record, your MyCMProfileFilterCallback function can further examine the profile. For example, you may wish to include or exclude the profile based on criteria such as an element or elements not included in the CMSearchRecord search record. Your MyCMProfileFilterCallback function can also perform searching using AND or OR logic.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
  • Not available to 64-bit applications.
Declared In
ColorSyncDeprecated.h

CMProfileIterateProcPtr

Defines a pointer to a profile iteration callback function that the ColorSync Manager calls for each found profile file as it iterates over the available profiles.

typedef OSErr (*CMProfileIterateProcPtr)
(
   CMProfileIterateData * iterateData,
   void * refCon
);

If you name your function MyCMProfileIterateProc, you would declare it like this:

OSErr MyCMProfileIterateProc (
   CMProfileIterateData * iterateData,
   void * refCon
);

Parameters
iterateData

A pointer to a structure of type CMProfileIterateData. When the function CMIterateColorSyncFolder calls MyProfileIterateCallback, as it does once for each found profile, the structure contains key information about the profile.

refCon

An untyped pointer to arbitrary data your application previously passed to the function CMIterateColorSyncFolder.

Return Value

An OSErr value. If MyCMProfileIterateCallback returns an error, CMIterateColorSyncFolder stops iterating and returns the error value to its caller (presumably your code).

Discussion

When your application needs information about the profiles currently available in the profiles folder, it calls the function CMIterateColorSyncFolder , which, depending on certain conditions, calls your callback routine once for each profile. See the description of CMIterateColorSyncFolder for information on when it calls the MyCMProfileIterateCallback function.

Your MyCMProfileIterateCallback function examines the structure pointed to by the iterateData parameter to obtain information about the profile it describes. The function determines whether to do anything with that profile, such as list its name in a pop-up menu of available profiles.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMProofImageProcPtr

Defines a pointer to a function that proofs an image.

typedef CMError (*CMProofImageProcPtr)
(
   const FSSpec * specFrom,
   const FSSpec * specInto,
   Boolean repl,
   UInt32 qual,
   CMProfileRef srcProf,
   UInt32 srcIntent,
   CMProfileRef dstProf,
   CMProfileRef prfProf
);

If you name your function MyCMProofImageProc, you would declare it like this:

CMError MyCMProofImageProc (
   const FSSpec * specFrom,
   const FSSpec * specInto,
   Boolean repl,
   UInt32 qual,
   CMProfileRef srcProf,
   UInt32 srcIntent,
   CMProfileRef dstProf,
   CMProfileRef prfProf
);

Parameters
specFrom

See the File Manager documentation for a description of the FSSpec data type.

specInto

See the File Manager documentation for a description of the FSSpec data type.

repl
qual
srcProf
srcIntent
dstProf
prfProf
Return Value

A CMError value. See “ColorSync Manager Result Codes.”

Availability
  • Available in OS X v10.0 through OS X v10.3.
Declared In
CMScriptingPlugin.h

CMSetIndImageProfileProcPtr

Defines a pointer to a function that sets a specific embedded profile for a given image.

typedef CMError (*CMSetIndImageProfileProcPtr)
(
   const FSSpec * specFrom,
   const FSSpec * specInto,
   Boolean repl,
   UInt32 index,
   CMProfileRef prof
);

If you name your function MyCMSetIndImageProfileProc, you would declare it like this:

CMError MyCMSetIndImageProfileProc (
   const FSSpec * specFrom,
   const FSSpec * specInto,
   Boolean repl,
   UInt32 index,
   CMProfileRef prof
);

Parameters
specFrom

See the File Manager documentation for a description of the FSSpec data type.

specInto

See the File Manager documentation for a description of the FSSpec data type.

repl
index
prof
Return Value

A CMError value. See “ColorSync Manager Result Codes.”

Availability
  • Available in OS X v10.0 through OS X v10.3.
Declared In
CMScriptingPlugin.h

CMUnembedImageProcPtr

Defines a pointer to a function that umembeds an ICC profile from an image.

typedef CMError (*CMUnembedImageProcPtr)
(
   const FSSpec * specFrom,
   const FSSpec * specInto,
   Boolean repl
);

If you name your function MyCMUnembedImageProc, you would declare it like this:

CMError MyCMUnembedImageProc (
   const FSSpec * specFrom,
   const FSSpec * specInto,
   Boolean repl
);

Parameters
specFrom

See the File Manager documentation for a description of the FSSpec data type.

specInto

See the File Manager documentation for a description of the FSSpec data type.

repl
Return Value

A CMError value. See “ColorSync Manager Result Codes.”

Availability
  • Available in OS X v10.0 through OS X v10.3.
Declared In
CMScriptingPlugin.h

CMValidImageProcPtr

Defines a pointer to a function that validates a specified image file.

typedef CMError (*CMValidImageProcPtr)
(
   const FSSpec * spec
);

If you name your function MyCMValidImageProc, you would declare it like this:

CMError MyCMValidImageProc (
   const FSSpec * spec
);

Parameters
spec

See the File Manager documentation for a description of the FSSpec data type.

Return Value

A CMError value. See “ColorSync Manager Result Codes.”

Availability
  • Available in OS X v10.0 through OS X v10.3.
Declared In
CMScriptingPlugin.h

CountImageProfilesProcPtr

Defines a pointer to a function that counts the number of embedded profiles for a given image.

typedef CMError (*CountImageProfilesProcPtr)
(
   const FSSpec * spec,
   UInt32 * count
);

If you name your function MyCountImageProfilesProc, you would declare it like this:

CMError MyCountImageProfilesProc (
   const FSSpec * spec,
   UInt32 * count
);

Parameters
spec

See the File Manager documentation for a description of the FSSpec data type.

count
Return Value

A CMError value. See “ColorSync Manager Result Codes.”

Availability
  • Available in OS X v10.0 through OS X v10.3.
Declared In
CMScriptingPlugin.h

EmbedImageProcPtr

Defines a pointer to an embed-image function.

typedef CMError (*EmbedImageProcPtr)
(
   const FSSpec * specFrom,
   const FSSpec * specInto,
   CMProfileRef embedProf,
   UInt32 embedFlags
);

If you name your function MyEmbedImageProc, you would declare it like this:

CMError MyEmbedImageProc (
   const FSSpec * specFrom,
   const FSSpec * specInto,
   CMProfileRef embedProf,
   UInt32 embedFlags
);

Parameters
specFrom

See the File Manager documentation for a description of the FSSpec data type.

specInto

See the File Manager documentation for a description of the FSSpec data type.

embedProf
embedFlags
Return Value

A CMError value. See “ColorSync Manager Result Codes.”

Availability
  • Available in OS X v10.0 through OS X v10.3.
Declared In
CMScriptingPlugin.h

GetImageSpaceProcPtr

Defines a pointer to a get-image-space function.

typedef CMError (*GetImageSpaceProcPtr)
(
   const FSSpec * spec,
   OSType * space
);

If you name your function MyGetImageSpaceProc, you would declare it like this:

CMError MyGetImageSpaceProc (
   const FSSpec * spec,
   OSType * space
);

Parameters
spec

See the File Manager documentation for a description of the FSSpec data type.

space
Return Value

A CMError value. See “ColorSync Manager Result Codes.”

Availability
  • Available in OS X v10.0 through OS X v10.3.
Declared In
CMScriptingPlugin.h

GetIndImageProfileProcPtr

Defines a pointer to a function that obtains a color profile for an individual image..

typedef CMError (*GetIndImageProfileProcPtr)
(
   const FSSpec * spec,
   UInt32 index,
   CMProfileRef * prof
);

If you name your function MyGetIndImageProfileProc, you would declare it like this:

CMError MyGetIndImageProfileProc (
   const FSSpec * spec,
   UInt32 index,
   CMProfileRef * prof
);

Parameters
spec

See the File Manager documentation for a description of the FSSpec data type.

index
prof
Return Value

A CMError value. See “ColorSync Manager Result Codes.”

Availability
  • Available in OS X v10.0 through OS X v10.3.
Declared In
CMScriptingPlugin.h

MatchImageProcPtr

Defines a pointer to a match-image function.

typedef CMError (*MatchImageProcPtr)
(
   const FSSpec * specFrom,
   const FSSpec * specInto,
   UInt32 qual,
   UInt32 srcIntent,
   CMProfileRef srcProf,
   CMProfileRef dstProf,
   CMProfileRef prfProf,
   UInt32 matchFlags
);

If you name your function MyMatchImageProc, you would declare it like this:

CMError MyMatchImageProc (
   const FSSpec * specFrom,
   const FSSpec * specInto,
   UInt32 qual,
   UInt32 srcIntent,
   CMProfileRef srcProf,
   CMProfileRef dstProf,
   CMProfileRef prfProf,
   UInt32 matchFlags
);

Parameters
specFrom

See the File Manager documentation for a description of the FSSpec data type.

specInto

See the File Manager documentation for a description of the FSSpec data type.

qual
srcIntent
srcProf
dstProf
prfProf
matchFlags
Return Value

A CMError value. See “ColorSync Manager Result Codes.”

Availability
  • Available in OS X v10.0 through OS X v10.3.
Declared In
CMScriptingPlugin.h

SetIndImageProfileProcPtr

Defines a pointer to a function that sets a color profile for an individual image.

typedef CMError (*SetIndImageProfileProcPtr)
(
   const FSSpec * specFrom,
   const FSSpec * specInto,
   UInt32 index,
   CMProfileRef prof,
   UInt32 embedFlags
);

If you name your function MySetIndImageProfileProc, you would declare it like this:

CMError MySetIndImageProfileProc (
   const FSSpec * specFrom,
   const FSSpec * specInto,
   UInt32 index,
   CMProfileRef prof,
   UInt32 embedFlags
);

Parameters
specFrom

See the File Manager documentation for a description of the FSSpec data type.

specInto

See the File Manager documentation for a description of the FSSpec data type.

index
prof
embedFlags
Return Value

A CMError value. See “ColorSync Manager Result Codes.”

Availability
  • Available in OS X v10.0 through OS X v10.3.
Declared In
CMScriptingPlugin.h

UnembedImageProcPtr

Defines a pointer to an umembed-image function.

typedef CMError (*UnembedImageProcPtr)
(
   const FSSpec * specFrom,
   const FSSpec * specInto
);

If you name your function MyUnembedImageProc, you would declare it like this:

CMError MyUnembedImageProc (
   const FSSpec * specFrom,
   const FSSpec * specInto
);

Parameters
specFrom

See the File Manager documentation for a description of the FSSpec data type.

specInto

See the File Manager documentation for a description of the FSSpec data type.

Return Value

A CMError value. See “ColorSync Manager Result Codes.”

Availability
  • Available in OS X v10.0 through OS X v10.3.
Declared In
CMScriptingPlugin.h

ValidateImageProcPtr

Defines a pointer to a validate-image function.

typedef CMError (*ValidateImageProcPtr)
(
   const FSSpec * spec
);

If you name your function MyValidateImageProc, you would declare it like this:

CMError MyValidateImageProc (
   const FSSpec * spec
);

Parameters
spec

See the File Manager documentation for a description of the FSSpec data type.

Return Value

A CMError value. See “ColorSync Manager Result Codes.”

Availability
  • Available in OS X v10.0 through OS X v10.3.
Declared In
CMScriptingPlugin.h

ValidateSpaceProcPtr

Defines a pointer to a validate-space function.

typedef CMError (*ValidateSpaceProcPtr)
(
   const FSSpec * spec,
   OSType * space
);

If you name your function MyValidateSpaceProc, you would declare it like this:

CMError MyValidateSpaceProc (
   const FSSpec * spec,
   OSType * space
);

Parameters
spec

See the File Manager documentation for a description of the FSSpec data type.

space
Return Value

A CMError value. See “ColorSync Manager Result Codes.”

Availability
  • Available in OS X v10.0 through OS X v10.3.
Declared In
CMScriptingPlugin.h

Data Types

CalibratorInfo

Contains data used to calibrate a display.

struct CalibratorInfo {
   UInt32 dataSize;
   CMDisplayIDType displayID;
   UInt32 profileLocationSize;
   CMProfileLocation * profileLocationPtr;
   CalibrateEventUPP eventProc;
   Boolean isGood;
};
typedef struct CalibratorInfo CalibratorInfo;
Fields
dataSize
displayID
profileLocationSize
profileLocationPtr
eventProc
isGood
Availability
  • Available in OS X v10.0 and later.
Declared In
CMCalibrator.h

CM2Header

Contains information that supports the header format specified by the ICC format specification for version 2.x profiles.

struct CM2Header {
   UInt32 size;
   OSType CMMType;
   UInt32 profileVersion;
   OSType profileClass;
   OSType dataColorSpace;
   OSType profileConnectionSpace;
   CMDateTime dateTime;
   OSType CS2profileSignature;
   OSType platform;
   UInt32 flags;
   OSType deviceManufacturer;
   UInt32 deviceModel;
   UInt32 deviceAttributes[2];
   UInt32 renderingIntent;
   CMFixedXYZColor white;
   OSType creator;
   char reserved[44];
};
typedef struct CM2Header CM2Header;
Fields
size

The total size in bytes of the profile.

CMMType

The signature of the preferred CMM for color-matching and color-checking sessions for this profile. To avoid conflicts with other CMMs, this signature must be registered with the ICC. For the signature of the default CMM, see “Default CMM Signature.”

profileVersion

The version of the profile format. The first 8 bits indicate the major version number, followed by 8 bits indicating the minor version number. The following 2 bytes are reserved.

The profile version number is not tied to the version of the ColorSync Manager. Profile formats and their versions are defined by the ICC. For example, a major version change may indicate the addition of new required tags to the profile format; a minor version change may indicate the addition of new optional tags.

profileClass

One of the seven profile classes supported by the ICC: input, display, output, named color space, device link, color space conversion, or abstract. For the signatures representing profile classes, see “Profile Classes.”

dataColorSpace

The color space of the profile. Color values used to express colors of images using this profile are specified in this color space. For a list of the color space signatures, see “Color Space Signatures.”

profileConnectionSpace

The profile connection space, or PCS. The signatures for the two profile connection spaces supported by ColorSync, cmXYZData and cmLabData, are described in “Color Space Signatures.”

dateTime

The date and time when the profile was created. You can use this value to keep track of your own versions of this profile. For information on the date and time format, see CMDateTime.

CS2profileSignature

The 'acsp' constant as required by the ICC format.

platform

The signature of the primary platform on which this profile runs. For Apple Computer, this is 'APPL'. For other platforms, refer to the International Color Consortium Profile Format Specification.

flags

Flags that provide hints, such as preferred quality and speed options, to the preferred CMM. The flags field consists of an unsigned long data type. The 16 bits in the low word, 0-15, are reserved for use by the ICC. The 16 bits in the high word, 16-31, are available for use by color management systems. For information on how these bits are defined and how your application can set and test them, see “Flag Mask Definitions for Version 2.x Profiles.”

deviceManufacturer

The signature of the manufacturer of the device to which this profile applies. This value is registered with the ICC.

deviceModel

The model of this device, as registered with the ICC.

deviceAttributes

Attributes that are unique to this particular device setup, such as media, paper, and ink types. The data type for this field is an array of two unsigned longs. The low word of deviceAttributes[0] is reserved by the ICC. The high word of deviceAttributes[0] and the entire word of deviceAttributes[1] are available for vendor use. For information on how the bits in deviceAttributes are defined and how your application can set and test them, see “Device Attribute Values for Version 2.x Profiles.”

renderingIntent

The preferred rendering intent for the object or file tagged with this profile. Four types of rendering intent are defined: perceptual, relative colorimetric, saturation, and absolute colorimetric. The renderingIntent field consists of an unsigned long data type. The low word is reserved by the ICC and is used to set the rendering intent. The high word is available for use. For information on how the bits in renderingIntent are defined and how your application can set and test them, see “Rendering Intent Values for Version 2.x Profiles.”

white

The profile illuminant white reference point, expressed in the XYZ color space.

creator

Signature identifying the profile creator.

reserved

This field is reserved for future use.

Discussion

The ColorSync Manager defines the CM2header profile structure to support the header format specified by the ICC format specification for version 2.x profiles. For a description of CMHeader, the ColorSync 1.0 profile header, see CMHeader. To obtain a copy of the International Color Consortium Profile Format Specification, or to get other information about the ICC, visit the ICC Web site at http://www.color.org/.

Your application cannot obtain a discrete profile header value using the element tag scheme available for use with elements outside the header. Instead, to set or modify values of a profile header, your application must obtain the entire profile header using the function CMGetProfileHeader and replace the header using the function CMSetProfileHeader.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CM2Profile

struct CM2Profile {
   CM2Header header;
   CMTagElemTable tagTable;
   char elemData[1];
};
typedef struct CM2Profile CM2Profile;
   typedef CM2Profile * CM2ProfilePtr;
Fields
header
tagTable
elemData
Availability
  • Available in OS X v10.0 and later.
Declared In
ColorSyncDeprecated.h

CM4Header

struct CM4Header {
   UInt32 size;
   OSType CMMType;
   UInt32 profileVersion;
   OSType profileClass;
   OSType dataColorSpace;
   OSType profileConnectionSpace;
   CMDateTime dateTime;
   OSType CS2profileSignature;
   OSType platform;
   UInt32 flags;
   OSType deviceManufacturer;
   UInt32 deviceModel;
   UInt32 deviceAttributes[2];
   UInt32 renderingIntent;
   CMFixedXYZColor white;
   OSType creator;
   CMProfileMD5 digest;
   char reserved[28];
};
typedef struct CM4Header CM4Header;
Fields
size
CMMType
profileVersion
profileClass
dataColorSpace
profileConnectionSpace
dateTime
CS2profileSignature
platform
flags
deviceManufacturer
deviceModel
deviceAttributes
renderingIntent
white
creator
digest
reserved
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMAccelerationCalcData

struct CMAccelerationCalcData {
   SInt32 pixelCount;
   Ptr inputData;
   Ptr outputData;
   UInt32 reserved1;
   UInt32 reserved2;
};
typedef struct CMAccelerationCalcData CMAccelerationCalcData;
Fields

CMAccelerationCalcDataPtr

typedef CMAccelerationCalcData* CMAccelerationCalcDataPtr;

CMAccelerationCalcDataHdl

typedef CMAccelerationCalcDataPtr* CMAccelerationCalcDataHdl;

CMAccelerationTableData

struct CMAccelerationTableData {
   SInt32 inputLutEntryCount;
   SInt32 inputLutWordSize;
   Handle inputLut;
   SInt32 outputLutEntryCount;
   SInt32 outputLutWordSize;
   Handle outputLut;
   SInt32 colorLutInDim;
   SInt32 colorLutOutDim;
   SInt32 colorLutGridPoints;
   SInt32 colorLutWordSize;
   Handle colorLut;
   CMBitmapColorSpace inputColorSpace;
   CMBitmapColorSpace outputColorSpace;
   void *userData;
   UInt32 reserved1;
   UInt32 reserved2;
   UInt32 reserved3;
   UInt32 reserved4;
   UInt32 reserved5;
};
typedef struct CMAccelerationTableData CMAccelerationTableData;
Fields

CMAccelerationTableDataPtr

typedef CMAccelerationTableData* CMAccelerationTableDataPtr;

CMAccelerationTableDataHdl

typedef CMAccelerationTableDataPtr* CMAccelerationTableDataHdl;

CMAdaptationMatrixType

struct CMAdaptationMatrixType {
   OSType typeDescriptor;
   unsigned long reserved;
   Fixed adaptationMatrix[9];
};
typedef struct CMAdaptationMatrixType CMAdaptationMatrixType;
Fields
typeDescriptor
reserved
adaptationMatrix
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMAppleProfileHeader

Defines a data structure to provide access to both version 2.x and version 1.0 profiles, as specified by the International Color Consortium.

union CMAppleProfileHeader {
   CMHeader cm1;
   CM2Header cm2;
   CM4Header cm4;
};
typedef union CMAppleProfileHeader CMAppleProfileHeader;
Fields
cm1

A version 1.0 profile header. For a description of the ColorSync version 1.0 profile header, see CMHeader.

cm2

A current profile header. For a description of the ColorSync profile header, see CM2Header.

cm4
Discussion

The ColorSync Manager defines the CMAppleProfileHeader structure to provide access to both version 2.x and version 1.0 profiles, as specified by the International Color Consortium. To obtain a copy of the International Color Consortium Profile Format Specification, or to get other information about the ICC, visit the ICC Web site at http://www.color.org/.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMBitmap

Contains information that describes color bitmap images.

struct CMBitmap {
   char * image;
   long width;
   long height;
   long rowBytes;
   long pixelSize;
   CMBitmapColorSpace space;
   long user1;
   long user2;
};
typedef struct CMBitmap CMBitmap;
Fields
image

A pointer to a bit image.

width

The width of the bit image, that is, the number of pixels in a row.

height

The height of the bit image, that is, the number of rows in the image.

rowBytes

The offset in bytes from one row of the image to the next.

pixelSize

The number of bits per pixel. The pixel size should correspond to the packing size specified in the space field. This requirement is not enforced as of ColorSync version 2.5, but it may be enforced in future versions.

space

The color space in which the colors of the bitmap image are specified. For a description of the possible color spaces for color bitmaps, see “Color Space Constants With Packing Formats.”

user1

Not used by ColorSync. It is recommended that you set this field to 0.

user2

Not used by ColorSync. It is recommended that you set this field to 0.

Discussion

The ColorSync Manager defines a bitmap structure of type CMBitmap to describe color bitmap images. When your application calls the function CWMatchColors , you pass a pointer to a source bitmap of type CMBitmap containing the image whose colors are to be matched to the color gamut of the device specified by the destination profile of the given color world. If you do not want the image color matched in place, you can also pass a pointer to a resulting bitmap of type CMBitmap to define and hold the color-matched image.

For QuickDraw GX, an image can have an indexed bitmap to a list of colors. The ColorSync Manager does not support indexed bitmaps in the same way QuickDraw GX does. ColorSync supports indexed bitmaps only when the cmNamedIndexed32Space color space constant is used in conjunction with a named color space profile.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMBitmapCallBackProc

typedef CMBitmapCallBackProcPtr CMBitmapCallBackProc;

CMBitmapCallBackUPP

Defines a universal procedure pointer to a bitmap callback.

typedef CMBitmapCallBackProcPtr CMBitmapCallBackUPP;
Discussion

For more information, see the description of the CMBitmapCallBackProcPtr callback function.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMBufferLocation

struct CMBufferLocation {
   void * buffer;
   UInt32 size;
};
typedef struct CMBufferLocation CMBufferLocation;
Fields
buffer
size
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMCMYColor

Contains color values expressed in the CMY color space.

struct CMCMYColor {
   UInt16 cyan;
   UInt16 magenta;
   UInt16 yellow;
};
typedef struct CMCMYColor CMCMYColor;
Fields
cyan
magenta
yellow
Discussion

A color value expressed in the CMY color space is composed of cyan, magenta, and yellow component values. Each color component is expressed as a numeric value within the range of 0 to 65535 inclusive.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMCMYKColor

Contains color values expressed in the CMYK color space.

struct CMCMYKColor {
   UInt16 cyan;
   UInt16 magenta;
   UInt16 yellow;
   UInt16 black;
};
typedef struct CMCMYKColor CMCMYKColor;
Fields
cyan
magenta
yellow
black
Discussion

A color value expressed in the CMYK color space is composed of cyan, magenta, yellow, and black component values. Each color component is expressed as a numeric value within the range of 0 to 65535 inclusive.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMColor

Defines a union that can be used to specify a color value defined by one of the 15 data types supported by the union.

union CMColor {
   CMRGBColor rgb;
   CMHSVColor hsv;
   CMHLSColor hls;
   CMXYZColor XYZ;
   CMLabColor Lab;
   CMLuvColor Luv;
   CMYxyColor Yxy;
   CMCMYKColor cmyk;
   CMCMYColor cmy;
   CMGrayColor gray;
   CMMultichannel5Color mc5;
   CMMultichannel6Color mc6;
   CMMultichannel7Color mc7;
   CMMultichannel8Color mc8;
   CMNamedColor namedColor;
};
typedef union CMColor CMColor;
Fields
rgb

A color value expressed in the RGB color space as data of type CMRGBColor.

hsv

A color value expressed in the HSV color space as data of type CMHSVColor.

hls

A color value expressed in the HLS color space as data of type CMHLSColor.

XYZ

A color value expressed in the XYZ color space as data of type CMXYZColor.

Lab

A color value expressed in the L*a*b* color space as data of type CMLabColor.

Luv

A color value expressed in the L*u*v* color space as data of type CMLuvColor.

Yxy

A color value expressed in the Yxy color space as data of type CMYxyColor.

cmyk

A color value expressed in the CMYK color space as data of type CMCMYKColor.

cmy

A color value expressed in the CMY color space as data of type CMCMYColor.

gray

A color value expressed in the Gray color space as data of type CMGrayColor.

mc5

A color value expressed in the five-channel multichannel color space as data of type CMMultichannel5Color. See CMMultichannel5Color for a description of the CMMultichannel5Color data type.

mc6

A color value expressed in the six-channel multichannel color space as data of type CMMultichannel6Color. See CMMultichannel6Color for a description of the CMMultichannel6Color data type.

mc7

A color value expressed in the seven-channel multichannel color space as data of type CMMultichannel7Color. See CMMultichannel7Color for a description of the CMMultichannel7Color data type.

mc8

A color value expressed in the eight-channel multichannel color space as data of type CMMultichannel8Color. See CMMultichannel8Color for a description of the CMMultichannel8Color data type.

namedColor

A color value expressed as an index into a named color space. See CMNamedColor for a description of the CMNamedColor data type.

Discussion

A color union can contain one of the above fields.

Your application can use a union of type CMColor to specify a color value defined by one of the 15 data types supported by the union. Your application uses an array of color unions to specify a list of colors to match, check, or convert. The array is passed as a parameter to the general purpose color matching, color checking, or color conversion functions. The following functions use a color union:

  • The function CWMatchColors matches the colors in the color list array to the data color space of the destination profile specified by the color world.

  • The function CWCheckColors checks the colors in the color list array against the color gamut specified by the color world’s destination profile.

  • The color conversion functions, described in “Converting Between Color Spaces”, take source and destination array parameters of type CMColor specifying lists of colors to convert from one color space to another.

You do not use a union of type CMColor to convert colors expressed in the XYZ color space as values of type CMFixedXYZ because the CMColor union does not support the CMFixedXYZ data type.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMConcatCallBackUPP

Defines a universal procedure pointer to a progress-monitoring function that the ColorSync Manager calls during lengthy color world processing.

typedef CMConcatCallBackProcPtr CMConcatCallBackUPP;
Discussion

For more information, see the description of the CMConcatCallBackProcPtr callback function.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMConcatProfileSet

Contains profile and other information needed to set up a color world.

struct CMConcatProfileSet {
   UInt16 keyIndex;
   UInt16 count;
   CMProfileRef profileSet[1];
};
typedef struct CMConcatProfileSet CMConcatProfileSet;
Fields
keyIndex

A zero-based index into the array of profile references identifying the profile whose CMM is used for the entire session. The profile’s CMMType field identifies the CMM.

count

The one-based count of profiles in the profile array. A minimum of one profile is required.

profileSet

A variable-length array of profile references. The references must be in processing order from source to destination. The rules governing the types of profiles you can specify in a profile array differ depending on whether you are creating a profile set for the function CWConcatColorWorld or for the function CWNewLinkProfile. See the function descriptions for details.

Discussion

You can call the function NCWNewColorWorld to create a color world for operations such as color matching and color conversion. A color world is normally based on two profiles—source and destination. But it can include a series of profiles that describe the processing for a work-flow sequence, such as scanning, printing, and previewing an image. To create a color world that includes a series of profiles, you use the function CWConcatColorWorld.

The array specified in the profileSet field identifies a concatenated profile set your application can use to establish a color world in which the sequential relationship among the profiles exists until your application disposes of the color world. Alternatively, you can create a device link profile composed of a series of linked profiles that remains intact and available for use again after your application disposes of the concatenated color world. In either case, you use a data structure of type CMConcatProfileSet to define the profile set.

A device link profile accommodates users who use a specific configuration requiring a combination of device profiles and possibly non-device profiles repeatedly over time.

To set up a color world that includes a concatenated set of profiles, your application uses the function CWConcatColorWorld , passing it a structure of type CMConcatProfileSet. The array you pass may contain a set of profile references or it may contain only the profile reference of a device link profile. To create a device link profile, your application calls the function CWNewLinkProfile, passing a structure of type CMConcatProfileSet.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMCurveType

struct CMCurveType {
   OSType typeDescriptor;
   UInt32 reserved;
   UInt32 countValue;
   UInt16 data[1];
};
typedef struct CMCurveType CMCurveType;
Fields
typeDescriptor
reserved
countValue
data
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMCWInfoRecord

Contains information about a given color world.

struct CMCWInfoRecord {
   UInt32 cmmCount;
   CMMInfoRecord cmmInfo[2];
};
typedef struct CMCWInfoRecord CMCWInfoRecord;
Fields
cmmCount

The number of CMMs involved in the color-matching session, either 1 or 2.

cmmInfo

An array containing two elements. Depending on the value that cmmCount returns, the cmmInfo array contains one or two records of type CMMInfoRecord reporting the CMM type and version number.

If cmmCount is 1, the first element of the array (cmmInfo[0]) describes the CMM and the contents of the second element of the array (cmmInfo[1]) is undefined.

If cmmCount is 2, the first element of the array (cmmInfo[0]) describes the source CMM and the second element of the array (cmmInfo[1]) describes the destination CMM.

Discussion

Your application supplies a color world information record structure of type CMCWInfoRecord as a parameter to the CMGetCWInfo function to obtain information about a given color world. The ColorSync Manager uses this data structure to return information about the color world.

Availability
  • Available in OS X v10.0 and later.
  • Not available to 64-bit applications.
Declared In
ColorSyncDeprecated.h

CMDataType

struct CMDataType {
   OSType typeDescriptor;
   UInt32 reserved;
   UInt32 dataFlag;
   char data[1];
};
typedef struct CMDataType CMDataType;
Fields
typeDescriptor
reserved
dataFlag
data
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMDateTime

Contains data that specifies a date and time in year, month, day of the month, hours, minutes, and seconds

struct CMDateTime {
   UInt16 year;
   UInt16 month;
   UInt16 dayOfTheMonth;
   UInt16 hours;
   UInt16 minutes;
   UInt16 seconds;
};
typedef struct CMDateTime CMDateTime;
Fields
year

The year. Note that to indicate the year 1984, this field would store the integer 1984, not just 84.

month

The month of the year, where 1 represents January, and 12 represents December.

dayOfTheMonth

The day of the month, ranging from 1 to 31.

hours

The hour of the day, ranging from 0 to 23, where 0 represents midnight and 23 represents 11:00 P.M.

minutes

The minutes of the hour, ranging from 0 to 59.

seconds

The seconds of the minute, ranging from 0 to 59.

Discussion

The ColorSync Manager defines the CMDateTime data structure to specify a date and time in year, month, day of the month, hours, minutes, and seconds. Other ColorSync structures use the CMDateTime structure to specify information such as the creation date or calibration date for a color space profile.

The CMDateTime structure is similar to the Macintosh Toolbox structure DateTimeRec, and like it, is intended to hold date and time values only for a Gregorian calendar.

The CMDateTime structure is platform independent. However, when used with Macintosh Toolbox routines such as SecondsToDate and DateToSeconds, which use seconds to designate years, the range of years that can be represented is limited.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMDateTimeType

struct CMDateTimeType {
   OSType typeDescriptor;
   UInt32 reserved;
   CMDateTime dateTime;
};
typedef struct CMDateTimeType CMDateTimeType;
Fields
typeDescriptor
reserved
dateTime
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMDeviceData

struct CMDeviceData {
   UInt32 dataVersion;
   CMDeviceSpec deviceSpec;
   CMDeviceScope deviceScope;
   CMDeviceState deviceState;
   CMDeviceProfileID defaultProfileID;
   UInt32 profileCount;
   UInt32 reserved;
};
typedef struct CMDeviceData CMDeviceData;

CMDeviceDataPtr

typedef CMDeviceData* CMDeviceDataPtr;

CMDeviceID

Defines a data type for a CM device ID.

typedef UInt32 CMDeviceID;
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMDeviceInfo

struct CMDeviceInfo {
   UInt32 dataVersion;
   CMDeviceClass deviceClass;
   CMDeviceID deviceID;
   CMDeviceScope deviceScope;
   CMDeviceState deviceState;
   CMDeviceProfileID defaultProfileID;
   CFDictionaryRef * deviceName;
   UInt32 profileCount;
   UInt32 reserved;
};
typedef struct CMDeviceInfo CMDeviceInfo;
   typedef CMDeviceInfo * CMDeviceInfoPtr;
Fields
dataVersion
deviceClass
deviceID
deviceScope
deviceState
defaultProfileID
deviceName

See the CFDictionary documentation for a description of the CFDictionaryRef data type.

profileCount
reserved
Availability
  • Available in OS X v10.0 and later.
Declared In
ColorSyncDeprecated.h

CMDeviceName

struct CMDeviceName {
   UniCharCount deviceNameLength;
   UniChar deviceName[256];
};
typedef struct CMDeviceName CMDeviceName;
Fields

CMDeviceNamePtr

typedef CMDeviceName* CMDeviceNamePtr;

CMDeviceProfileArray

struct CMDeviceProfileArray {
   UInt32 profileCount;
   CMDeviceProfileInfo profiles[1];
};
typedef struct CMDeviceProfileArray CMDeviceProfileArray;
   typedef CMDeviceProfileArray * CMDeviceProfileArrayPtr;
Fields
profileCount
profiles
Availability
  • Available in OS X v10.0 and later.
Declared In
ColorSyncDeprecated.h

CMDeviceProfileID

typedef UInt32 CMDeviceProfileID;
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMDeviceProfileInfo

struct CMDeviceProfileInfo {
   UInt32 dataVersion;
   CMDeviceProfileID profileID;
   CMProfileLocation profileLoc;
   CFDictionaryRef profileName;
   UInt32 reserved;
};
typedef struct CMDeviceProfileInfo CMDeviceProfileInfo;
Fields
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMDeviceProfileScope

typedef CMDeviceScope CMDeviceProfileScope;
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMDeviceScope

struct CMDeviceScope {
   CFStringRef deviceUser;
   CFStringRef deviceHost;
};
typedef struct CMDeviceScope CMDeviceScope;
   typedef CMDeviceScope CMDeviceProfileScope;
Fields
deviceUser
deviceHost
Availability
  • Available in OS X v10.0 and later.
Declared In
ColorSyncDeprecated.h

CMDeviceSpec

struct CMDeviceSpec {
   UInt32 specVersion;
   CMDeviceClass deviceClass;
   CMDeviceID deviceID;
   CMDeviceName deviceName;
   UInt32 reserved;
};
typedef struct CMDeviceSpec CMDeviceSpec;
Fields

CMDeviceSpecPtr

typedef CMDeviceSpec* CMDeviceSpecPtr;

CMDeviceState

typedef UInt32 CMDeviceState;
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMDisplayIDType

Defines a data type for a display ID type.

typedef UInt32 CMDisplayIDType;
Discussion

This data type is passed as a parameter to the functions CMGetProfileByAVID and CMSetProfileByAVID.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMError

Defines a data type for a ColorSync Manager result code.

typedef  CMError;
Discussion

For a list of possible result codes, see “ColorSync Manager Result Codes.”

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMFileLocation

Contains a file specification for a profile stored in a disk file.

struct CMFileLocation {
   FSSpec spec;
};
typedef struct CMFileLocation CMFileLocation;
Fields
spec

A file system specification structure giving the location of the profile file. A file specification structure includes the volume reference number, the directory ID of the parent directory, and the filename or directory name. See the File Manager documentation for a description of the FSSpec data type.

Discussion

Your application uses the CMFileLocation structure to provide a file specification for a profile stored in a disk file. You provide a file specification structure in the CMProfileLocation structure’s u field to specify the location of an existing profile or a profile to be created.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
  • Not available to 64-bit applications.
Declared In
ColorSyncDeprecated.h

CMFixedXYColor

struct CMFixedXYColor {
   Fixed x;
   Fixed y;
};
typedef struct CMFixedXYColor CMFixedXYColor;
Fields
x
y
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMFixedXYZColor

Contains data that specifies the profile illuminant in the profile header’s white field and other profile element values.

struct CMFixedXYZColor {
   Fixed X;
   Fixed Y;
   Fixed Z;
};
typedef struct CMFixedXYZColor CMFixedXYZColor;
Fields
X
Y
Z
Discussion

ColorSync uses the CMFixedXYZColor data type to specify the profile illuminant in the profile header’s white field and to specify other profile element values. Color component values defined by the Fixed type definition can be used to specify a color value in the XYZ color space with greater precision than a color whose components are expressed as CMXYZComponent data types. The Fixed data type is a signed 32-bit value. A color value expressed in the XYZ color space whose color components are of type Fixed is defined by the CMFixedXYZColor type definition.

Your application can convert colors defined in the XYZ color space between CMXYZColor data types (in which the color components are expressed as 16-bit unsigned values) and CMFixedXYZColor data types (in which the colors are expressed as 32-bit signed values). To convert color values, you use the functions CMConvertFixedXYZToXYZ and CMConvertXYZToFixedXYZ.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMFlattenUPP

Defines a universal procedure pointer to a data-flattening callback.

typedef CMFlattenProcPtr CMFlattenUPP;
Discussion

For more information, see the description of the CMFlattenProcPtr callback function.

Availability
  • Available in OS X v10.0 and later.
Declared In
ColorSyncDeprecated.h

CMGrayColor

Contains a color value expressed in the gray color space.

struct CMGrayColor {
   UInt16 gray;
};
typedef struct CMGrayColor CMGrayColor;
Fields
gray
Discussion

A color value expressed in the Gray color space is composed of a single component, gray, represented as a numeric value within the range of 0 to 65535 inclusive.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMHandleLocation

Contains a handle specification for a profile stored in relocatable memory.

struct CMHandleLocation {
   Handle h;
};
typedef struct CMHandleLocation CMHandleLocation;
Fields
h

A data structure of type Handle containing a handle that indicates the location of a profile in memory.

Discussion

Your application uses the CMHandleLocation structure to provide a handle specification for a profile stored in relocatable memory. You provide the handle specification structure in the CMProfileLocation structure’s u field to specify an existing profile or a profile to be created.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMHeader

Contains version 1.0 profile header data.

struct CMHeader {
   UInt32 size;
   OSType CMMType;
   UInt32 applProfileVersion;
   OSType dataType;
   OSType deviceType;
   OSType deviceManufacturer;
   UInt32 deviceModel;
   UInt32 deviceAttributes[2];
   UInt32 profileNameOffset;
   UInt32 customDataOffset;
   CMMatchFlag flags;
   CMMatchOption options;
   CMXYZColor white;
   CMXYZColor black;
};
typedef struct CMHeader CMHeader;
Fields
size

The total size in bytes of the profile, including any custom data.

CMMType

The signature of the preferred CMM for color-matching and color-checking sessions for this profile. To avoid conflicts with other CMMs, this signature must be registered with the ICC. For the signature of the default CMM, see “Default CMM Signature.”

applProfileVersion

The Apple profile version. Set this field to $0100 (defined as the constant kCMApplProfileVersion).

dataType

The kind of color data.

deviceType

The kind of device.

deviceManufacturer

A name supplied by the device manufacturer.

deviceModel

The device model specified by the manufacturer.

deviceAttributes

Private information such as paper surface and ink temperature.

profileNameOffset

The offset to the profile name from the top of data.

customDataOffset

The offset to any custom data from the top of data.

flags

A field used by drivers; it can hold one of the following flags:

CMNativeMatchingPreferredCMTurnOffCache

The CMNativeMatchingPreferred flag is available for developers of intelligent peripherals that can off-load color matching into the peripheral. Most drivers will not use this flag. (Its default setting is 0, meaning that the profile creator does not care whether matching occurs on the host or the device.)

Use the CMTurnOffCache flag for CMMs that will not benefit from a cache, such as those that can look up data from a table with less overhead, or that do not want to take the memory hit a cache entails, or that do their own caching and do not want the CMM to do it. (The default is 0, meaning turn on cache.

options

The options field specifies the preferred matching for this profile; the default is CMPerceptualMatch; other values are CMColorimetricMatch or CMSaturationMatch. The options are set by the image creator.

white

The profile illuminant white reference point, expressed in the XYZ color space.

black

The black reference point for this profile, expressed in the XYZ color space.

Discussion

ColorSync 1.0 defined a version 1.0 profile whose structure and format are different from that of the ICC version 2.x profile. The CMHeader data type represents the version 1.0 profile header. For more information on profile version numbers, see “ColorSync and ICC Profile Format Version Numbers”. To obtain a copy of the International Color Consortium Profile Format Specification, or to get other information about the ICC, visit the ICC Web site at http://www.color.org/

Your application cannot use ColorSync Manager functions to update a version 1.0 profile or to search for version 1.0 profiles. However, your application can use other ColorSync Manager functions that operate on version 1.0 profiles. For example, your application can open a version 1.0 profile using the function CMOpenProfile, obtain the version 1.0 profile header using the function CMGetProfileHeader, and access version 1.0 profile elements using the function CMGetProfileElement.

To make it possible to operate on both version 1.0 profiles and version 2.x profiles, the ColorSync Manager defines the union CMAppleProfileHeader, which supports either profile -*header version. The CMHeader data type defines the version 1.0 profile header, while the CM2Header data type defines the version 2.x profile header.

Version Notes

Use of the CMHeader type is not recommended for ColorSync versions starting with 2.0. Use CM2Header instead.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
  • Not available to 64-bit applications.
Declared In
ColorSyncDeprecated.h

CMHLSColor

Contains a color value expressed in the HLS color space.

struct CMHLSColor {
   UInt16 hue;
   UInt16 lightness;
   UInt16 saturation;
};
typedef struct CMHLSColor CMHLSColor;
Fields
hue

A hue value that represents a fraction of a circle in which red is positioned at 0. .

lightness

A lightness value.

saturation

A saturation value.

Discussion

A color value expressed in the HLS color space is composed of hue, lightness, and saturation component values. Each color component is expressed as a numeric value within the range of 0 to 65535 inclusive.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMHSVColor

Contains a color value expressed in the HSV color space.

struct CMHSVColor {
   UInt16 hue;
   UInt16 saturation;
   UInt16 value;
};
typedef struct CMHSVColor CMHSVColor;
Fields
hue
saturation
value
Discussion

A color value expressed in the HSV color space is composed of hue, saturation, and value component values. Each color component is expressed as a numeric value within the range of 0 to 65535 inclusive. The hue value represents a fraction of a circle in which red is positioned at 0.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMIntentCRDVMSize

Defines the rendering intent and its maximum VM size.

struct CMIntentCRDVMSize {
   long renderingIntent;
   UInt32 VMSize;
};
typedef struct CMIntentCRDVMSize CMIntentCRDVMSize;
Fields
renderingIntent

The rendering intent whose CRD virtual memory size you want to obtain. The rendering intent values are described in “Rendering Intent Values for Version 2.x Profiles.”

VMSize

The virtual memory size of the CRD for the rendering intent specified for the renderingIntent field.

Discussion

To specify the maximum virtual memory (VM) size of the color rendering dictionary (CRD) for a specific rendering intent for a particular PostScript(TM) Level 2 printer type, a printer profile can include the optional Apple-defined 'psvm' tag. The PostScript CRD virtual memory size tag structure’s element data includes an array containing one entry for each rendering intent and its virtual memory size.

If a PostScript printer profile includes this tag, the default CMM uses the tag and returns the values specified by the tag when your application or device driver calls the function CMGetPS2ColorRenderingVMSize.

If a PostScript printer profile does not include this tag, the CMM uses an algorithm to determine the VM size of the CRD. This may result in a size that is greater than the actual VM size.

The CMPS2CRDVMSizeType data type for the tag includes an array containing one or more members of type CMIntentCRDVMSize.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMIString

Defines a profile name.

struct CMIString {
   ScriptCode theScript;
   Str63 theString;
};
typedef struct CMIString CMIString;
   typedef CMIString IString;
Fields
theScript

The script code for the theString parameter.

theString

The profile name.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
  • Not available to 64-bit applications.
Declared In
ColorSyncDeprecated.h

CMLabColor

Contains a color value expressed in the L*a*b* color space.

struct CMLabColor {
   UInt16 L;
   UInt16 a;
   UInt16 b;
};
typedef struct CMLabColor CMLabColor;
Fields
L

A numeric value within the range of 0 to 65535, which maps to 0 to 100 inclusive. Note that this encoding is slightly different from the 0 to 65280 encoding of the L channel defined in the ICC specification for PCS L*a*b values.

a

A value that ranges from 0 to 65535, and maps to –128 to 127.996 inclusive.

b

A value that ranges from 0 to 65535, and maps to –128 to 127.996 inclusive.

Discussion

A color expressed in the L*a*b* color space is composed of L, a, and b component values.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMLut16Type

struct CMLut16Type {
   OSType typeDescriptor;
   UInt32 reserved;
   UInt8 inputChannels;
   UInt8 outputChannels;
   UInt8 gridPoints;
   UInt8 reserved2;
   Fixed matrix[3][3];
   UInt16 inputTableEntries;
   UInt16 outputTableEntries;
   UInt16 inputTable[1];
};
typedef struct CMLut16Type CMLut16Type;
Fields
typeDescriptor
reserved
inputChannels
outputChannels
gridPoints
reserved2
matrix
inputTableEntries
outputTableEntries
inputTable
CLUT
outputTable
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMLut8Type

struct CMLut8Type {
   OSType typeDescriptor;
   UInt32 reserved;
   UInt8 inputChannels;
   UInt8 outputChannels;
   UInt8 gridPoints;
   UInt8 reserved2;
   Fixed matrix[3][3];
   UInt8 inputTable[1];
};
typedef struct CMLut8Type CMLut8Type;
Fields
typeDescriptor
reserved
inputChannels
outputChannels
gridPoints
reserved2
matrix
inputTable
CLUT
outputTable
aNet
aNode
aSocket
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMLuvColor

Contains a color value expressed in the L*u*v* color space.

struct CMLuvColor {
   UInt16 L;
   UInt16 u;
   UInt16 v;
};
typedef struct CMLuvColor CMLuvColor;
Fields
L

A numeric value within the range of 0 to 65535 that maps to 0 to 100 inclusive.

u

A numeric value within the range of 0 to 65535 that maps to –128 to 127.996 inclusive.

v

A numeric value within the range of 0 to 65535 that maps to –128 to 127.996 inclusive.

Discussion

A color value expressed in the L*u*v* color space is composed of L, u, and v component values.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMMakeAndModel

Contains make and model information fro a device.

struct CMMakeAndModel {
   OSType manufacturer;
   UInt32 model;
   UInt32 serialNumber;
   UInt32 manufactureDate;
   UInt32 reserved1;
   UInt32 reserved2;
   UInt32 reserved3;
   UInt32 reserved4;
};
typedef struct CMMakeAndModel CMMakeAndModel;
Fields
manufacturer
model
serialNumber
manufactureDate
reserved1
reserved2
reserved3
reserved4
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMMakeAndModelType

Contains make and model information along with a type descriptor.

struct CMMakeAndModelType {
   OSType typeDescriptor;
   UInt32 reserved;
   CMMakeAndModel makeAndModel;
};
typedef struct CMMakeAndModelType CMMakeAndModelType;
Fields
typeDescriptor
reserved
makeAndModel
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMMatchFlag

Defines a data type for match flags.

typedef  long CMMatchFlag;
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
  • Not available to 64-bit applications.
Declared In
ColorSyncDeprecated.h

CMMatchOption

Defines a data type for match options.

typedef long CMMatchOption;
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
  • Not available to 64-bit applications.
Declared In
ColorSyncDeprecated.h

CMMatchRef

Defines an abstract private data structure for the color-matching-session reference.

typedef struct OpaqueCMMatchRef * CMMatchRef;
Discussion

The ColorSync Manager defines an abstract private data structure of type OpaqueCMMatchRef for the color-matching-session reference. When your application calls the function NCMBeginMatching to begin a QuickDraw-specific color-matching session, the ColorSync Manager returns a reference pointer to the color-matching session which you must later pass to the CMEndMatching function to conclude the session.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
  • Not available to 64-bit applications.
Declared In
ColorSyncDeprecated.h

CMMeasurementType

Contains measurement type information.

struct CMMeasurementType {
   OSType typeDescriptor;
   UInt32 reserved;
   UInt32 standardObserver;
   CMFixedXYZColor backingXYZ;
   UInt32 geometry;
   UInt32 flare;
   UInt32 illuminant;
};
typedef struct CMMeasurementType CMMeasurementType;
Fields
typeDescriptor
reserved
standardObserver
backingXYZ
geometry
flare
illuminant
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMMInfo

Contains information pertaining to a color management module.

struct CMMInfo {
   UInt32 dataSize;
   OSType CMMType;
   OSType CMMMfr;
   UInt32 CMMVersion;
   unsigned char ASCIIName[32];
   unsigned char ASCIIDesc[256];
   UniCharCount UniCodeNameCount;
   UniChar UniCodeName[32];
   UniCharCount UniCodeDescCount;
   UniChar UniCodeDesc[256];
};
typedef struct CMMInfo CMMInfo;
Fields
dataSize
CMMType
CMMMfr
CMMVersion
ASCIIName
ASCIIDesc
UniCodeNameCount
UniCodeName
UniCodeDescCount
UniCodeDesc
TPLFMT_BKSZ
TPLFMT_NBLOCKS
TPLFMT_EDCLOC
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMMInfoRecord

Contains CMM type and version information.

struct CMMInfoRecord {
   OSType CMMType;
   long CMMVersion;
};
typedef struct CMMInfoRecord CMMInfoRecord;
Fields
CMMType

The signature of the CMM as specified in the profile header’s CMMType field. The CMGetCWInfo function returns this value.

CMMVersion

The version of the CMM. The CMGetCWInfo function returns this value.

Discussion

Your application supplies an array containing two CMM information record structures of type CMMInfoRecord as a field of the CMCWInfoRecord structure. These structures allow the CMGetCWInfo function to return information about the one or two CMMs used in a given color world. Your application must allocate memory for the array. When your application calls the CMGetCWInfo function, it passes a pointer to the CMCWInfoRecord structure containing the array.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
  • Not available to 64-bit applications.
Declared In
ColorSyncDeprecated.h

CMMIterateUPP

Defines a universal procedure pointer to a CMM iteration callback.

typedef CMMIterateProcPtr CMMIterateUPP;
Discussion

For more information, see the description of the CMMIterateProcPtr callback function.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMMultichannel5Color

Contains a color value expressed in the multichannel color space with 5 channels.

struct CMMultichannel5Color {
   UInt8 components[5];
};
typedef struct CMMultichannel5Color CMMultichannel5Color;
Fields
components
Discussion

A color expressed in the multichannel color space with 5 channels. The color value for each channel component is expressed as an unsigned byte of type char.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMMultichannel6Color

Contains a color expressed in the multichannel color space with 6 channels.

struct CMMultichannel6Color {
   UInt8 components[6];
};
typedef struct CMMultichannel6Color CMMultichannel6Color;
Fields
components
Discussion

A color expressed in the multichannel color space with 6 channels. The color value for each channel component is expressed as an unsigned byte of type char.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMMultichannel7Color

Contains a color value expressed in the multichannel color space with 7 channels.

struct CMMultichannel7Color {
   UInt8 components[7];
};
typedef struct CMMultichannel7Color CMMultichannel7Color;
Fields
components
Discussion

A color expressed in the multichannel color space with 7 channels. The color value for each channel component is expressed as an unsigned byte of type char.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMMultichannel8Color

Contains a color value expressed in the multichannel color space with 8 channels

struct CMMultichannel8Color {
   UInt8 components[8];
};
typedef struct CMMultichannel8Color CMMultichannel8Color;
Fields
components
Discussion

A color expressed in the multichannel color space with 8 channels. The color value for each channel component is expressed as an unsigned byte of type char.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMMultiFunctCLUTType

struct CMMultiFunctCLUTType {
   UInt8 gridPoints[16];
   UInt8 entrySize;
   UInt8 reserved[3];
   UInt8 data[1];
};
typedef struct CMMultiFunctCLUTType CMMultiFunctCLUTType;
Fields
gridPoints
entrySize
reserved
data
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMMultiFunctLutA2BType

typedef CMMultiFunctLutType CMMultiFunctLutA2BType;
Availability
  • Available in OS X v10.1 and later.
Declared In
ColorSyncDeprecated.h

CMMultiFunctLutB2AType

typedef CMMultiFunctLutType CMMultiFunctLutB2AType;
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMMultiFunctLutType

struct CMMultiFunctLutType {
   OSType typeDescriptor;
   UInt32 reserved;
   UInt8 inputChannels;
   UInt8 outputChannels;
   UInt16 reserved2;
   UInt32 offsetBcurves;
   UInt32 offsetMatrix;
   UInt32 offsetMcurves;
   UInt32 offsetCLUT;
   UInt32 offsetAcurves;
   UInt8 data[1];
};
typedef struct CMMultiFunctLutType CMMultiFunctLutType;
   typedef CMMultiFunctLutType CMMultiFunctLutA2BType;
Fields
typeDescriptor
reserved
inputChannels
outputChannels
reserved2
offsetBcurves
offsetMatrix
offsetMcurves
offsetCLUT
offsetAcurves
data
Availability
  • Available in OS X v10.1 and later.
Declared In
ColorSyncDeprecated.h

CMMultiLocalizedUniCodeEntryRec

struct CMMultiLocalizedUniCodeEntryRec {
   char languageCode[2];
   char regionCode[2];
   UInt32 textLength;
   UInt32 textOffset;
};
typedef struct CMMultiLocalizedUniCodeEntryRec CMMultiLocalizedUniCodeEntryRec;
Fields
languageCode
regionCode
textLength
textOffset
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMMultiLocalizedUniCodeType

struct CMMultiLocalizedUniCodeType {
   OSType typeDescriptor;
   UInt32 reserved;
   UInt32 entryCount;
   UInt32 entrySize;
};
typedef struct CMMultiLocalizedUniCodeType CMMultiLocalizedUniCodeType;
Fields
typeDescriptor
reserved
entryCount
entrySize
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMNamedColor

Contains a color value expressed in a named color space.

struct CMNamedColor {
   UInt32 namedColorIndex;
};
typedef struct CMNamedColor CMNamedColor;
Fields
namedColorIndex
Discussion

A color value expressed in a named color space is composed of a single component, namedColorIndex, represented as a numeric value within the range of an unsigned long, or 1 to 232 – 1 inclusive.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMNamedColor2EntryType

struct CMNamedColor2EntryType {
   UInt8 rootName[32];
   UInt16 PCSColorCoords[3];
   UInt16 DeviceColorCoords[1];
};
typedef struct CMNamedColor2EntryType CMNamedColor2EntryType;
Fields
rootName
PCSColorCoords
DeviceColorCoords
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMNamedColor2Type

struct CMNamedColor2Type {
   OSType typeDescriptor;
   UInt32 reserved;
   UInt32 vendorFlag;
   UInt32 count;
   UInt32 deviceChannelCount;
   UInt8 prefixName[32];
   UInt8 suffixName[32];
   char data[1];
};
typedef struct CMNamedColor2Type CMNamedColor2Type;
Fields
typeDescriptor
reserved
vendorFlag
count
deviceChannelCount
prefixName
suffixName
data
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMNamedColorType

struct CMNamedColorType {
   OSType typeDescriptor;
   UInt32 reserved;
   UInt32 vendorFlag;
   UInt32 count;
   UInt8 prefixName[1];
};
typedef struct CMNamedColorType CMNamedColorType;
Fields
typeDescriptor
reserved
vendorFlag
count
prefixName
suffixName
data
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMNativeDisplayInfo

Contains color information for a native display.

struct CMNativeDisplayInfo {
   UInt32 dataSize;
   CMFixedXYColor redPhosphor;
   CMFixedXYColor greenPhosphor;
   CMFixedXYColor bluePhosphor;
   CMFixedXYColor whitePoint;
   Fixed redGammaValue;
   Fixed greenGammaValue;
   Fixed blueGammaValue;
   UInt16 gammaChannels;
   UInt16 gammaEntryCount;
   UInt16 gammaEntrySize;
   char gammaData[1];
};
typedef struct CMNativeDisplayInfo CMNativeDisplayInfo;
Fields
dataSize
redPhosphor
greenPhosphor
bluePhosphor
whitePoint
redGammaValue
greenGammaValue
blueGammaValue
gammaChannels
gammaEntryCount
gammaEntrySize
gammaData
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMNativeDisplayInfoType

Contains color information and a type descriptor for a native display.

struct CMNativeDisplayInfoType {
   OSType typeDescriptor;
   unsigned long reserved;
   CMNativeDisplayInfo nativeDisplayInfo;
};
typedef struct CMNativeDisplayInfoType CMNativeDisplayInfoType;
Fields
typeDescriptor
reserved
nativeDisplayInfo
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMParametricCurveType

struct CMParametricCurveType {
   OSType typeDescriptor;
   UInt32 reserved;
   UInt16 functionType;
   UInt16 reserved2;
   Fixed value[1];
};
typedef struct CMParametricCurveType CMParametricCurveType;
Fields
typeDescriptor
reserved
functionType
reserved2
value
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMPathLocation

Contains path information.

struct CMPathLocation {
   char path[256];
};
typedef struct CMPathLocation CMPathLocation;
Fields
path
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMProcedureLocation

Contains a universal procedure pointer to a profile access procedure.

struct CMProcedureLocation {
   CMProfileAccessUPP proc;
   void * refCon;
};
typedef struct CMProcedureLocation CMProcedureLocation;
Fields
proc

A universal procedure pointer to a profile access procedure. For a description of the procedure, see the function CMProfileAccessProcPtr.

refCon

A pointer to the profile access procedure’s private data, such as a file or resource name, a pointer to a current offset, and so on.

Discussion

Your application uses the CMProcedureLocation structure to provide a universal procedure pointer to a profile access procedure. You provide this structure in the CMProfileLocation structure’s u field. The CMProcedureLocation structure also contains a pointer field to specify data associated with the profile access procedure.

The ColorSync Manager calls your profile access procedure when the profile is created, initialized, opened, read, updated, or closed.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
  • Not available to 64-bit applications.
Declared In
ColorSyncDeprecated.h

CMProfile

struct CMProfile {
   CMHeader header;
   CMProfileChromaticities profile;
   CMProfileResponse response;
   CMIString profileName;
   char customData[1];
};
typedef struct CMProfile CMProfile;
   typedef CMProfile * CMProfilePtr;
Fields
header
profile
response
profileName
customData
Availability
  • Available in OS X v10.0 and later.
  • Not available to 64-bit applications.
Declared In
ColorSyncDeprecated.h

CMProfileAccessUPP

Defines a universal procedure pointer to a profile access callback.

typedef CMProfileAccessProcPtr CMProfileAccessUPP;
Discussion

For more information, see the description of the CMProfileAccessProcPtr ) callback function.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
  • Not available to 64-bit applications.
Declared In
ColorSyncDeprecated.h

CMProfileChromaticities

struct CMProfileChromaticities {
   CMXYZColor red;
   CMXYZColor green;
   CMXYZColor blue;
   CMXYZColor cyan;
   CMXYZColor magenta;
   CMXYZColor yellow;
};
typedef struct CMProfileChromaticities CMProfileChromaticities;
Fields
red
green
blue
cyan
magenta
yellow
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
  • Not available to 64-bit applications.
Declared In
ColorSyncDeprecated.h

CMProfileFilterProc

typedef CMProfileFilterProcPtr CMProfileFilterProc;

CMProfileFilterUPP

Defines a universal procedure pointer to a profile filter callback.

typedef CMProfileFilterProcPtr CMProfileFilterUPP;
Discussion

For more information, see the description of the CMProfileFilterProcPtr callback function.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
  • Not available to 64-bit applications.
Declared In
ColorSyncDeprecated.h

CMProfileIdentifier

Contains data that can identify a profile but that takes up much less space than a large profile.

struct CMProfileIdentifier {
   CM2Header profileHeader;
   CMDateTime calibrationDate;
   UInt32 ASCIIProfileDescriptionLen;
   char ASCIIProfileDescription[1];
};
typedef struct CMProfileIdentifier CMProfileIdentifier;
   typedef CMProfileIdentifier * CMProfileIdentifierPtr;
Fields
profileHeader

A version 2.x profile header structure. For more information, see CM2Header. In determining a profile match, all header fields are considered, except for primary platform, flags, and rendering intent.

calibrationDate

A structure of type CMDateTime, which specifies year, month, day of month, hours, minutes, and seconds. This field is optional—when set to 0, it is not considered in determining a profile match. When nonzero, it is compared to the 'calt' tag data.

ASCIIProfileDescriptionLen

The length of the ASCII description string that follows.

ASCIIProfileDescription

The ASCII profile description string, as specified by the profile description tag.

Discussion

Embedding a profile in an image guarantees that the image can be rendered correctly on a different system. However, profiles can be large—as much as several hundred kilobytes. The ColorSync Manager defines a profile identifier structure, CMProfileIdentifier, that can identify a profile but that takes up much less space than a large profile.

The profile identifier structure contains a profile header, an optional calibration date, a profile description string length, and a variable-length profile description string. Your application might use an embedded profile identifier, for example, to change just the rendering intent or the flag values in an image without having to embed an entire copy of a profile. Rendering intent is described in “Rendering Intent Values for Version 2.x Profiles” and flag values are described in “Flag Mask Definitions for Version 2.x Profiles.”

A document containing an embedded profile identifier cannot necessarily be ported to different systems or platforms.

The ColorSync Manager provides the function routine NCMUseProfileComment to embed profiles and profile identifiers in an open picture file. Your application can embed profile identifiers in place of entire profiles, or in addition to them. A profile identifier can refer to an embedded profile or to a profile on disk.

The ColorSync Manager provides two routines for finding a profile identifier:

The descriptions of those functions provide information on searching algorithms. See also CMProfileSearchRef

The CMProfileIdentifierPtr type definition defines a pointer to a profile identifier structure.

Availability
  • Available in OS X v10.0 and later.
  • Not available to 64-bit applications.
Declared In
ColorSyncDeprecated.h

CMProfileIterateData

Contains a callback routine with a description of a profile that is during an iteration through the available profiles.

struct CMProfileIterateData {
   UInt32 dataVersion;
   CM2Header header;
   ScriptCode code;
   Str255 name;
   CMProfileLocation location;
   UniCharCount uniCodeNameCount;
   UniChar * uniCodeName;
   unsigned char * asciiName;
   CMMakeAndModel * makeAndModel;
   CMProfileMD5 * digest;
};
typedef struct CMProfileIterateData CMProfileIterateData;
Fields
dataVersion

A value identifying the version of the structure. Currently set to cmProfileIterateDataVersion1.

header

A ColorSync version 2.x profile header structure of type CM2Header, containing information such as the profile size, type, version, and so on.

code

A script code identifying the script system used for the profile description. The ScriptCode data type is defined in the MacTypes.h header file.

name

The profile name, stored as a Pascal-type string (with length byte first) of up to 255 characters.

location

A structure specifying the profile location. With ColorSync 2.5, the location is always file-based, but that may not be true for future versions. Your code should always verify that the location structure contains a file specification before attempting to use it.

uniCodeNameCount
uniCodeName
asciiName
makeAndModel
digest
TPLDEV_TYPE_WPS_SPEED
deviceData
Discussion

The ColorSync Manager defines the CMProfileIterateData structure to provide your CMProfileIterateProcPtr callback routine with a description of a profile during an iteration through the available profiles that takes place when you call CMIterateColorSyncFolder.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMProfileIterateUPP

Defines a universal procedure pointer to a profile iteration callback.

typedef CMProfileIterateProcPtr CMProfileIterateUPP;
Discussion

For more information, see the description of the CMProfileIterateProcPtr ) callback function.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMProfileLocation

Contains profile location information.

struct CMProfileLocation {
   short locType;
   CMProfLoc u;
};
typedef struct CMProfileLocation CMProfileLocation;
Fields
locType

The type of data structure that the u field’s CMProfLoc union holds—a file specification, a handle, a pointer, or a universal procedure pointer. To specify the type, you use the constants defined in the enumeration described in “Profile Location Type.”

u

A union of type CMProfLoc identifying the profile location.

Discussion

Your application passes a profile location structure of type CMProfileLocation when it calls:

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMProfileMD5

Defines a data type for an MD5 digest.

typedef  unsigned char CMProfileMD5[16];
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMProfileName

Contains profile name and length.

struct CMProfileName {
   UniCharCount profileNameLength;
   UniChar profileName[256];
};
typedef struct CMProfileName CMProfileName;

CMProfileNamePtr

Defines a pointer to a profile name data structure.

typedef CMProfileName* CMProfileNamePtr;

CMProfileRef

Defines a reference to an opaque data type that specifies profile information.

typedef struct OpaqueCMProfileRef * CMProfileRef;
Discussion

A profile reference is the means by which your application gains access to a profile. Several ColorSync Manager functions return a profile reference to your application. Your application then passes it as a parameter on subsequent calls to other ColorSync Manager functions that use profiles.

The ColorSync Manager returns a unique profile reference in response to each individual call to the CMOpenProfile, CMCopyProfile , and CMNewProfile functions. This allows multiple applications concurrent access to a profile. The ColorSync Manager defines an abstract private data structure of type OpaqueCMProfileRef for the profile reference.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMProfileResponse

struct CMProfileResponse {
   UInt16 counts[9];
   UInt16 data[1];
};
typedef struct CMProfileResponse CMProfileResponse;
Fields
counts
data
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
  • Not available to 64-bit applications.
Declared In
ColorSyncDeprecated.h

CMProfileSearchRecord

struct CMProfileSearchRecord {
   CMHeader header;
   UInt32 fieldMask;
   UInt32 reserved[2];
};
typedef struct CMProfileSearchRecord CMProfileSearchRecord;
   typedef CMProfileSearchRecord * CMProfileSearchRecordPtr;
Fields
header
fieldMask
reserved
Availability
  • Available in OS X v10.0 and later.
  • Not available to 64-bit applications.
Declared In
ColorSyncDeprecated.h

CMProfileSearchRef

Defines a reference to an opaque profile search object.

typedef struct OpaqueCMProfileSearchRef * CMProfileSearchRef;
Discussion

A search result consists of a list of profiles matching certain search criteria. When your application calls the function CMNewProfileSearch to search in the ColorSync Profiles folder for profiles that meet certain criteria, the ColorSync Manager returns a reference to an internal private data structure containing the search result. Your application passes the search result reference to these ColorSync functions:

The ColorSync Manager uses an abstract private data structure of type OpaqueCMProfileSearchRef in defining the search result reference.

Version Notes

This type is not recommended for use in ColorSync 2.5.

This type does not take advantage of the profile cache added in ColorSync version 2.5. It is used with the searching described in “Searching for Profiles Prior to ColorSync 2.5”. See CMProfileIterateData for information on data structures used with searching in version 2.5.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
  • Not available to 64-bit applications.
Declared In
ColorSyncDeprecated.h

CMProfileSequenceDescType

struct CMProfileSequenceDescType {
   OSType typeDescriptor;
   UInt32 reserved;
   UInt32 count;
   char data[1];
};
typedef struct CMProfileSequenceDescType CMProfileSequenceDescType;
Fields
typeDescriptor
reserved
count
data
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMProfLoc

Defines a union that identifies the location of a profile.

union CMProfLoc {
   CMFileLocation fileLoc;
   CMHandleLocation handleLoc;
   CMPtrLocation ptrLoc;
   CMProcedureLocation procLoc;
   CMPathLocation pathLoc;
   CMBufferLocation bufferLoc;
};
typedef union CMProfLoc CMProfLoc;
Fields
fileLoc

A data structure containing a file system specification record specifying the location of a profile disk file.

handleLoc

A data structure containing a handle that indicates the location of a profile in relocatable memory.

ptrLoc

A data structure containing a pointer that points to a profile in nonrelocatable memory.

procLoc

A data structure containing a universal procedure pointer that points to a profile access procedure supplied by you. The ColorSync Manager calls your procedure when the profile is created, initialized, opened, read, updated, or closed.

pathLoc
bufferLoc
Discussion

You use a union of type CMProfLoc to identify the location of a profile. You specify the union in the u field of the data type CMProfileLocation. Your application passes a pointer to a CMProfileLocation structure when it calls the CMOpenProfile function to identify the location of a profile or the CMNewProfile, CMCopyProfile , or CWNewLinkProfile functions to specify the location for a newly created profile.

You also pass a pointer to a CMProfileLocation structure to the NCMGetProfileLocation and CMGetProfileLocation functions to get the location of an existing profile. The NCMGetProfileLocation function is available starting with ColorSync version 2.5. It differs from its predecessor, CMGetProfileLocation, in that the newer version has a parameter for the size of the location structure for the specified profile.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMPS2CRDVMSizeType

Defines the Apple-defined 'psvm' optional tag.

struct CMPS2CRDVMSizeType {
   OSType typeDescriptor;
   UInt32 reserved;
   UInt32 count;
   CMIntentCRDVMSize intentCRD[1];
};
typedef struct CMPS2CRDVMSizeType CMPS2CRDVMSizeType;
Fields
typeDescriptor

The 'psvm' tag signature.

reserved

Reserved for future use.

count

The number of entries in the intentCRD array. You should specify at least four entries: 0, 1, 2, and 3.

intentCRD

A variable-sized array of four or more members defined by the CMIntentCRDSize data type.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMPtrLocation

Contains a pointer specification for a profile stored in nonrelocatable memory.

struct CMPtrLocation {
   Ptr p;
};
typedef struct CMPtrLocation CMPtrLocation;
Fields
p

A data structure of type Ptr holding a pointer that points to the location of a profile in memory.

Discussion

Your application uses the CMPtrLocation structure to provide a pointer specification for a profile stored in nonrelocatable memory. You provide the pointer specification structure in the CMProfileLocation structure’s u field to point to an existing profile.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
  • Not available to 64-bit applications.
Declared In
ColorSyncDeprecated.h

CMRGBColor

Contains a color value expressed in the RGB color space.

struct CMRGBColor {
   UInt16 red;
   UInt16 green;
   UInt16 blue;
};
typedef struct CMRGBColor CMRGBColor;
Fields
red
green
blue
Discussion

A color value expressed in the RGB color space is composed of red, green, and blue component values. Each color component is expressed as a numeric value within the range of 0 to 65535.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMS15Fixed16ArrayType

struct CMS15Fixed16ArrayType {
   OSType typeDescriptor;
   UInt32 reserved;
   Fixed value[1];
};
typedef struct CMS15Fixed16ArrayType CMS15Fixed16ArrayType;
Fields
typeDescriptor
reserved
value
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMScreeningChannelRec

struct CMScreeningChannelRec {
   Fixed frequency;
   Fixed angle;
   UInt32 spotFunction;
};
typedef struct CMScreeningChannelRec CMScreeningChannelRec;
Fields
frequency
angle
spotFunction
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMScreeningType

struct CMScreeningType {
   OSType typeDescriptor;
   UInt32 reserved;
   UInt32 screeningFlag;
   UInt32 channelCount;
   CMScreeningChannelRec channelInfo[1];
};
typedef struct CMScreeningType CMScreeningType;
Fields
typeDescriptor
reserved
screeningFlag
channelCount
data
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMSearchRecord

Contains information needed for a search.

struct CMSearchRecord {
   OSType CMMType;
   OSType profileClass;
   OSType dataColorSpace;
   OSType profileConnectionSpace;
   UInt32 deviceManufacturer;
   UInt32 deviceModel;
   UInt32 deviceAttributes[2];
   UInt32 profileFlags;
   UInt32 searchMask;
   CMProfileFilterUPP filter;
};
typedef struct CMSearchRecord CMSearchRecord;
Fields
CMMType

The signature of a CMM. The signature of the default CMM is specified by the kDefaultCMMSignature constant.

profileClass

The class signature identifying the type of profile to search for. For a list of profile class signatures, see “Profile Classes.”

dataColorSpace

A data color space. For a list of the color space signatures, see “Color Space Signatures.”

profileConnectionSpace

A profile connection color space. The signatures for the two profile connection spaces supported by ColorSync, cmXYZData and cmLabData, are described in “Color Space Signatures.”

deviceManufacturer

The signature of the manufacturer.

deviceModel

The model of a device.

deviceAttributes

Attributes for a particular device setup, such as media, paper, and ink types.

profileFlags

Flags that indicate hints for the preferred CMM, such as quality, speed, and memory options. In most cases, you will not want to search for profiles based on the flags settings.

searchMask

A bitmask that specifies the search record fields to use in the profile search.

filter

A pointer to an application-supplied function that determines whether to exclude a profile from the profile search result list. For more information, see the function CMProfileFilterProcPtr.

Discussion

Your application supplies a search record of type CMSearchRecord as the searchSpec parameter to the function CMNewProfileSearch. The search record structure provides the ColorSync Manager with search criteria to use in determining which version 2.x profiles to include in the result list and which to filter out.

Most of the fields in the CMSearchRecord structure are identical to corresponding fields in the CM2Header structure for version 2.x profiles. When you set a bit in the searchMask field of the CMSearchRecord structure, you cause the search criteria to include the data specified by that bit. For example, if you set the cmMatchProfileCMMType bit, the search result will not include a profile unless the data in the profile header’s CMMType field matches the data you specify in the CMSearchRecord structure’s CMMType field.

If you specify a bit in the searchMask field, you must supply information in the CMSearchRecord field that corresponds to that bit.

The ColorSync Manager preserves the search criteria internally along with the search result list until your application calls the CMDisposeProfileSearch function to release the memory. This allows your application to call the CMUpdateProfileSearch function to update the search result if the ColorSync Profiles folder contents change without needing to provide the search specification again.

Version Notes

This type is not recommended for use in ColorSync 2.5.

You cannot use the ColorSync Manager search functions to search for ColorSync 1.0 profiles.

This type does not take advantage of the profile cache added in ColorSync version 2.5. It is used with the searching described in “Searching for Profiles Prior to ColorSync 2.5”. See CMProfileIterateData for information on data structures used with searching in version 2.5.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
  • Not available to 64-bit applications.
Declared In
ColorSyncDeprecated.h

CMSignatureType

struct CMSignatureType {
   OSType typeDescriptor;
   UInt32 reserved;
   OSType signature;
};
typedef struct CMSignatureType CMSignatureType;
Fields
typeDescriptor
reserved
signature
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMTagElemTable

struct CMTagElemTable {
   UInt32 count;
   CMTagRecord tagList[1];
};
typedef struct CMTagElemTable CMTagElemTable;
Fields
count
tagList
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMTagRecord

struct CMTagRecord {
   OSType tag;
   UInt32 elementOffset;
   UInt32 elementSize;
};
typedef struct CMTagRecord CMTagRecord;
Fields
tag
elementOffset
elementSize
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMTextDescriptionType

struct CMTextDescriptionType {
   OSType typeDescriptor;
   UInt32 reserved;
   UInt32 ASCIICount;
   UInt8 ASCIIName[2];
};
typedef struct CMTextDescriptionType CMTextDescriptionType;
Fields
typeDescriptor
reserved
ASCIICount
ASCIIName
UniCodeCode
UniCodeCount
UniCodeName
ScriptCodeCode
ScriptCodeCount
ScriptCodeName
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMTextType

struct CMTextType {
   OSType typeDescriptor;
   UInt32 reserved;
   UInt8 text[1];
};
typedef struct CMTextType CMTextType;
Fields
typeDescriptor
reserved
text
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMU16Fixed16ArrayType

struct CMU16Fixed16ArrayType {
   OSType typeDescriptor;
   UInt32 reserved;
   UInt32 value[1];
};
typedef struct CMU16Fixed16ArrayType CMU16Fixed16ArrayType;
Fields
typeDescriptor
reserved
value
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMUcrBgType

struct CMUcrBgType {
   OSType typeDescriptor;
   UInt32 reserved;
   UInt32 ucrCount;
   UInt16 ucrValues[1];
};
typedef struct CMUcrBgType CMUcrBgType;
Fields
typeDescriptor
reserved
ucrCount
ucrValues
bgCount
bgValues
ucrbgASCII
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMUInt16ArrayType

struct CMUInt16ArrayType {
   OSType typeDescriptor;
   UInt32 reserved;
   UInt16 value[1];
};
typedef struct CMUInt16ArrayType CMUInt16ArrayType;
Fields
typeDescriptor
reserved
value
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMUInt32ArrayType

struct CMUInt32ArrayType {
   OSType typeDescriptor;
   UInt32 reserved;
   UInt32 value[1];
};
typedef struct CMUInt32ArrayType CMUInt32ArrayType;
Fields
typeDescriptor
reserved
value
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMUInt64ArrayType

struct CMUInt64ArrayType {
   OSType typeDescriptor;
   UInt32 reserved;
   UInt32 value[1];
};
typedef struct CMUInt64ArrayType CMUInt64ArrayType;
Fields
typeDescriptor
reserved
value
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMUInt8ArrayType

struct CMUInt8ArrayType {
   OSType typeDescriptor;
   UInt32 reserved;
   UInt8 value[1];
};
typedef struct CMUInt8ArrayType CMUInt8ArrayType;
Fields
typeDescriptor
reserved
value
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMUnicodeTextType

struct CMUnicodeTextType {
   OSType typeDescriptor;
   UInt32 reserved;
   UniChar text[1];
};
typedef struct CMUnicodeTextType CMUnicodeTextType;
Fields
typeDescriptor
reserved
text
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMVideoCardGamma

Contains video gamma data to store with a video gamma profile tag.

struct CMVideoCardGamma {
   UInt32 tagType
   union {
      CMVideoCardGammaTable table;
      CMVideoCardGammaFormula formula;
   } u;
};
typedef struct CMVideoCardGamma CMVideoCardGamma;
Fields
tagType

A “Video Card Gamma Storage Types” constant that specifies the format of the data currently stored in the union. To determine the type of structure present in a specific instance of the CMVideoCardGamma structure, you test this union tag. If you are setting up a CMVideoCardGamma structure to store video card gamma data, you set tagType to a constant value that identifies the structure type you are using. The possible constant values are described in “Video Card Gamma Storage Types.”

table

A structure of type CMVideoCardGammaTable. If the tagType field has the value cmVideoCardGammaTableType, the CMVideoCardGamma structure’s union field should be treated as a table, as described in CMVideoCardGammaTable.

formula
Discussion

The ColorSync Manager defines the CMVideoCardGamma data structure to specify the video gamma data to store with a video gamma profile tag. The structure is a union that can store data in either table or formula format.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMVideoCardGammaFormula

struct CMVideoCardGammaFormula {
   Fixed redGamma;
   Fixed redMin;
   Fixed redMax;
   Fixed greenGamma;
   Fixed greenMin;
   Fixed greenMax;
   Fixed blueGamma;
   Fixed blueMin;
   Fixed blueMax;
};
typedef struct CMVideoCardGammaFormula CMVideoCardGammaFormula;
Fields
redGamma

The gamma value for red. It must be greater than 0.0.

redMin

The minimum gamma value for red. It must be greater than 0.0 and less than 1.0.

redMax

The maximum gamma value for red. It must be greater than 0.0 and less than 1.0.

greenGamma

The gamma value for green. It must be greater than 0.0.

greenMin

The minimum gamma value for green. It must be greater than 0.0 and less than 1.0.

greenMax

The maximum gamma value for green. It must be greater than 0.0 and less than 1.0.

blueGamma

The gamma value for blue. It must be greater than 0.0.

blueMin

The minimum gamma value for blue. It must be greater than 0.0 and less than 1.0.

blueMax

The maximum gamma value for blue. It must be greater than 0.0 and less than 1.0.

Discussion

The ColorSync Manager defines the CMVideoCardGammaFormula data structure to specify video card gamma data by providing three values each for red, blue and green gamma. The values represent the actual gamma, the minimum gamma, and the maximum gamma for each color. Specifying video gamma information by formula takes less space than specifying it with a table, but the results may be less precise.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMVideoCardGammaTable

struct CMVideoCardGammaTable {
   UInt16 channels;
   UInt16 entryCount;
   UInt16 entrySize;
   char data[1];
};
typedef struct CMVideoCardGammaTable CMVideoCardGammaTable;
Fields
channels

Number of gamma channels (1 or 3). If channels is set to 1 then the red, green, and blue lookup tables (LUTs) of the video card will be loaded with the same data. If channels is set to 3, then if the video card supports separate red, green, and blue LUTs, then the video card LUTs will be loaded with the data for the three channels from the data array.

entryCount

Number of entries per channel (1-based). The number of entries must be greater than or equal to 2.

entrySize

Size in bytes of each entry.

data

Variable-sized array of data. The size of the data is equal to channels*entryCount*entrySize.

Discussion

The ColorSync Manager defines the CMVideoCardGammaTable data structure to specify video card gamma data in table format. You specify the number of channels, the number of entries per channel, and the size of each entry. The last field in the structure is an array of size one that serves as the start of the table data. The actual size of the array is equal to the number of channels times the number of entries times the size of each entry.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMVideoCardGammaType

Specifies a video card gamma profile tag.

struct CMVideoCardGammaType {
   OSType typeDescriptor;
   UInt32 reserved;
   CMVideoCardGamma gamma;
};
typedef struct CMVideoCardGammaType CMVideoCardGammaType;
Fields
typeDescriptor

The signature type for a video card gamma tag. There is currently only one type possible, cmSigVideoCardGammaType.

reserved

This field is reserved and must contain the value 0.

gamma

A structure that specifies the video card gamma data for the profile tag, as described in CMVideoCardGamma.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMViewingConditionsType

struct CMViewingConditionsType {
   OSType typeDescriptor;
   UInt32 reserved;
   CMFixedXYZColor illuminant;
   CMFixedXYZColor surround;
   UInt32 stdIlluminant;
};
typedef struct CMViewingConditionsType CMViewingConditionsType;
Fields
typeDescriptor
reserved
illuminant
surround
stdIlluminant
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMWorldRef

Defines an opaque data type used for color-matching and color-checking sessions.

typedef struct OpaqueCMWorldRef * CMWorldRef;
Discussion

Your application passes a color world reference as a parameter on calls to functions to perform color-matching and color-checking sessions and to dispose of the color world. When your application calls the function NCWNewColorWorld and the function CWConcatColorWorld to allocate a color world for color-matching and color-checking sessions, the ColorSync Manager returns a reference to the color world. The ColorSync Manager defines an abstract private data structure of type OpaqueCMWorldRef for the color world reference.

The color world is affected by the rendering intent, lookup flag, gamut flag, and quality flag of the profiles that make up the color world. For more information, see “Rendering Intent Values for Version 2.x Profiles,” “Flag Mask Definitions for Version 2.x Profiles,” and “Quality Flag Values for Version 2.x Profiles.”

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMXYZColor

Contains values for a color specified in XYZ color space.

struct CMXYZColor {
   CMXYZComponent X;
   CMXYZComponent Y;
   CMXYZComponent Z;
};
typedef struct CMXYZColor CMXYZColor;
   typedef CMXYZColor XYZColor;
Fields
X
Y
Z
Discussion

Three color component values defined by the CMXYZComponent type definition combine to form a color value specified in the XYZ color space. The color value is defined by the CMXYZColor type definition.

Your application uses the CMXYZColor data structure to specify a color value in the CMColor union to use in general purpose color matching, color checking, or color conversion. You also use the CMXYZColor data structure to specify the XYZ white point reference used in the conversion of colors to or from the XYZ color space.

Availability
  • Available in OS X v10.0 and later.
Declared In
ColorSyncDeprecated.h

CMXYZComponent

typedef UInt16 CMXYZComponent;
Discussion

Three components combine to express a color value defined by the CMXYZColor type definition in the XYZ color space. Each color component is described by a numeric value defined by the CMXYZComponent type definition. A component value of type CMXYZComponent is expressed as a 16-bit value. This is formatted as an unsigned value with 1 bit of integer portion and 15 bits of fractional portion.

Availability
  • Available in OS X v10.0 and later.
Declared In
ColorSyncDeprecated.h

CMXYZType

struct CMXYZType {
   OSType typeDescriptor;
   UInt32 reserved;
   CMFixedXYZColor XYZ[1];
};
typedef struct CMXYZType CMXYZType;
Fields
typeDescriptor
reserved
XYZ
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

CMYKColor

typedef CMCMYKColor CMYKColor;

CMYxyColor

Contains values for a color expressed in the Yxy color space.

struct CMYxyColor {
   UInt16 capY;
   UInt16 x;
   UInt16 y;
};
typedef struct CMYxyColor CMYxyColor;
Fields
capY
x
y
Discussion

A color value expressed in the Yxy color space is composed of capY, x, and y component values. Each color component is expressed as a numeric value within the range of 0 to 65535 which maps to 0 to 1.

Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

NCMConcatProfileSet

struct NCMConcatProfileSet {
   OSType cmm;
   UInt32 flags;
   UInt32 flagsMask;
   UInt32 profileCount;
   NCMConcatProfileSpec profileSpecs[1];
};
typedef struct NCMConcatProfileSet NCMConcatProfileSet;
Fields
cmm
flags
flagsMask
profileCount
profileSpecs
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

NCMConcatProfileSpec

struct NCMConcatProfileSpec {
   UInt32 renderingIntent;
   UInt32 transformTag;
   CMProfileRef profile;
};
typedef struct NCMConcatProfileSpec NCMConcatProfileSpec;
Fields
renderingIntent
transformTag
profile
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

NCMDeviceProfileInfo

struct NCMDeviceProfileInfo {
   UInt32 dataVersion;
   CMDeviceProfileID profileID;
   CMProfileLocation profileLoc;
   CFDictionaryRef profileName;
   CMDeviceProfileScope profileScope;
   UInt32 reserved;
};
typedef struct NCMDeviceProfileInfo NCMDeviceProfileInfo;
Fields
dataVersion
profileID
profileLoc
profileName
profileScope
reserved
Availability
  • Available in OS X v10.0 and later.
  • Deprecated in OS X v10.6.
Declared In
ColorSyncDeprecated.h

Constants

Abstract Color Space Constants

Specify values that represent general color spaces.

enum {
   cmNoSpace = 0x0000,
   cmRGBSpace = 0x0001,
   cmCMYKSpace = 0x0002,
   cmHSVSpace = 0x0003,
   cmHLSSpace = 0x0004,
   cmYXYSpace = 0x0005,
   cmXYZSpace = 0x0006,
   cmLUVSpace = 0x0007,
   cmLABSpace = 0x0008,
   cmReservedSpace1 = 0x0009,
   cmGraySpace = 0x000A,
   cmReservedSpace2 = 0x000B,
   cmGamutResultSpace = 0x000C,
   cmNamedIndexedSpace = 0x0010,
   cmMCFiveSpace = 0x0011,
   cmMCSixSpace = 0x0012,
   cmMCSevenSpace = 0x0013,
   cmMCEightSpace = 0x0014,
   cmAlphaPmulSpace = 0x0040,
   cmAlphaSpace = 0x0080,
   cmRGBASpace = cmRGBSpace + cmAlphaSpace,
   cmGrayASpace = cmGraySpace + cmAlphaSpace,
   cmRGBAPmulSpace = cmRGBASpace + cmAlphaPmulSpace,
   cmGrayAPmulSpace = cmGrayASpace + cmAlphaPmulSpace
};
Constants
cmNoSpace

The ColorSync Manager does not use this constant.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmRGBSpace

An RGB color space composed of red, green, and blue components. A bitmap never uses this constant alone. Instead, this color space is always combined with a packing format describing the amount of storage per component.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmCMYKSpace

A CMYK color space composed of cyan, magenta, yellow, and black. A bitmap never uses this constant alone. Instead, this color space is always combined with a packing format describing the amount of storage per component.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmHSVSpace

An HSV color space composed of hue, saturation, and value components. A bitmap never uses this constant alone. Instead, this color space is always combined with a packing format describing the amount of storage per component.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmHLSSpace

An HLS color space composed of hue, lightness, and saturation components. A bitmap never uses this constant alone. Instead, this color space is always combined with a packing format describing the amount of storage per component.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmYXYSpace

A Yxy color space composed of Y, x, and y components. A bitmap never uses this constant alone. Instead, this color space is always combined with a packing format describing the amount of storage per component.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmXYZSpace

An XYZ color space composed of X, Y, and Z components. A bitmap never uses this constant alone. Instead, this color space is always combined with a packing format describing the amount of storage per component.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmLUVSpace

An L*u*v* color space composed of L*, u*, and v* components. A bitmap never uses this constant alone. Instead, this color space is always combined with a packing format describing the amount of storage per component.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmLABSpace

An L*a*b* color space composed of L*, a*, b* components. A bitmap never uses this constant alone. Instead, this color space is always combined with a packing format describing the amount of storage per component.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmReservedSpace1

This field is reserved for use by QuickDraw GX.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmGraySpace

A luminance color space with a single component, gray.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmReservedSpace2

This field is reserved for use by QuickDraw GX.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmGamutResultSpace

A color space for the resulting bitmap pointed to by the resultBitMap field of the function CWMatchColors. A bitmap never uses this constant alone. Instead, it uses the constant cmGamutResult1Space, which combines cmGamutResultSpace and cmOneBitDirectPacking to define a bitmap that is 1 bit deep.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmNamedIndexedSpace

A named indexed color space.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmMCFiveSpace

A five-channel multichannel (HiFi) data color space.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmMCSixSpace

A six-channel multichannel (HiFi) data color space.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmMCSevenSpace

A seven-channel multichannel (HiFi) data color space.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmMCEightSpace

An eight-channel multichannel (HiFi) data color space.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmAlphaPmulSpace

A premultiplied alpha channel component is added to the color value.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmAlphaSpace

An alpha channel component is added to the color value.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmRGBASpace

An RGB color space composed of red, green, and blue color value components and an alpha channel component. ColorSync does not currently support bitmaps that use this constant alone. Instead, this constant indicates the presence of an alpha channel in combination with cmLong8ColorPacking to indicate 8-bit packing format and cmAlphaFirstPacking to indicate the position of the alpha channel as the first component.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmGrayASpace

A luminance color space with two components, a gray component followed by an alpha channel component. Each component value is 16 bits.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmRGBAPmulSpace

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmGrayAPmulSpace

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Discussion

The data type CMBitmap defines a bitmap for an image whose colors can be matched with the function CWMatchColors or color-checked with the function CWCheckColors.

The space field of the CMBitmap type definition identifies the color space in which the colors of the bitmap image are specified. A color space is characterized by a number of components or dimensions, with each component carrying a numeric value. These values together make up the color value. A color space also specifies the format in which the color value is stored. For bitmaps in which color values are packed, the space field of the CMBitmap data type holds a constant that defines the color space and the packing format.

For the CWMatchBitmap function to perform color matching successfully, the color space specified in the CMBitmap data type’s space field must correspond to the color space specified in the profile’s dataColorSpace field. The source bitmap and source profile values must match and the destination bitmap and destination profile values must match. For the CWCheckBitMap function to perform color checking successfully, the source profile’s dataColorSpace field value and the space field value of the source bitmap must specify the same color space. These functions will execute successfully as long as the color spaces are the same without regard for the packing format specified by the bitmap.

This enumeration defines constants for abstract color spaces which, when combined with a packing format constant as described in “Color Packing for Color Spaces,” can be used in the space field of the CMBitmap structure. The combined constants are shown in “Color Space Constants With Packing Formats.”

Version Notes

The constants cmRGBASpace and cmGrayASpace were moved to this enum from “Color Space Constants With Packing Formats” in ColorSync version 2.5.

Calibrator Name Prefix

Specify an interface for new ColorSync monitor calibrators (ColorSync 2.6 and greater)

enum {
   kCalibratorNamePrefix = 'cali'
};
Constants
kCalibratorNamePrefix

Available in OS X v10.0 and later.

Declared in CMCalibrator.h.

Channel Encoding Format

Specify an encoding format for sRGB64.

enum {
   cmSRGB16ChannelEncoding = 0x00010000
};
Constants
cmSRGB16ChannelEncoding

Used for sRGB64 encoding ( ±3.12 format)

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Chromatic Adaptation Values

Specify a transformation to use for chromaric adaptation.

typedef UInt32 CMChromaticAdaptation;
enum {
   cmUseDefaultChromaticAdaptation = 0,
   cmLinearChromaticAdaptation = 1,
   cmVonKriesChromaticAdaptation = 2,
   cmBradfordChromaticAdaptation = 3
};
Constants
cmUseDefaultChromaticAdaptation

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmLinearChromaticAdaptation

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmVonKriesChromaticAdaptation

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmBradfordChromaticAdaptation

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

CMM Function Selectors

Define selectors used for component-based CMM functions.

enum {
   kCMMOpen = -1,
   kCMMClose = -2,
   kCMMGetInfo = -4,
   kNCMMInit = 6,
   kCMMMatchColors = 1,
   kCMMCheckColors = 2,
   kCMMValidateProfile = 8,
   kCMMMatchBitmap = 9,
   kCMMCheckBitmap = 10,
   kCMMConcatenateProfiles = 5,
   kCMMConcatInit = 7,
   kCMMNewLinkProfile = 16,
   kNCMMConcatInit = 18,
   kNCMMNewLinkProfile = 19,
   kCMMGetPS2ColorSpace = 11,
   kCMMGetPS2ColorRenderingIntent = 12,
   kCMMGetPS2ColorRendering = 13,
   kCMMGetPS2ColorRenderingVMSize = 17,
   kCMMFlattenProfile = 14,
   kCMMUnflattenProfile = 15,
   kCMMInit = 0,
   kCMMGetNamedColorInfo = 70,
   kCMMGetNamedColorValue = 71,
   kCMMGetIndNamedColorValue = 72,
   kCMMGetNamedColorIndex = 73,
   kCMMGetNamedColorName = 74,
   kCMMMatchPixMap = 3,
   kCMMCheckPixMap = 4
};
Constants
kCMMOpen

Required.

Available in OS X v10.0 through OS X v10.3.

Declared in CMMComponent.h.

kCMMClose

Required.

Available in OS X v10.0 through OS X v10.3.

Declared in CMMComponent.h.

kCMMGetInfo

Required.

Available in OS X v10.0 through OS X v10.3.

Declared in CMMComponent.h.

kNCMMInit

In response to this request code, your CMM should initialize any private data it will need for the color session and for subsequent requests from the calling application or driver. Required.

Available in OS X v10.0 through OS X v10.3.

Declared in CMMComponent.h.

kCMMMatchColors

In response to this request code, your CMM should match the colors in the myColors parameter to the color gamut of the destination profile and replace the color-list color values with the matched colors. Required.

Available in OS X v10.0 through OS X v10.3.

Declared in CMMComponent.h.

kCMMCheckColors

In response to this request code, your CMM should test the given list of colors in the myColors parameter against the gamut specified by the destination profile and report if the colors fall within a destination device’s color gamut. For more information, see the function CWCheckColors. Required.

Available in OS X v10.0 through OS X v10.3.

Declared in CMMComponent.h.

kCMMValidateProfile

In response to this request code, your CMM should test the profile whose reference is passed in the prof parameter to determine if the profile contains the minimum set of elements required for a profile of its type. For more information, see the function CMValidateProfile.

Available in OS X v10.0 through OS X v10.3.

Declared in CMMComponent.h.

kCMMMatchBitmap

In response to this request code, your CMM must match the colors of the source image bitmap pointed to by the bitmap parameter to the gamut of the destination device using the profiles specified by a previous kNCMMInit, kCMMInit, or kCMMConcatInit request to your CMM. For more information, see the function CWMatchBitmap.

Available in OS X v10.0 through OS X v10.3.

Declared in CMMComponent.h.

kCMMCheckBitmap

In response to this request code, your CMM must check the colors of the source image bitmap pointed to by the bitmap parameter against the gamut of the destination device using the profiles specified by a previous kNCMMInit, kCMMInit, or kCMMConcatInit request to your CMM. For more information, see the function CWCheckBitmap.

Available in OS X v10.0 through OS X v10.3.

Declared in CMMComponent.h.

kCMMConcatenateProfiles

This request code is for backward compatibility with ColorSync 1.0.

Available in OS X v10.0 through OS X v10.3.

Declared in CMMComponent.h.

kCMMConcatInit

In response to this request code, your CMM should initialize any private data your CMM will need for a color session involving the set of profiles specified by the profile array pointed to by the profileSet parameter. Your function should also initialize any additional private data needed in handling subsequent calls pertaining to this component instance. For more information, see the function CWConcatColorWorld.

Available in OS X v10.0 through OS X v10.3.

Declared in CMMComponent.h.

kCMMNewLinkProfile

In response to this request code, your CMM must create a single device link profile of type DeviceLink that includes the profiles passed to you in the array pointed to by the profileSet parameter. For more information, see the function CWNewLinkProfile.

Available in OS X v10.0 through OS X v10.3.

Declared in CMMComponent.h.

kNCMMConcatInit

Available in OS X v10.0 through OS X v10.3.

Declared in CMMComponent.h.

kNCMMNewLinkProfile

Available in OS X v10.0 through OS X v10.3.

Declared in CMMComponent.h.

kCMMGetPS2ColorSpace

In response to this request code, your CMM must obtain or derive the color space element data from the source profile whose reference is passed to your function in the srcProf parameter and pass the data to a low-level data-transfer function supplied by the calling application or device driver. For more information, see the function CMGetPS2ColorSpace.

Available in OS X v10.0 through OS X v10.3.

Declared in CMMComponent.h.

kCMMGetPS2ColorRenderingIntent

In response to this request code, your CMM must obtain the color-rendering intent from the header of the source profile whose reference is passed to your function in the srcProf parameter and then pass the data to a low-level data-transfer function supplied by the calling application or device driver. For more information, see the function CMGetPS2ColorRenderingIntent.

Available in OS X v10.0 through OS X v10.3.

Declared in CMMComponent.h.

kCMMGetPS2ColorRendering

In response to this request code, your CMM must obtain the rendering intent from the source profile’s header and generate the color rendering dictionary (CRD) data from the destination profile, and then pass the data to a low-level data-transfer function supplied by the calling application or device driver. For more information, see the function CMGetPS2ColorRendering.

Available in OS X v10.0 through OS X v10.3.

Declared in CMMComponent.h.

kCMMGetPS2ColorRenderingVMSize

In response to this request code, your CMM must obtain or assess the maximum virtual memory (VM) size of the color rendering dictionary (CRD) specified by the destination profile. You must return the size of the CRD for the rendering intent specified by the source profile. For more information, see the function CMGetPS2ColorRenderingVMSize.

Available in OS X v10.0 through OS X v10.3.

Declared in CMMComponent.h.

kCMMFlattenProfile

In response to this request code, your CMM must extract the profile data from the profile to flatten, identified by the prof parameter, and pass the profile data to the function specified in the proc parameter. For more information, see the function CMFlattenProfile.

Changed in ColorSync 2.5: Starting with ColorSync version 2.5, the ColorSync Manager calls the function provided by the calling program directly, without going through the preferred, or any, CMM. Your CMM only needs to handle this request code for versions of ColorSync prior to version 2.5.

Available in OS X v10.0 through OS X v10.3.

Declared in CMMComponent.h.

kCMMUnflattenProfile

In response to this request code, your CMM must create a temporary file in which to store the profile data you receive from the low-level data-transfer function supplied by the calling application or driver. Your function must return the file specification.

Changed in ColorSync 2.5: Starting with ColorSync version 2.5, the ColorSync Manager calls the function provided by the calling program directly, without going through the preferred, or any, CMM. Your CMM only needs to handle this request code for versions of ColorSync prior to version 2.5.

Available in OS X v10.0 through OS X v10.3.

Declared in CMMComponent.h.

kCMMInit

This request code is provided for backward compatibility with ColorSync 1.0. A CMM that supports ColorSync 1.0 profiles should respond to this request code by initializing any private data required for the color-matching or gamut-checking session to be held as indicated by subsequent request codes. If your CMM supports only ColorSync 1.0 profiles or both ColorSync 1.0 profiles and ColorSync Manager version 2.x profiles, you must support this request code. If you support only ColorSync Manager version 2.x profiles, you should return an unimplemented error in response to this request code.

Available in OS X v10.0 through OS X v10.3.

Declared in CMMComponent.h.

kCMMGetNamedColorInfo

In response to this request code, your CMM extracts named color data from the profile whose reference is passed in the srcProf parameter. For more information, see the function CMGetNamedColorInfo.

Available in OS X v10.0 through OS X v10.3.

Declared in CMMComponent.h.

kCMMGetNamedColorValue

In response to this request code, your CMM extracts device and profile connection space (PCS) color values for a specific color name from the profile whose reference is passed in the prof parameter. For more information, see the function CMGetNamedColorValue.

Available in OS X v10.0 through OS X v10.3.

Declared in CMMComponent.h.

kCMMGetIndNamedColorValue

In response to this request code, your CMM extracts device and PCS color values for a specific named color index from the profile whose reference is passed in the prof parameter. For more information, see the function CMGetIndNamedColorValue.

Available in OS X v10.0 through OS X v10.3.

Declared in CMMComponent.h.

kCMMGetNamedColorIndex

In response to this request code, your CMM extracts a named color index for a specific color name from the profile whose reference is passed in the prof parameter. For more information, see the function CMGetNamedColorIndex.

Available in OS X v10.0 through OS X v10.3.

Declared in CMMComponent.h.

kCMMGetNamedColorName

In response to this request code, your CMM extracts a named color name for a specific named color index from the profile whose reference is passed in the prof parameter. For more information, see the function CMGetNamedColorName.

Available in OS X v10.0 through OS X v10.3.

Declared in CMMComponent.h.

kCMMMatchPixMap

In response to this request code, your CMM must match the colors of the pixel map image pointed to by the myPixMap parameter to the gamut of the destination device, replacing the original pixel colors with their corresponding colors as specified in the data color space of the destination device’s color gamut. To perform the matching, you use the profiles specified by a previous kNCMMInit, kCMMInit, or kCMMConcatInit request to your CMM. For more information, see the function CWMatchPixMap.

Available in OS X v10.0 through OS X v10.3.

Declared in CMMComponent.h.

kCMMCheckPixMap

In response to this request code, your CMM must check the colors of the pixel map image pointed to by the myPixMap parameter against the gamut of the destination device to determine if the pixel colors are within the gamut of the destination device and report the results. To perform the check, you use the profiles specified by a previous kNCMMInit, kCMMInit, or kCMMConcatInit request to your CMM. For more information, see the function CWCheckPixMap.

Available in OS X v10.0 through OS X v10.3.

Declared in CMMComponent.h.

Discussion

Your CMM must respond to the ColorSync Manager required request codes. When a CMM receives a required request code from the ColorSync Manager, the CMM must determine the nature of the request, perform the appropriate processing, set an error code if necessary, and return an appropriate function result to the Component Manager. The required request codes are:

  • kNCMMInit

  • kCMMMatchColors

  • kCMMCheckColors

  • kCMMInit

Your CMM should respond to the rest of the ColorSync Manager request codes defined by this enumeration, but it is not required to do so.

Color Management Module Component Interface

Specify a CMM interface version.

enum {
   CMMInterfaceVersion = 1
};
Constants
CMMInterfaceVersion

Available in OS X v10.0 through OS X v10.3.

Declared in CMMComponent.h.

Discussion

If your CMM supports the ColorSync Manager version 2.x, it should return the constant defined by the following enumeration when the Component Manager calls your CMM with the kComponentVersionSelect request code.

In response to the kComponentVersionSelect request code, a CMM should set its entry point function’s result to the CMM version number. The high-order 16 bits represent the major version and the low-order 16 bits represent the minor version. The CMMInterfaceVersion constant represents the major version number.

A CMM that only supports ColorSync 1.0 returns 0 for the major version in response to the version request.

The kComponentVersionSelect request code is one of four required Component Manager requests your CMM must handle.

Color Packing for Color Spaces

Specify how color values are stored.

enum {
   cmNoColorPacking = 0x0000,
   cmWord5ColorPacking = 0x0500,
   cmWord565ColorPacking = 0x0600,
   cmLong8ColorPacking = 0x0800,
   cmLong10ColorPacking = 0x0A00,
   cmAlphaFirstPacking = 0x1000,
   cmOneBitDirectPacking = 0x0B00,
   cmAlphaLastPacking = 0x0000,
   cm8_8ColorPacking = 0x2800,
   cm16_8ColorPacking = 0x2000,
   cm24_8ColorPacking = 0x2100,
   cm32_8ColorPacking = cmLong8ColorPacking,
   cm40_8ColorPacking = 0x2200,
   cm48_8ColorPacking = 0x2300,
   cm56_8ColorPacking = 0x2400,
   cm64_8ColorPacking = 0x2500,
   cm32_16ColorPacking = 0x2600,
   cm48_16ColorPacking = 0x2900,
   cm64_16ColorPacking = 0x2A00,
   cm32_32ColorPacking = 0x2700,
   cmLittleEndianPacking = 0x4000,
   cmReverseChannelPacking = 0x8000
};
Constants
cmNoColorPacking

This constant is not used for ColorSync bitmaps.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmWord5ColorPacking

The color values for three 5-bit color channels are stored consecutively in 16-bits, with the highest order bit unused.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmWord565ColorPacking

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmLong8ColorPacking

The color values for three or four 8-bit color channels are stored consecutively in a 32-bit long. For three channels, this constant is combined with either cmAlphaFirstPacking or cmAlphaLastPacking to indicate whether the unused eight bits are located at the beginning or end.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmLong10ColorPacking

The color values for three 10-bit color channels are stored consecutively in a 32-bit long, with the two highest order bits unused.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmAlphaFirstPacking

An alpha channel is added to the color value as its first component.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmOneBitDirectPacking

One bit is used as the pixel format. This storage format is used by the resulting bitmap pointed to by the resultBitMap field of the function CWMatchColors; the bitmap must be only 1 bit deep.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmAlphaLastPacking

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cm8_8ColorPacking

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cm16_8ColorPacking

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cm24_8ColorPacking

The color values for three 8-bit color channels are stored in consecutive bytes, for a total of 24 bits.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cm32_8ColorPacking

The color values for four 8-bit color channels are stored in consecutive bytes, for a total of 32 bits.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cm40_8ColorPacking

The color values for five 8-bit color channels are stored in consecutive bytes, for a total of 40 bits.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cm48_8ColorPacking

The color values for six 8-bit color channels are stored in consecutive bytes, for a total of 48 bits.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cm56_8ColorPacking

The color values for seven 8-bit color channels are stored in consecutive bytes, for a total of 56 bits.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cm64_8ColorPacking

The color values for eight 8-bit color channels are stored in consecutive bytes, for a total of 64 bits.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cm32_16ColorPacking

The color values for two 16-bit color channels are stored in a 32-bit word.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cm48_16ColorPacking

The color values for three 16-bit color channels are stored in 48 consecutive bits.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cm64_16ColorPacking

The color values for four 16-bit color channels are stored in 64 consecutive bits.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cm32_32ColorPacking

The color value for a 32-bit color channel is stored in a 32-bit word.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmLittleEndianPacking

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmReverseChannelPacking

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Discussion

The ColorSync bitmap data type CMBitmap includes a field that identifies the color space in which the color values of the bitmap image are expressed. This enumeration defines the types of packing for a color space’s storage format. The enumeration also defines an alpha channel that can be added as a component of a color value to define the degree of opacity or transparency of a color. These constants are combined with the constants described in “Abstract Color Space Constants” to create values that identify a bitmap’s color space. Your application does not specify color packing constants directly, but rather uses the combined constants, which are described in “Color Space Constants With Packing Formats.”

Version Notes

The constants cm48_16ColorPacking and cm64_16ColorPacking were added in ColorSync version 2.5.

Color Responses

Specify responses for ColorSync 1.0 specifications.

enum {
   cmGrayResponse = 0,
   cmRedResponse = 1,
   cmGreenResponse = 2,
   cmBlueResponse = 3,
   cmCyanResponse = 4,
   cmMagentaResponse = 5,
   cmYellowResponse = 6,
   cmUcrResponse = 7,
   cmBgResponse = 8,
   cmOnePlusLastResponse = 9
};
Constants
cmGrayResponse

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmRedResponse

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmGreenResponse

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmBlueResponse

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmCyanResponse

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmMagentaResponse

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmYellowResponse

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmUcrResponse

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmBgResponse

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmOnePlusLastResponse

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

Color Space Constants With Packing Formats

Specifies bitmap spaces with a wide range of data formats appropriate for multiple platforms.

enum {
   cmGray8Space = cmGraySpace + cm8_8ColorPacking,
   cmGray16Space = cmGraySpace,
   cmGray16LSpace = cmGraySpace + cmLittleEndianPacking,
   cmGrayA16Space = cmGrayASpace + cm16_8ColorPacking,
   cmGrayA32Space = cmGrayASpace,
   cmGrayA32LSpace = cmGrayASpace + cmLittleEndianPacking,
   cmGrayA16PmulSpace = cmGrayAPmulSpace + cm16_8ColorPacking,
   cmGrayA32PmulSpace = cmGrayAPmulSpace,
   cmGrayA32LPmulSpace = cmGrayAPmulSpace + cmLittleEndianPacking,
   cmRGB16Space = cmRGBSpace + cmWord5ColorPacking,
   cmRGB16LSpace = cmRGBSpace + cmWord5ColorPacking + cmLittleEndianPacking,
   cmRGB565Space = cmRGBSpace + cmWord565ColorPacking,
   cmRGB565LSpace = cmRGBSpace + cmWord565ColorPacking + cmLittleEndianPacking,
   cmRGB24Space = cmRGBSpace + cm24_8ColorPacking,
   cmRGB32Space = cmRGBSpace + cm32_8ColorPacking,
   cmRGB48Space = cmRGBSpace + cm48_16ColorPacking,
   cmRGB48LSpace = cmRGBSpace + cm48_16ColorPacking + cmLittleEndianPacking,
   cmARGB32Space = cmRGBASpace + cm32_8ColorPacking + cmAlphaFirstPacking,
   cmARGB64Space = cmRGBASpace + cm64_16ColorPacking + cmAlphaFirstPacking,
   cmARGB64LSpace = cmRGBASpace + cm64_16ColorPacking + cmAlphaFirstPacking
+ cmLittleEndianPacking,
   cmRGBA32Space = cmRGBASpace + cm32_8ColorPacking + cmAlphaLastPacking,
   cmRGBA64Space = cmRGBASpace + cm64_16ColorPacking + cmAlphaLastPacking,
   cmRGBA64LSpace = cmRGBASpace + cm64_16ColorPacking + cmAlphaLastPacking
+ cmLittleEndianPacking,
   cmARGB32PmulSpace = cmRGBAPmulSpace + cm32_8ColorPacking + cmAlphaFirstPacking,
   cmARGB64PmulSpace = cmRGBAPmulSpace + cm64_16ColorPacking + cmAlphaFirstPacking,
   cmARGB64LPmulSpace = cmRGBAPmulSpace + cm64_16ColorPacking + cmAlphaFirstPacking
+ cmLittleEndianPacking,
   cmRGBA32PmulSpace = cmRGBAPmulSpace + cm32_8ColorPacking + cmAlphaLastPacking,
   cmRGBA64PmulSpace = cmRGBAPmulSpace + cm64_16ColorPacking + cmAlphaLastPacking,
   cmRGBA64LPmulSpace = cmRGBAPmulSpace + cm64_16ColorPacking + cmAlphaLastPacking
+ cmLittleEndianPacking,
   cmCMYK32Space = cmCMYKSpace + cm32_8ColorPacking,
   cmCMYK64Space = cmCMYKSpace + cm64_16ColorPacking,
   cmCMYK64LSpace = cmCMYKSpace + cm64_16ColorPacking + cmLittleEndianPacking,
   cmHSV32Space = cmHSVSpace + cmLong10ColorPacking,
   cmHLS32Space = cmHLSSpace + cmLong10ColorPacking,
   cmYXY32Space = cmYXYSpace + cmLong10ColorPacking,
   cmXYZ24Space = cmXYZSpace + cm24_8ColorPacking,
   cmXYZ32Space = cmXYZSpace + cmLong10ColorPacking,
   cmXYZ48Space = cmXYZSpace + cm48_16ColorPacking,
   cmXYZ48LSpace = cmXYZSpace + cm48_16ColorPacking + cmLittleEndianPacking,
   cmLUV32Space = cmLUVSpace + cmLong10ColorPacking,
   cmLAB24Space = cmLABSpace + cm24_8ColorPacking,
   cmLAB32Space = cmLABSpace + cmLong10ColorPacking,
   cmLAB48Space = cmLABSpace + cm48_16ColorPacking,
   cmLAB48LSpace = cmLABSpace + cm48_16ColorPacking + cmLittleEndianPacking,
   cmGamutResult1Space = cmOneBitDirectPacking + cmGamutResultSpace,
   cmNamedIndexed32Space = cm32_32ColorPacking + cmNamedIndexedSpace,
   cmNamedIndexed32LSpace = cm32_32ColorPacking + cmNamedIndexedSpace
+ cmLittleEndianPacking,
   cmMCFive8Space = cm40_8ColorPacking + cmMCFiveSpace,
   cmMCSix8Space = cm48_8ColorPacking + cmMCSixSpace,
   cmMCSeven8Space = cm56_8ColorPacking + cmMCSevenSpace,
   cmMCEight8Space = cm64_8ColorPacking + cmMCEightSpace
};
typedef UInt32 CMBitmapColorSpace;
Constants
cmGray8Space

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmGray16Space

A luminance color space with a single 16-bit component, gray.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmGray16LSpace

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmGrayA16Space

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmGrayA32Space

A luminance color space with two components, a gray component followed by an alpha channel component. Each component value is 16 bits.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmGrayA32LSpace

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmGrayA16PmulSpace

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmGrayA32PmulSpace

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmGrayA32LPmulSpace

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmRGB16Space

An RGB color space composed of red, green, and blue components whose values are packed with 5 bits of storage per component. The storage size for a color value expressed in this color space is 16 bits, with the high-order bit not used.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmRGB16LSpace

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmRGB565Space

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmRGB565LSpace

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmRGB24Space

An RGB color space composed of red, green, and blue components whose values are packed with 8 bits of storage per component. The storage size for a color value expressed in this color space is 24 bits.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmRGB32Space

An RGB color space composed of red, green, and blue components whose values are packed with 8 bits of storage per component. The storage size for a color value expressed in this color space is 32 bits, with bits 24-31 not used.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmRGB48Space

An RGB color space composed of red, green, and blue components whose values are packed with 16 bits of storage per component. The storage size for a color value expressed in this color space is 48 bits.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmRGB48LSpace

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmARGB32Space

An RGB color space composed of red, green, and blue color value components preceded by an alpha channel component whose values are packed with 8 bits of storage per component. The storage size for a color value expressed in this color space is 32 bits.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmARGB64Space

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmARGB64LSpace

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmRGBA32Space

An RGB color space composed of red, green, and blue color value components, followed by an alpha channel component. Values are packed with 8 bits of storage per component. The storage size for a color value expressed in this color space is 32 bits.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmRGBA64Space

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmRGBA64LSpace

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmARGB32PmulSpace

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmARGB64PmulSpace

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmARGB64LPmulSpace

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmRGBA32PmulSpace

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmRGBA64PmulSpace

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmRGBA64LPmulSpace

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmCMYK32Space

A CMYK color space composed of cyan, magenta, yellow, and black components whose values are packed with 8 bits of storage per component. The storage size for a color value expressed in this color space is 32 bits.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmCMYK64Space

A CMYK color space composed of cyan, magenta, yellow, and black components whose values are packed with 16 bits of storage per component. The storage size for a color value expressed in this color space is 64 bits.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmCMYK64LSpace

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmHSV32Space

An HSV color space composed of hue, saturation, and value components whose values are packed with 10 bits of storage per component. The storage size for a color value expressed in this color space is 32 bits, with the high-order 2 bits not used.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmHLS32Space

An HLS color space composed of hue, lightness, and saturation components whose values are packed with 10 bits of storage per component. The storage size for a color value expressed in this color space is 32 bits, with the high-order 2 bits not used.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmYXY32Space

A Yxy color space composed of Y, x, and y components whose values are packed with 10 bits of storage per component. The storage size for a color value expressed in this color space is 32 bits, with the high-order 2 bits not used.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmXYZ24Space

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmXYZ32Space

An XYZ color space composed of X, Y, and Z components whose values are packed with 10 bits per component. The storage size for a color value expressed in this color space is 32 bits, with the high-order 2 bits not used.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmXYZ48Space

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmXYZ48LSpace

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmLUV32Space

An L*u*v* color space composed of L*, u*, and v* components whose values are packed with 10 bits per component. The storage size for a color value expressed in this color space is 32 bits, with the high-order 2 bits not used.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmLAB24Space

An L*a*b* color space composed of L*, a*, and b* components whose values are packed with 8 bits per component. The storage size for a color value expressed in this color space is 24 bits. The 8-bit unsigned a* and b* channels are interpreted numerically as ranging from -128.0 to approximately 128.0.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmLAB32Space

An L*a*b* color space composed of L*, a*, and b* components whose values are packed with 10 bits per component. The storage size for a color value expressed in this color space is 32 bits, with the high-order 2 bits not used. The 10-bit unsigned a* and b* channels are interpreted numerically as ranging from -128.0 to approximately 128.0.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmLAB48Space

An L*a*b* color space composed of L*, a*, and b* components whose values are packed with 16 bits per component. The storage size for a color value expressed in this color space is 48 bits. The 16-bit unsigned a* and b* channels are interpreted numerically as ranging from -128.0 to approximately 128.0.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmLAB48LSpace

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmGamutResult1Space

A gamut result color space for the resulting bitmap pointed to by the resultBitMap field of the function CWMatchColors, with 1-bit direct packing. A pixel in the returned bitmap with value 1 (displayed as black) indicates an out-of-gamut color, while a pixel value of 0 (white) indicates a color that is in gamut.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmNamedIndexed32Space

A color space where each color is stored as a single 32-bit value, specifying an index into a named color space. The storage size for a color value expressed in this color space is 32 bits.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmNamedIndexed32LSpace

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmMCFive8Space

A five-channel multichannel (HiFi) data color space, whose values are packed with 8 bits per component. The storage size for a color value expressed in this color space is 40 bits.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmMCSix8Space

A six-channel multichannel (HiFi) data color space, whose values are packed with 8 bits per component. The storage size for a color value expressed in this color space is 48 bits.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmMCSeven8Space

A seven-channel multichannel (HiFi) data color space, whose values are packed with 8 bits per component. The storage size for a color value expressed in this color space is 56 bits.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmMCEight8Space

A eight-channel multichannel (HiFi) data color space, whose values are packed with 8 bits per component. The storage size for a color value expressed in this color space is 64 bits.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Discussion

This enumeration defines constants for color spaces which can specify color values for a bitmap image. As a rule, these constants include a packing format, defined in “Color Packing for Color Spaces.” You can use these constants to set the space field of the CMBitmap type definition identifies the color space in which the colors of the bitmap image are specified, as described in “Abstract Color Space Constants.”

Version Notes

The constants cmRGBASpace and cmGrayASpace were moved to “Abstract Color Space Constants” in ColorSync version 2.5.

The constants cmGray16Space, cmGrayA32Space, cmRGB48Space, cmCMYK64Space, and cmLAB48Space were added in ColorSync version 2.5.

Color Space Signatures

Define four-character-sequences associated with color spaces.

enum {
   cmXYZData = 'XYZ ',
   cmLabData = 'Lab ',
   cmLuvData = 'Luv ',
   cmYCbCrData = 'YCbr',
   cmYxyData = 'Yxy ',
   cmRGBData = 'RGB ',
   cmSRGBData = 'sRGB',
   cmGrayData = 'GRAY',
   cmHSVData = 'HSV ',
   cmHLSData = 'HLS ',
   cmCMYKData = 'CMYK',
   cmCMYData = 'CMY ',
   cmMCH5Data = 'MCH5',
   cmMCH6Data = 'MCH6',
   cmMCH7Data = 'MCH7',
   cmMCH8Data = 'MCH8',
   cm3CLRData = '3CLR',
   cm4CLRData = '4CLR',
   cm5CLRData = '5CLR',
   cm6CLRData = '6CLR',
   cm7CLRData = '7CLR',
   cm8CLRData = '8CLR',
   cm9CLRData = '9CLR',
   cm10CLRData = 'ACLR',
   cm11CLRData = 'BCLR',
   cm12CLRData = 'CCLR',
   cm13CLRData = 'DCLR',
   cm14CLRData = 'ECLR',
   cm15CLRData = 'FCLR',
   cmNamedData = 'NAME'
};
Constants
cmXYZData

The XYZ data color space.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmLabData

The L*a*b* data color space.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmLuvData

The L*u*v* data color space.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmYCbCrData

Available in OS X v10.1 and later.

Declared in ColorSyncDeprecated.h.

cmYxyData

The Yxy data color space.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmRGBData

The RGB data color space.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmSRGBData

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmGrayData

The Gray data color space.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmHSVData

The HSV data color space.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmHLSData

The HLS data color space.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmCMYKData

The CMYK data color space.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmCMYData

The CMY data color space.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmMCH5Data

The five-channel multichannel (HiFi) data color space.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmMCH6Data

The six-channel multichannel (HiFi) data color space.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmMCH7Data

The seven-channel multichannel (HiFi) data color space.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmMCH8Data

The eight-channel multichannel (HiFi) data color space.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cm3CLRData

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cm4CLRData

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cm5CLRData

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cm6CLRData

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cm7CLRData

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cm8CLRData

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cm9CLRData

Available in OS X v10.1 and later.

Declared in ColorSyncDeprecated.h.

cm10CLRData

Available in OS X v10.1 and later.

Declared in ColorSyncDeprecated.h.

cm11CLRData

Available in OS X v10.1 and later.

Declared in ColorSyncDeprecated.h.

cm12CLRData

Available in OS X v10.1 and later.

Declared in ColorSyncDeprecated.h.

cm13CLRData

Available in OS X v10.1 and later.

Declared in ColorSyncDeprecated.h.

cm14CLRData

Available in OS X v10.1 and later.

Declared in ColorSyncDeprecated.h.

cm15CLRData

Available in OS X v10.1 and later.

Declared in ColorSyncDeprecated.h.

cmNamedData

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Discussion

A ColorSync profile header contains a dataColorSpace field that carries the signature of the data color space in which the color values in an image using the profile are expressed. This enumeration defines the signatures for the color spaces supported by ColorSync for version 2.x profiles.

Color Space Masks

Specify masks used for color spaces.

enum {
   cmColorSpaceSpaceMask = 0x0000003F,
   cmColorSpacePremulAlphaMask = 0x00000040,
   cmColorSpaceAlphaMask = 0x00000080,
   cmColorSpaceSpaceAndAlphaMask = 0x000000FF,
   cmColorSpacePackingMask = 0x0000FF00,
   cmColorSpaceEncodingMask = 0x000F0000,
   cmColorSpaceReservedMask = 0xFFF00000
};
Constants
cmColorSpaceSpaceMask

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmColorSpacePremulAlphaMask

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmColorSpaceAlphaMask

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmColorSpaceSpaceAndAlphaMask

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmColorSpacePackingMask

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmColorSpaceEncodingMask

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmColorSpaceReservedMask

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

ColorSync Scripting AppleEvent Errorsl

Define ColorSync AppleEvent scripting errors.

enum {
   cmspInvalidImageFile = -4220,
   cmspInvalidImageSpace = -4221,
   cmspInvalidProfileEmbed = -4222,
   cmspInvalidProfileSource = -4223,
   cmspInvalidProfileDest = -4224,
   cmspInvalidProfileProof = -4225,
   cmspInvalidProfileLink = -4226
};
Constants
cmspInvalidImageFile

Plugin cannot handle this image file type

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmspInvalidImageSpace

Plugin cannot create an image file of this colorspace

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmspInvalidProfileEmbed

Specific invalid profile errors

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmspInvalidProfileSource

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmspInvalidProfileDest

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmspInvalidProfileProof

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmspInvalidProfileLink

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

Current Device Versions

Specify the current versions of the data structure containing information on registered devices.

enum {
   cmDeviceInfoVersion1 = 0x00010000,
   cmDeviceProfileInfoVersion1 = 0x00010000,
   cmDeviceProfileInfoVersion2 = 0x00020000
};
Constants
cmDeviceInfoVersion1

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmDeviceProfileInfoVersion1

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmDeviceProfileInfoVersion2

Available in OS X v10.1 and later.

Declared in ColorSyncDeprecated.h.

Current Info Versions

Specify current device and profile versions.

enum {
   cmCurrentDeviceInfoVersion = cmDeviceInfoVersion1,
   cmCurrentProfileInfoVersion = cmDeviceProfileInfoVersion1
};
Constants
cmCurrentDeviceInfoVersion

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmCurrentProfileInfoVersion

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Current Major Version Mask

Specifies the current major version number.

enum {
   cmProfileMajorVersionMask = 0xFF000000,
   cmCurrentProfileMajorVersion = 0x02000000
};
Constants
cmProfileMajorVersionMask

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmCurrentProfileMajorVersion

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Data Transfer Commands

Specify commands for caller-supplied ColorSync data transfer functions.

enum {
   cmOpenReadSpool = 1,
   cmOpenWriteSpool = 2,
   cmReadSpool = 3,
   cmWriteSpool = 4,
   cmCloseSpool = 5
};
Constants
cmOpenReadSpool

Directs the function to begin the process of reading data.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmOpenWriteSpool

Directs the function to begin the process of writing data.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmReadSpool

Directs the function to read the number of bytes specified by the CMFlattenProcPtr function’s size parameter.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmWriteSpool

Directs the function to write the number of bytes specified by the CMFlattenProcPtr function’s size parameter.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmCloseSpool

Directs the function to complete the data transfer.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Discussion

When your application calls the function CMFlattenProfile, any of the functions in the group “Accessing Profile Elements,” or the PostScript-related functions of type “Working With PostScript,” the selected CMM—or, for the CMUnflattenProfile function, the ColorSync Manager—calls the flatten function you supply to transform profile data. The call passes one of the command constants defined by this enumeration.

Your application provides a pointer to your ColorSync data transfer function as a parameter to the functions. The ColorSync Manager or the CMM calls your data transfer function, passing the command in the command parameter. For more information on the flatten function, see CMFlattenProfile.

Data Type Element Values

Specify a data type.

enum {
   cmAsciiData = 0,
   cmBinaryData = 1
};
Constants
cmAsciiData

ASCII data.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmBinaryData

Binary data.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Default CMM Signature

Specifies a signature for the default color management module supplied by Color Sync.

enum {
   kDefaultCMMSignature = 'appl'
};
Constants
kDefaultCMMSignature

Signature for the default CMM supplied with the ColorSync Manager.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Discussion

A color management module (CMM) uses profiles to convert and match a color in a given color space on a given device to or from another color space or device.

To specify the default CMM, set the CMMType field of the profile header to the default signature defined by the following enumeration. You use a structure of type CM2Header for a ColorSync 2.x profile and a structure of type CMHeader for a 1.0 profile header.

Default IDs

Specify default values for device and profile IDs.

enum {
   cmDefaultDeviceID = 0,
   cmDefaultProfileID = 0
};
Constants
cmDefaultDeviceID

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmDefaultProfileID

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Discussion

Certain routines require a device ID or profile ID. In some cases, a "default ID" can be used.

Device Attribute Values for Version 2.x Profiles

Define masks your application can use to set or test bits in the deviceAttributes field of the CM2Header structure.

enum {
   cmReflectiveTransparentMask = 0x00000001,
   cmGlossyMatteMask = 0x00000002
};
Constants
cmReflectiveTransparentMask

Bit 0 of deviceAttributes[1] specifies whether the media is transparent or reflective. If it has the value 0, the media is reflective; if it has the value 1, the media is transparent. Use the cmReflectiveTransparentMask mask to set the transparent/reflective bit in deviceAttributes[1] or to clear all bits except the transparent/reflective bit.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmGlossyMatteMask

Bit 1of deviceAttributes[1] specifies whether the media is glossy or matte. If it has the value 0, the media is glossy; if it has the value 1, the media is matte. Use the cmGlossyMatteMask mask to set the glossy/matte bit in deviceAttributes[1] or to clear all bits except the glossy/matte bit.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Discussion

The ColorSync Manager defines the structure CM2Header to represent the profile header for the version 2.x profile format defined by the ICC.The deviceAttributes field of the CM2Header structure is an array of two unsigned long values whose bits specify information about a profile. The ICC reserves the use of deviceAttributes[1] and has assigned values to bits 0 and 1. All the bits of deviceAttributes[0] are reserved for use by color management system (CMS) vendors.

Device Classes

Define constants to represent a variety of input and output devices.

enum {
   cmScannerDeviceClass = 'scnr',
   cmCameraDeviceClass = 'cmra',
   cmDisplayDeviceClass = 'mntr',
   cmPrinterDeviceClass = 'prtr',
   cmProofDeviceClass = 'pruf'
};
typedef OSType CMDeviceClass;
Constants
cmScannerDeviceClass

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmCameraDeviceClass

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmDisplayDeviceClass

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmPrinterDeviceClass

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmProofDeviceClass

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Device and Media Attributes

Used to set or obtain device or media attributes.

enum {
   cmReflective = 0,
   cmGlossy = 1
};
Constants
cmReflective

If the bit 0 of the associated mask is 0 then reflective media; if 1 then transparency media.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmGlossy

If the bit 1 of the associated mask is is 0 then glossy; if 1 then matte.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Device States

Specify device states.

enum {
   cmDeviceStateDefault = 0x00000000,
   cmDeviceStateOffline = 0x00000001,
   cmDeviceStateBusy = 0x00000002,
   cmDeviceStateForceNotify = 0x80000000,
   cmDeviceStateDeviceRsvdBits = 0x00FF0000,
   cmDeviceStateAppleRsvdBits = 0xFF00FFFF
};
Constants
cmDeviceStateDefault

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmDeviceStateOffline

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmDeviceStateBusy

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmDeviceStateForceNotify

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmDeviceStateDeviceRsvdBits

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmDeviceStateAppleRsvdBits

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Discussion

Specify possible values for device states accessible by the functions CMGetDeviceState and CMSetDeviceState.

Device Types

Specify a device type.

enum {
   cmMonitorDevice = 'mntr',
   cmScannerDevice = 'scnr',
   cmPrinterDevice = 'prtr'
};
Constants
cmMonitorDevice

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmScannerDevice

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmPrinterDevice

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

Element Tags and Signatures for Version 1.0 Profiles

Define tags and signatures used for version 1.0 profiles.

enum {
   cmCS1ChromTag = 'chrm',
   cmCS1TRCTag = 'trc ',
   cmCS1NameTag = 'name',
   cmCS1CustTag = 'cust'
};
Constants
cmCS1ChromTag

The tag signature for the profile chromaticities tag whose element data specifies the XYZ chromaticities for the six primary and secondary colors (red, green, blue, cyan, magenta, and yellow).

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmCS1TRCTag

The tag signature for profile tonal response curve data for the associated device.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmCS1NameTag

The tag signature for the profile name string. This is an international string consisting of a Macintosh script code followed by a 63-byte text string identifying the profile.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmCS1CustTag

Private data for a custom CMM.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Discussion

The ICC version 2.x profile format differs from the version 1.0 profile format, and ColorSync Manager routines for updating a profile and searching for profiles do not work with version 1.0 profiles. However, your application can use version 1.0 profiles with all other ColorSync routines. For example, you can open a version 1.0 profile using the function CMOpenProfile, obtain the version 1.0 profile header using the function CMGetProfileHeader, and access version 1.0 profile elements using the function CMGetProfileElement.

To make this possible, the ColorSync Manager includes support for the version 1.0 profile header structure and synthesizes tags to allow you to access four 1.0 elements outside the version 1.0 profile header. This enumeration defines these tags.

Embedded Profile Flags

Specify copyright-protection flag options,

enum {
   cmEmbeddedProfile = 0,
   cmEmbeddedUse = 1
};
Constants
cmEmbeddedProfile

0 is not embedded profile, 1 is embedded profile

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmEmbeddedUse

0 is to use anywhere, 1 is to use as embedded profile only

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Embedded Profile Identifiers

Specify constants used when embedding picture comments.

enum {
   cmEmbedWholeProfile = 0x00000000,
   cmEmbedProfileIdentifier = 0x00000001
};
Constants
cmEmbedWholeProfile

When the flags parameter has the value cmEmbedWholeProfile, the NCMUseProfileComment function embeds the entire specified profile.

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmEmbedProfileIdentifier

When the flags parameter has the value cmEmbedProfileIdentifier, the NCMUseProfileComment function embeds a profile identifier for the specified profile.

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

Discussion

The ColorSync Manager provides these constant declarations to use with the function NCMUseProfileComment for embedding picture comments. You use these constants to set the flags parameter to indicate whether to embed an entire profile or just a profile identifier.

Flag Mask Definitions for Version 2.x Profiles

Define masks your application can use to set or test various bits in the flags field of the CM2Header structure.

enum {
   cmICCReservedFlagsMask = 0x0000FFFF,
   cmEmbeddedMask = 0x00000001,
   cmEmbeddedUseMask = 0x00000002,
   cmCMSReservedFlagsMask = 0xFFFF0000,
   cmQualityMask = 0x00030000,
   cmInterpolationMask = 0x00040000,
   cmGamutCheckingMask = 0x00080000
};
Constants
cmICCReservedFlagsMask

This mask provides access to bits 0 through 15 of the flags field, which are defined and reserved by the ICC. For more information, see the International Color Consortium Profile Format Specification, and the next two mask definitions.

To obtain a copy of the ICC specification, or to get other information about the ICC, visit the ICC Web site at http://www.color.org/.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmEmbeddedMask

This mask provides access to bit 0 of the flags field, which specifies whether the profile is embedded. It has the value 1 if the profile is embedded, 0 if it is not.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmEmbeddedUseMask

This mask provides access to bit 1 of the flags field, which specifies whether the profile can be used independently or can only be used as an embedded profile. It has the value 0 if the profile can be used anywhere, 1 if it must be embedded.

You should interpret the setting of this bit as an indication of copyright protection. If the profile developer set this bit to 1, you should use this profile as an embedded profile only and not copy the profile for your own purposes. The profile developer also specifies explicit copyright intention using the cmCopyrightTag profile tag (defined in the CMICCProfile.h header file).

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmCMSReservedFlagsMask

This mask provides access to bits 16 through 31 of the flags field, which are available for a color management system (CMS) vendor, such as ColorSync. ColorSync’s default CMM uses bits 16 through 19 to provide hints for color matching, as described in the following three mask definitions. Other CMM vendors should follow the same conventions.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmQualityMask

This mask provides access to bits 16 and 17 of the flags field, which specify the preferred quality and speed preferences for color matching. In general, the higher the quality the slower the speed. For example, best quality is slowest, but produces the highest quality result.

Bits 16 and 17 have the value 0 for normal quality, 1 for draft quality, and 2 for best quality. “Quality Flag Values for Version 2.x Profiles” describes the constants ColorSync defines to test or set these bits.

This feature is provided by the ColorSync Manager; it is not defined by the ICC profile specification.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmInterpolationMask

This mask provides access to bit 18 of the flags field, which specifies whether to use interpolation in color matching. The value 0 specifies interpolation. The value 1 specifies table lookup without interpolation. Specifying lookup only improves speed but can reduce accuracy. You might use lookup only for a monitor profile, for example, when high resolution is not crucial.

This feature is provided by the ColorSync Manager; it is not defined by the ICC profile specification.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmGamutCheckingMask

This mask provides access to bit 19 of the flags field. When you use a profile to create a color world, bit 19 specifies whether the color world should include information for gamut checking. It has the value 0 if the color world should include a gamut-checking table, 1 if gamut-checking information is not required. ColorSync can create a color world without a gamut table more quickly and in less space.

Many applications do not perform gamut checking, so they should set this bit to 1. However, if you call a color checking function such as CWCheckColors, or CWMatchColors, after setting a profile’s gamut-checking bit so that the color world does not contain gamut information, these routines return the cmCantGamutCheckError error.

This feature is provided by the ColorSync Manager; it is not defined by the ICC profile specification.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Discussion

The flags field of the structure CM2Header is an unsigned long value whose bits specify information about a profile. The ICC reserves the use of bits 0 to 15 and has assigned values to bits 0 and 1. Bits 16 to 31 are reserved for use by color management system (CMS) vendors. ColorSync has assigned values to bits 16 through 19.

ICC Profile Versions

Specify IDD profile version numbers.

enum {
   cmICCProfileVersion4 = 0x04000000,
   cmICCProfileVersion2 = 0x02000000,
   cmICCProfileVersion21 = 0x02100000,
   cmCS2ProfileVersion = cmICCProfileVersion2,
   cmCS1ProfileVersion = 0x00000100
};
Constants
cmICCProfileVersion4

Available in OS X v10.1 and later.

Declared in ColorSyncDeprecated.h.

cmICCProfileVersion2

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmICCProfileVersion21

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmCS2ProfileVersion

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmCS1ProfileVersion

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Illuminant Measurement Endocings

Specify standard illuminate measurement encodings.

enum {
   cmIlluminantUnknown = 0x00000000,
   cmIlluminantD50 = 0x00000001,
   cmIlluminantD65 = 0x00000002,
   cmIlluminantD93 = 0x00000003,
   cmIlluminantF2 = 0x00000004,
   cmIlluminantD55 = 0x00000005,
   cmIlluminantA = 0x00000006,
   cmIlluminantEquiPower = 0x00000007,
   cmIlluminantF8 = 0x00000008
};
Constants
cmIlluminantUnknown

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmIlluminantD50

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmIlluminantD65

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmIlluminantD93

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmIlluminantF2

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmIlluminantD55

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmIlluminantA

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmIlluminantEquiPower

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmIlluminantF8

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Macintosh 68K Trap Word

Specifies a 68K trap word for the Macintosh.

enum {
   cmTrap = 0xABEE
};
Constants
cmTrap

Available in OS X v10.0 through OS X v10.3.

Declared in CMApplication.h.

Magic Cookie Number

Specifies a magic cookie number for anonymous file ID.

enum {
   cmMagicNumber = 'acsp'
};
Constants
cmMagicNumber

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Match Flags Field

Specifies a profile to match.

enum {
   cmspFavorEmbeddedMask = 0x00000001
};
Constants
cmspFavorEmbeddedMask

If bit 0 is 0 then use srcProf profile; if 1 then use profile embedded in image if present.

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

Match Profiles 2.0

Defines matching flags for version 2.0 of the CMSearchRecord.searchMask.

enum {
   cmMatchAnyProfile = 0x00000000,
   cmMatchProfileCMMType = 0x00000001,
   cmMatchProfileClass = 0x00000002,
   cmMatchDataColorSpace = 0x00000004,
   cmMatchProfileConnectionSpace = 0x00000008,
   cmMatchManufacturer = 0x00000010,
   cmMatchModel = 0x00000020,
   cmMatchAttributes = 0x00000040,
   cmMatchProfileFlags = 0x00000080
};
Constants
cmMatchAnyProfile

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmMatchProfileCMMType

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmMatchProfileClass

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmMatchDataColorSpace

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmMatchProfileConnectionSpace

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmMatchManufacturer

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmMatchModel

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmMatchAttributes

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmMatchProfileFlags

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

Match Profiles 1.0

Defines matching flags for version 1.0 of the CMSearchRecord.searchMask.

enum {
   cmMatchCMMType = 0x00000001,
   cmMatchApplProfileVersion = 0x00000002,
   cmMatchDataType = 0x00000004,
   cmMatchDeviceType = 0x00000008,
   cmMatchDeviceManufacturer = 0x00000010,
   cmMatchDeviceModel = 0x00000020,
   cmMatchDeviceAttributes = 0x00000040,
   cmMatchFlags = 0x00000080,
   cmMatchOptions = 0x00000100,
   cmMatchWhite = 0x00000200,
   cmMatchBlack = 0x00000400
};
Constants
cmMatchCMMType

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmMatchApplProfileVersion

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmMatchDataType

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmMatchDeviceType

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmMatchDeviceManufacturer

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmMatchDeviceModel

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmMatchDeviceAttributes

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmMatchFlags

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmMatchOptions

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmMatchWhite

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmMatchBlack

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

Maximum Path Size

Specifies the maximum length for a path name.

enum {
   CS_MAX_PATH = 256
};
Constants
CS_MAX_PATH

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Measurement Flares

Specify measurement flare encodings.

enum {
   cmFlare0 = 0x00000000,
   cmFlare100 = 0x00000001
};
Constants
cmFlare0

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmFlare100

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Measurement Geometries

Specify measurement geometry encodings.

enum {
   cmGeometryUnknown = 0x00000000,
   cmGeometry045or450 = 0x00000001,
   cmGeometry0dord0 = 0x00000002
};
Constants
cmGeometryUnknown

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmGeometry045or450

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmGeometry0dord0

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Obsolete Color Response Values

Redefines obsolete color response values.

enum {
   grayResponse = cmGrayResponse,
   redResponse = cmRedResponse,
   greenResponse = cmGreenResponse,
   blueResponse = cmBlueResponse,
   cyanResponse = cmCyanResponse,
   magentaResponse = cmMagentaResponse,
   yellowResponse = cmYellowResponse,
   ucrResponse = cmUcrResponse,
   bgResponse = cmBgResponse,
   onePlusLastResponse = cmOnePlusLastResponse
};

Obsolete Color Space Signatures

Redefines obsolete color space signatures.

enum {
   rgbData = cmRGBData,
   cmykData = cmCMYKData,
   grayData = cmGrayData,
   xyzData = cmXYZData
};

Obsolete Device Type Names

Redefines obsolete device type names.

enum {
   monitorDevice = cmMonitorDevice,
   scannerDevice = cmScannerDevice,
   printerDevice = cmPrinterDevice
};

Parametric Types

Specify a parametric curve type enumeration,

enum {
   cmParametricType0 = 0,
   cmParametricType1 = 1,
   cmParametricType2 = 2,
   cmParametricType3 = 3,
   cmParametricType4 = 4
};
Constants
cmParametricType0

Y = X^gamma

Available in OS X v10.1 and later.

Declared in ColorSyncDeprecated.h.

cmParametricType1

Y = (aX+b)^gamma [X>=-b/a], Y = 0 [X<-b/a]

Available in OS X v10.1 and later.

Declared in ColorSyncDeprecated.h.

cmParametricType2

Y = (aX+b)^gamma + c [X>=-b/a], Y = c [X<-b/a]

Available in OS X v10.1 and later.

Declared in ColorSyncDeprecated.h.

cmParametricType3

Y = (aX+b)^gamma [X>=d], Y = cX [X<d]

Available in OS X v10.1 and later.

Declared in ColorSyncDeprecated.h.

cmParametricType4

Y = (aX+b)^gamma + e [X>=d], Y = cX+f [X<d]

Available in OS X v10.2 and later.

Declared in ColorSyncDeprecated.h.

Platform Enumeration Values

Specify computer platforms.

enum {
   cmMacintosh = 'APPL',
   cmMicrosoft = 'MSFT',
   cmSolaris = 'SUNW',
   cmSiliconGraphics = 'SGI ',
   cmTaligent = 'TGNT'
};

Profile Iteration Values

Specify profiles to iterate.

enum {
   cmIterateFactoryDeviceProfiles = 0x00000001,
   cmIterateCustomDeviceProfiles = 0x00000002,
   cmIterateCurrentDeviceProfiles = 0x00000003,
   cmIterateAllDeviceProfiles = 0x00000004,
   cmIterateDeviceProfilesMask = 0x0000000F
};
Constants
cmIterateFactoryDeviceProfiles

Iterate profiles registered through the routine CMSetDeviceFactoryProfiles. To retrieve all factory profiles for all devices, use cmIterateFactoryDeviceProfiles as the flags value when calling CMIterateDeviceProfiles. I

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmIterateCustomDeviceProfiles

Iterate profiles that are meant to take the place of the factory profiles, as a result of customization or calibration. To retrieve only custom profiles for all devices, use the cmIterateCustomDeviceProfiles, as the flags value when calling CMIterateDeviceProfiles.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmIterateCurrentDeviceProfiles

Iterate profiles registered through the routing CMSetDeviceProfiles. To get the profiles in use for all devices, use cmIterateCurrentDeviceProfiles as the flags value. This will replace the factory profiles with any overrides, yielding the currently used set.I

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmIterateAllDeviceProfiles

Iterate all profiles, without replacement.

Available in OS X v10.1 and later.

Declared in ColorSyncDeprecated.h.

cmIterateDeviceProfilesMask

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Discussion

These are possible values for flags passed to the function CMIterateDeviceProfiles.

Profile Location Sizes

Specify a location size.

enum {
   cmOriginalProfileLocationSize = 72,
   cmCurrentProfileLocationSize = 2 + CS_MAX_PATH
};
Constants
cmOriginalProfileLocationSize

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmCurrentProfileLocationSize

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Profile Options

Specify a rendering intent.

enum {
   cmPerceptualMatch = 0x0000,
   cmColorimetricMatch = 0x0001,
   cmSaturationMatch = 0x0002
};
Constants
cmPerceptualMatch

Default. For photographic images

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmColorimetricMatch

Exact matching when possible

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmSaturationMatch

For solid colors

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

PostScript Data Formats

Specify constants that indicate the format of PostScript data.

enum {
   cmPS7bit = 1,
   cmPS8bit = 2
};
Constants
cmPS7bit

The data is 7-bit safe—therefore the data could be in 7-bit ASCII encoding or in ASCII base-85 encoding.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmPS8bit

The data is 8-bit safe—therefore the data could be in 7-bit or 8-bit ASCII encoding.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Discussion

The ColorSync Manager provides these constant declarations to specify the format of PostScript data.

Picture Comment Kinds

Specify picture comment kinds for profiles and color matching.

enum {
   cmBeginProfile = 220,
   cmEndProfile = 221,
   cmEnableMatching = 222,
   cmDisableMatching = 223,
   cmComment = 224
};
Constants
cmBeginProfile

Indicates the beginning of a version 1.0 profile to embed. (To start a 2.x profile, you use cmComment.)

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmEndProfile

Signals end of the use of an embedded version 2.x or 1.0 profile.

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmEnableMatching

Turns on color matching for the ColorSync Manager. Do not nest cmEnableMatching and cmDisableMatching pairs.

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmDisableMatching

Turns off color matching for the ColorSync Manager. Do not nest cmEnableMatching and cmDisableMatching pairs. After the ColorSync Manager encounters this comment, it ignores all ColorSync-related picture comments until it encounters the next cmEnableMatching picture comment. At that point, the most recently used profile is reinstated.

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmComment

Provides information about a 2.x embedded profile or embedded profile identifier reference. This picture comment is followed by a 4-byte selector identifying what follows. “Picture Comment Selectors” describes the possible selectors.

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

Discussion

The ColorSync Manager defines five picture comment kinds. You use these comments to embed a profile identifier, begin or end use of an embedded profile, and enable or disable color matching within drawing code sent to an output device. The PicComment function’s kind parameter specifies the kind of picture comment.

Use a picture comment of kind cmEndProfile to explicitly terminate use of the currently effective embedded profile and begin use of the system profile. Otherwise, the currently effective profile remains in effect, leading to unexpected results if another picture follows that is meant to use the system profile and so is not preceded by a profile.

Picture Comment Selectors

Specify selectors to use in picture comments.

enum {
   cmBeginProfileSel = 0,
   cmContinueProfileSel = 1,
   cmEndProfileSel = 2,
   cmProfileIdentifierSel = 3
};
Constants
cmBeginProfileSel

Identifies the beginning of version 2.x profile data. The amount of profile data you can specify is limited to 32K minus 4 bytes for the selector.

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmContinueProfileSel

Identifies the continuation of version 2.x profile data. The amount of profile data you can specify is limited to 32K minus 4 bytes for the selector. You can use this selector repeatedly until all the profile data is embedded.

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmEndProfileSel

Signals the end of version 2.x profile data—no more data follows. Even if the amount of profile data embedded does not exceed 32K minus 4 bytes for the selector and your application did not use cmContinueProfileSel, you must terminate the process with cmEndProfileSel. Note that this selector has a behavior that is different from the cmEndProfile picture comment described in “Picture Comment Kinds.”

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmProfileIdentifierSel

Identifies the inclusion of profile identifier data. For information on embedding a profile identifier, see the function NCMUseProfileComment. For information on the format of profile identifier data, see CMProfileIdentifier.

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

Discussion

To embed a version 2.x profile or profile identifier reference in a picture destined for display on another system or on a device such as a printer, your application uses the QuickDraw PicComment function. The ColorSync Manager provides the function NCMUseProfileComment to embed picture comments. You specify a picture comment kind value of cmComment and a 4-byte selector describing the data in the picture comment.

Because a profile may exceed QuickDraw’s 32 KB size limit for a picture comment, your application can use an ordered series of picture comments to embed a large profile.

You can also embed a profile identifier reference in a picture. The profile identifier may refer to a previously embedded profile, so that you do not have to embed the entire profile again, or it may refer to a profile stored on disk. When you embed a profile identifier, you can change certain values for the referred-to profile, including the quality flags and rendering intent. For more information on profile identifiers, see CMProfileIdentifier.

This enumeration defines the 4-byte selector values your application uses to identify the beginning and continuation of profile data and to signal the end of it.

Profile Access Procedures

Specify operations used to access profiles.

enum {
   cmOpenReadAccess = 1,
   cmOpenWriteAccess = 2,
   cmReadAccess = 3,
   cmWriteAccess = 4,
   cmCloseAccess = 5,
   cmCreateNewAccess = 6,
   cmAbortWriteAccess = 7,
   cmBeginAccess = 8,
   cmEndAccess = 9
};
Constants
cmOpenReadAccess

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmOpenWriteAccess

Open the profile for writing. The total size of the profile is specified in the size parameter.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmReadAccess

Read the number of bytes specified by the size parameter.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmWriteAccess

Write the number of bytes specified by the size parameter.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmCloseAccess

Close the profile for reading or writing.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmCreateNewAccess

Create a new data stream for the profile.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmAbortWriteAccess

Cancel the current write attempt.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmBeginAccess

Begin the process of procedural access. This is always the first operation constant passed to the access procedure. If the call is successful, the cmEndAccess operation is guaranteed to be the last call to the procedure.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmEndAccess

End the process of procedural access. This is always the last operation constant passed to the access procedure (unless the cmBeginAccess call failed).

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Discussion

When your application calls the CMOpenProfile, CMNewProfile, CMCopyProfile, or CMNewLinkProfile functions, it can supply the ColorSync Manager with a profile location structure of type CMProcedureLocation to specify a procedure that provides access to a profile. The ColorSync Manager calls your procedure when the profile is created, initialized, opened, read, updated, or closed. The profile access procedure declaration is described in CMProfileAccessProcPtr.

When the ColorSync Manager calls your profile access procedure, it passes one of these constants in the command parameter to specify an operation. Your procedure must be able to respond to each of these constants.

Profile Classes

Specify profile class enumerations.

enum {
   cmInputClass = 'scnr',
   cmDisplayClass = 'mntr',
   cmOutputClass = 'prtr',
   cmLinkClass = 'link',
   cmAbstractClass = 'abst',
   cmColorSpaceClass = 'spac',
   cmNamedColorClass = 'nmcl'
};
Constants
cmInputClass

An input device profile defined for a scanner.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmDisplayClass

A display device profile defined for a monitor.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmOutputClass

An output device profile defined for a printer.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmLinkClass

A device link profile.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmAbstractClass

An abstract profile.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmColorSpaceClass

A color space profile.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmNamedColorClass

A named color space profile.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Discussion

The ColorSync Manager supports seven classes, or types, of profiles.

A profile creator specifies the profile class in the profile header’s profileClass field. For a description of the profile header, see CM2Header. This enumeration defines the profile class signatures.

Profile Concatenation Values

Specify values to use when concatenating profiles.

enum {
   kNoTransform = 0,
   kUseAtoB = 1,
   kUseBtoA = 2,
   kUseBtoB = 3,
   kDeviceToPCS = kUseAtoB,
   kPCSToDevice = kUseBtoA,
   kPCSToPCS = kUseBtoB,
   kUseProfileIntent = 0xFFFFFFFF
};
Constants
kNoTransform

Not used.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

kUseAtoB

Use 'A2B*' tag from this profile or equivalent

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

kUseBtoA

Use 'B2A*' tag from this profile or equivalent

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

kUseBtoB

Use 'pre*' tag from this profile or equivalent

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

kDeviceToPCS

Device Dependent to Device Independent

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

kPCSToDevice

Device Independent to Device Dependent

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

kPCSToPCS

Independent, through device's gamut

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

kUseProfileIntent

For renderingIntent in NCMConcatProfileSpec

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Profile Flags

Define flags that control native matching and caching.

enum {
   cmNativeMatchingPreferred = 0x00000001,
   cmTurnOffCache = 0x00000002
};
Constants
cmNativeMatchingPreferred

Default to native not preferred

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmTurnOffCache

Default to turn on CMM cache

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

Profile Iteration Constants

Define an iteration version.

enum {
   cmProfileIterateDataVersion1 = 0x00010000,
   cmProfileIterateDataVersion2 = 0x00020000,
   cmProfileIterateDataVersion3 = 0x00030000
};
Constants
cmProfileIterateDataVersion1

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmProfileIterateDataVersion2

Added makeAndModel

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmProfileIterateDataVersion3

Added MD5 digest

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Profile Location Type

Defines profile location kinds.

enum {
   cmNoProfileBase = 0,
   cmFileBasedProfile = 1,
   cmHandleBasedProfile = 2,
   cmPtrBasedProfile = 3,
   cmProcedureBasedProfile = 4,
   cmPathBasedProfile = 5,
   cmBufferBasedProfile = 6
};
Constants
cmNoProfileBase

The profile is temporary. It will not persist in memory after its use for a color session. You can specify this type of profile location with the CMNewProfile and the CMCopyProfile functions.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmFileBasedProfile

The profile is stored in a disk-file and the CMProfLoc union of type CMProfLoc holds a structure of type CMFileLocation identifying the profile file. You can specify this type of profile location with the CMOpenProfile, CMNewProfile, CMCopyProfile, and CMNewLinkProfile functions.

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmHandleBasedProfile

The profile is stored in relocatable memory and the CMProfLoc union of type CMProfLoc holds a handle to the profile in a structure of type CMHandleLocation. You can specify this type of profile location with the CMOpenProfile, CMNewProfile, and CMCopyProfile functions.

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmPtrBasedProfile

The profile is stored in nonrelocatable memory and the CMProfLoc union of type CMProfLoc holds a pointer to the profile in a structure of type CMPtrLocation. You can specify this type of profile location with the CMOpenProfile function only.

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmProcedureBasedProfile

The profile is in an arbitrary location, accessed through a procedure supplied by you. The CMProfLoc union of type CMProfLoc holds a universal procedure pointer to your profile access procedure in a structure of type CMProcedureLocation. You can specify this type of profile location with the CMOpenProfile, CMNewProfile, CMCopyProfile, and CMNewLinkProfile functions. For a description of an application-supplied profile access procedure, see CMProfileAccessProcPtr.

Available in OS X v10.0 and later.

Not available to 64-bit applications.

Declared in ColorSyncDeprecated.h.

cmPathBasedProfile

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmBufferBasedProfile

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Discussion

Your application specifies the location for a profile using a profile location structure of type CMProfileLocation. A ColorSync profile that you open or create is typically stored in one of the following locations:

  • In a disk file. The u field (a union) of the profile location data structure contains a file specification for a profile that is disk-file based. This is the most common way to store a ColorSync profile.

  • In relocatable memory. The u field of the profile location data structure contains a handle specification for a profile that is stored in a handle.

  • In nonrelocatable memory. The u field of the profile location data structure contains a pointer specification for a profile that is pointer based.

  • In an arbitrary location, accessed by a procedure you provide. The u field of the profile location data structure contains a universal procedure pointer to your access procedure, as well as a pointer that may point to data associated with your procedure.

Additionally, your application can create a new or duplicate temporary profile. For example, you can use a temporary profile for a color-matching session and the profile is not saved after the session. For this case, the ColorSync Manager allows you to specify the profile location as having no specific location.

You use a pointer to a data structure of type CMProfileLocation to identify a profile’s location when your application calls

  • the CMOpenProfile function to obtain a reference to a profile

  • the CMNewProfile, CWNewLinkProfile, or CMCopyProfile functions to create a new profile

  • the CMGetProfileLocation function to get the location of an existing profile

Your application identifies the type of data the CMProfileLocation u field holds—a file specification, a handle, and so on—in the CMProfileLocation structure’s locType field. You use the constants defined by this enumeration to identify the location type.

Public Tags

Specify tag values available for public use.

enum {
   cmAToB0Tag = 'A2B0',
   cmAToB1Tag = 'A2B1',
   cmAToB2Tag = 'A2B2',
   cmBlueColorantTag = 'bXYZ',
   cmBlueTRCTag = 'bTRC',
   cmBToA0Tag = 'B2A0',
   cmBToA1Tag = 'B2A1',
   cmBToA2Tag = 'B2A2',
   cmCalibrationDateTimeTag = 'calt',
   cmChromaticAdaptationTag = 'chad',
   cmCharTargetTag = 'targ',
   cmCopyrightTag = 'cprt',
   cmDeviceMfgDescTag = 'dmnd',
   cmDeviceModelDescTag = 'dmdd',
   cmGamutTag = 'gamt',
   cmGrayTRCTag = 'kTRC',
   cmGreenColorantTag = 'gXYZ',
   cmGreenTRCTag = 'gTRC',
   cmLuminanceTag = 'lumi',
   cmMeasurementTag = 'meas',
   cmMediaBlackPointTag = 'bkpt',
   cmMediaWhitePointTag = 'wtpt',
   cmNamedColorTag = 'ncol',
   cmNamedColor2Tag = 'ncl2',
   cmPreview0Tag = 'pre0',
   cmPreview1Tag = 'pre1',
   cmPreview2Tag = 'pre2',
   cmProfileDescriptionTag = 'desc',
   cmProfileSequenceDescTag = 'pseq',
   cmPS2CRD0Tag = 'psd0',
   cmPS2CRD1Tag = 'psd1',
   cmPS2CRD2Tag = 'psd2',
   cmPS2CRD3Tag = 'psd3',
   cmPS2CSATag = 'ps2s',
   cmPS2RenderingIntentTag = 'ps2i',
   cmRedColorantTag = 'rXYZ',
   cmRedTRCTag = 'rTRC',
   cmScreeningDescTag = 'scrd',
   cmScreeningTag = 'scrn',
   cmTechnologyTag = 'tech',
   cmUcrBgTag = 'bfd ',
   cmViewingConditionsDescTag = 'vued',
   cmViewingConditionsTag = 'view'
};
Constants
cmAToB0Tag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmAToB1Tag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmAToB2Tag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmBlueColorantTag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmBlueTRCTag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmBToA0Tag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmBToA1Tag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmBToA2Tag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmCalibrationDateTimeTag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmChromaticAdaptationTag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmCharTargetTag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmCopyrightTag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmDeviceMfgDescTag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmDeviceModelDescTag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmGamutTag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmGrayTRCTag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmGreenColorantTag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmGreenTRCTag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmLuminanceTag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmMeasurementTag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmMediaBlackPointTag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmMediaWhitePointTag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmNamedColorTag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmNamedColor2Tag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmPreview0Tag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmPreview1Tag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmPreview2Tag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmProfileDescriptionTag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmProfileSequenceDescTag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmPS2CRD0Tag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmPS2CRD1Tag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmPS2CRD2Tag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmPS2CRD3Tag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmPS2CSATag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmPS2RenderingIntentTag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmRedColorantTag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmRedTRCTag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmScreeningDescTag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmScreeningTag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmTechnologyTag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmUcrBgTag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmViewingConditionsDescTag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmViewingConditionsTag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Public Type Signatures

Specify signatures for public types.

enum {
   cmSigCrdInfoType = 'crdi',
   cmSigCurveType = 'curv',
   cmSigDataType = 'data',
   cmSigDateTimeType = 'dtim',
   cmSigLut16Type = 'mft2',
   cmSigLut8Type = 'mft1',
   cmSigMeasurementType = 'meas',
   cmSigMultiFunctA2BType = 'mAB ',
   cmSigMultiFunctB2AType = 'mBA ',
   cmSigNamedColorType = 'ncol',
   cmSigNamedColor2Type = 'ncl2',
   cmSigParametricCurveType = 'para',
   cmSigProfileDescriptionType = 'desc',
   cmSigProfileSequenceDescType = 'pseq',
   cmSigScreeningType = 'scrn',
   cmSigS15Fixed16Type = 'sf32',
   cmSigSignatureType = 'sig ',
   cmSigTextType = 'text',
   cmSigU16Fixed16Type = 'uf32',
   cmSigU1Fixed15Type = 'uf16',
   cmSigUInt8Type = 'ui08',
   cmSigUInt16Type = 'ui16',
   cmSigUInt32Type = 'ui32',
   cmSigUInt64Type = 'ui64',
   cmSigUcrBgType = 'bfd ',
   cmSigUnicodeTextType = 'utxt',
   cmSigViewingConditionsType = 'view',
   cmSigXYZType = 'XYZ '
};
Constants
cmSigCrdInfoType

Available in OS X v10.1 and later.

Declared in ColorSyncDeprecated.h.

cmSigCurveType

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmSigDataType

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmSigDateTimeType

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmSigLut16Type

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmSigLut8Type

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmSigMeasurementType

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmSigMultiFunctA2BType

Available in OS X v10.1 and later.

Declared in ColorSyncDeprecated.h.

cmSigMultiFunctB2AType

Available in OS X v10.1 and later.

Declared in ColorSyncDeprecated.h.

cmSigNamedColorType

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmSigNamedColor2Type

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmSigParametricCurveType

Available in OS X v10.1 and later.

Declared in ColorSyncDeprecated.h.

cmSigProfileDescriptionType

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmSigProfileSequenceDescType

Available in OS X v10.1 and later.

Declared in ColorSyncDeprecated.h.

cmSigScreeningType

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmSigS15Fixed16Type

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmSigSignatureType

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmSigTextType

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmSigU16Fixed16Type

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmSigU1Fixed15Type

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmSigUInt8Type

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmSigUInt16Type

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmSigUInt32Type

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmSigUInt64Type

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmSigUcrBgType

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmSigUnicodeTextType

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmSigViewingConditionsType

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmSigXYZType

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Quality Flag Values for Version 2.x Profiles

Define the possible values for the quality bits in the flags field of the CM2Header structure.

enum {
   cmNormalMode = 0,
   cmDraftMode = 1,
   cmBestMode = 2
};
Constants
cmNormalMode

This is the default setting. Normal mode indicates that the CMM should use its default method to compromise between performance and resource requirements.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmDraftMode

Draft mode indicates that the CMM should sacrifice quality, if necessary, to minimize resource requirements. Note that the default CMM currently produces the same results for both normal and draft mode.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmBestMode

Best mode indicates that the CMM should maximize resource usage to ensure the highest possible quality.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Discussion

To determine the value of the quality flag, you mask the flags field of the profile header with the cmQualityMask mask, right shift 16 bits, then compare the result to the enumerated constants shown here. For more information on the quality flag, see “Flag Mask Definitions for Version 2.x Profiles.”

When you start a color-matching session, ColorSync sends all involved profiles to the color management module (CMM). The CMM extracts the information it needs from the profiles and stores an internal representation in private memory. ColorSync’s default CMM samples the input space and stores the results in a lookup table, a common technique that speeds up conversion for runtime applications. The size of the table is based on the quality flag setting in the source profile header. The setting of the quality flag can affect the memory requirements, accuracy, and speed of the color-matching session. In general, the higher the quality setting, the larger the lookup table, the more accurate the matching, and the slower the matching process. Note however, that the default CMM currently produces the same results for both normal and draft mode.

Rendering Intent Values for Version 2.x Profiles

Define the four possible values for the rendering intent bits of the renderingIntent field of the CM2Header structure.

enum {
   cmPerceptual = 0,
   cmRelativeColorimetric = 1,
   cmSaturation = 2,
   cmAbsoluteColorimetric = 3
};
Constants
cmPerceptual

All the colors of a given gamut can be scaled to fit within another gamut. This intent is best suited to realistic images, such as photographic images.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmRelativeColorimetric

The colors that fall within the gamuts of both devices are left unchanged. This intent is best suited to logo images.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmSaturation

The relative saturation of colors is maintained from gamut to gamut. This intent is best suited to bar graphs and pie charts in which the actual color displayed is less important than its vividness.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmAbsoluteColorimetric

This approach is based on a device-independent color space in which the result is an idealized print viewed on a ideal type of paper having a large dynamic range and color gamut.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Discussion

The ColorSync Manager defines the structure CM2Header to represent the profile header for the version 2.x profile format defined by the ICC. The renderingIntent field of the CM2Header structure is an unsigned long value whose bits specify information about a profile. The ICC reserves the use of bits 0 to 15 and has assigned values to bits 0 and 1. Bits 16 to 31 are reserved for use by color management system (CMS) vendors.

Rendering intent controls the approach a CMM uses to translate the colors of an image to the color gamut of a destination device. Your application can set a profile’s rendering intent, for example, based on a user’s choice of the preferred approach for rendering an image.

Because rendering intent is specified by the low two bits, and because no other bits are currently defined for this field, you can use the constants defined here to test or set the value of the entire field, without concern for possible information stored in other bits.

Screen Encoding Tags

Specify tags to use for screen encodings.

enum {
   cmPrtrDefaultScreens = 0,
   cmLinesPer = 1
};
Constants
cmPrtrDefaultScreens

Use printer default screens; can have an associated value of 0 for false or 1 for true.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmLinesPer

Lines per unit; can have an associated value of 0 for lines per centimeter or 1 for lines per inch.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Spot Function Values

Specify values for spot functions.

enum {
   cmSpotFunctionUnknown = 0,
   cmSpotFunctionDefault = 1,
   cmSpotFunctionRound = 2,
   cmSpotFunctionDiamond = 3,
   cmSpotFunctionEllipse = 4,
   cmSpotFunctionLine = 5,
   cmSpotFunctionSquare = 6,
   cmSpotFunctionCross = 7
};
Constants
cmSpotFunctionUnknown

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmSpotFunctionDefault

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmSpotFunctionRound

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmSpotFunctionDiamond

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmSpotFunctionEllipse

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmSpotFunctionLine

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmSpotFunctionSquare

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmSpotFunctionCross

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Standard Observer

Standard observer measurement type encodings.

enum {
   cmStdobsUnknown = 0x00000000,
   cmStdobs1931TwoDegrees = 0x00000001,
   cmStdobs1964TenDegrees = 0x00000002
};
Constants
cmStdobsUnknown

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmStdobs1931TwoDegrees

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmStdobs1964TenDegrees

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Tag Type Information

Defines a constant for 2.0 tag type information.

enum {
   cmNumHeaderElements = 10
};
Constants
cmNumHeaderElements

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Technology Tag Descriptions

Define descriptor tags for technologies.

enum {
   cmTechnologyDigitalCamera = 'dcam',
   cmTechnologyFilmScanner = 'fscn',
   cmTechnologyReflectiveScanner = 'rscn',
   cmTechnologyInkJetPrinter = 'ijet',
   cmTechnologyThermalWaxPrinter = 'twax',
   cmTechnologyElectrophotographicPrinter = 'epho',
   cmTechnologyElectrostaticPrinter = 'esta',
   cmTechnologyDyeSublimationPrinter = 'dsub',
   cmTechnologyPhotographicPaperPrinter = 'rpho',
   cmTechnologyFilmWriter = 'fprn',
   cmTechnologyVideoMonitor = 'vidm',
   cmTechnologyVideoCamera = 'vidc',
   cmTechnologyProjectionTelevision = 'pjtv',
   cmTechnologyCRTDisplay = 'CRT ',
   cmTechnologyPMDisplay = 'PMD ',
   cmTechnologyAMDisplay = 'AMD ',
   cmTechnologyPhotoCD = 'KPCD',
   cmTechnologyPhotoImageSetter = 'imgs',
   cmTechnologyGravure = 'grav',
   cmTechnologyOffsetLithography = 'offs',
   cmTechnologySilkscreen = 'silk',
   cmTechnologyFlexography = 'flex'
};
Constants
cmTechnologyDigitalCamera

Available in OS X v10.1 and later.

Declared in ColorSyncDeprecated.h.

cmTechnologyFilmScanner

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmTechnologyReflectiveScanner

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmTechnologyInkJetPrinter

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmTechnologyThermalWaxPrinter

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmTechnologyElectrophotographicPrinter

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmTechnologyElectrostaticPrinter

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmTechnologyDyeSublimationPrinter

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmTechnologyPhotographicPaperPrinter

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmTechnologyFilmWriter

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmTechnologyVideoMonitor

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmTechnologyVideoCamera

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmTechnologyProjectionTelevision

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmTechnologyCRTDisplay

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmTechnologyPMDisplay

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmTechnologyAMDisplay

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmTechnologyPhotoCD

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmTechnologyPhotoImageSetter

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmTechnologyGravure

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmTechnologyOffsetLithography

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmTechnologySilkscreen

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmTechnologyFlexography

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Use Types

Specify use types.

enum {
   cmInputUse = 'inpt',
   cmOutputUse = 'outp',
   cmDisplayUse = 'dply',
   cmProofUse = 'pruf'
};
Constants
cmInputUse

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmOutputUse

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmDisplayUse

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmProofUse

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Discussion

Used for the function CMGetProfileByUse and SetDefaultProfileByUse.

Video Card Gamma Storage Types

Specify data storage type constants.

enum {
   cmVideoCardGammaTableType = 0,
   cmVideoCardGammaFormulaType = 1
};
Constants
cmVideoCardGammaTableType

The video card gamma data is stored in a table format. See CMVideoCardGammaTable for a description of the table format.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmVideoCardGammaFormulaType

The video card gamma tag data is stored as a formula. See CMVideoCardGammaFormula for a description of the formula format.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Discussion

A video card gamma profile tag can store gamma data either as a formula or as a table of values. You use a storage type constant to specify which data storage type the tag uses.

If the video card uses a different format than the format you specify (for example, the card uses data in table format and you supply data in formula format), ColorSync will adapt the data you supply to match the format the card expects.

Version Notes

Starting with version 2.5, ColorSync supports an optional profile tag for video card gamma. The tag specifies gamma information, stored either as a formula or in table format, to be loaded into the video card when the profile containing the tag is put into use. As of version 2.5, the only ColorSync function that attempts to take advantage of video card gamma data is CMSetProfileByAVID.

Video Card Gamma Tags

Specify video card gamma information.

enum {
   cmPS2CRDVMSizeTag = 'psvm',
   cmVideoCardGammaTag = 'vcgt',
   cmMakeAndModelTag = 'mmod',
   cmProfileDescriptionMLTag = 'dscm',
   cmNativeDisplayInfoTag = 'ndin'
};
Constants
cmPS2CRDVMSizeTag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmVideoCardGammaTag

Constant for profile tag that specifies video card gamma information. When you create a tag to store video card gamma data in a profile, you use the cmVideoCardGammaTag constant to specify the tag.

Starting with version 2.5, ColorSync supports an optional profile tag for video card gamma. The tag specifies gamma information, stored either as a formula or in table format, to be loaded into the video card when the profile containing the tag is put into use. As of version 2.5, the only ColorSync function that attempts to take advantage of video card gamma data is CMSetProfileByAVID.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmMakeAndModelTag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmProfileDescriptionMLTag

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmNativeDisplayInfoTag

Available in OS X v10.1 and later.

Declared in ColorSyncDeprecated.h.

Video Card Gamma Signatures

Specify signatures used for video card gamma information.

enum {
   cmSigPS2CRDVMSizeType = 'psvm',
   cmSigVideoCardGammaType = 'vcgt',
   cmSigMakeAndModelType = 'mmod',
   cmSigNativeDisplayInfoType = 'ndin',
   cmSigMultiLocalizedUniCodeType = 'mluc'
};
Constants
cmSigPS2CRDVMSizeType

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmSigVideoCardGammaType

Constant that specifies video card gamma type signature in a video card gamma profile tag. That is, you use this constant to set the typeDescriptor field of the CMVideoCardGammaType structure. There is currently only one type possible for a video card gamma tag.

Starting with version 2.5, ColorSync supports an optional profile tag for video card gamma. The tag specifies gamma information, stored either as a formula or in table format, to be loaded into the video card when the profile containing the tag is put into use. As of version 2.5, the only ColorSync function that attempts to take advantage of video card gamma data is CMSetProfileByAVID.

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmSigMakeAndModelType

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

cmSigNativeDisplayInfoType

Available in OS X v10.1 and later.

Declared in ColorSyncDeprecated.h.

cmSigMultiLocalizedUniCodeType

Available in OS X v10.0 and later.

Declared in ColorSyncDeprecated.h.

Result Codes

The most common result codes returned by ColorSync Manager are listed below.

Result CodeValueDescription
noErr 0

No error

Available in OS X v10.0 and later.

cmProfileError -170

There is something wrong with the content of the profile

Available in OS X v10.0 and later.

cmMethodError -171

An error occurred during the CMM arbitration process that determines the CMM to use

Available in OS X v10.0 and later.

cmMethodNotFound -175

CMM not present

Available in OS X v10.0 and later.

cmProfileNotFound -176

Responder error

Available in OS X v10.0 and later.

cmProfilesIdentical -177

Profiles are the same

Available in OS X v10.0 and later.

cmCantConcatenateError -178

Profiles cannot be concatenated

Available in OS X v10.0 and later.

cmCantXYZ -179

CMM does not handle XYZ color space

Available in OS X v10.0 and later.

cmCantDeleteProfile -180

Responder error

Available in OS X v10.0 and later.

cmUnsupportedDataType -181

Responder error

Available in OS X v10.0 and later.

cmNoCurrentProfile -182

Responder error

Available in OS X v10.0 and later.

cmElementTagNotFound -4200

The tag you specified is not in the specified profile

Available in OS X v10.0 and later.

cmIndexRangeErr -4201

Tag index out of range

Available in OS X v10.0 and later.

cmCantDeleteElement -4202

Cannot delete the specified profile element

Available in OS X v10.0 and later.

cmFatalProfileErr -4203

Returned from File Manager while updating a profile file in response to CMUpdateProfile; profile content may be corrupted

Available in OS X v10.0 and later.

cmInvalidProfile -4204

Profile reference is invalid or refers to an inappropriate profile

Available in OS X v10.0 and later.

cmInvalidProfileLocation -4205

Operation not supported for this profile location

Available in OS X v10.0 and later.

cmInvalidSearch -4206

Bad search handle

Available in OS X v10.0 and later.

cmSearchError -4207

Internal error occurred during profile search

Available in OS X v10.0 and later.

cmErrIncompatibleProfile -4208

Unspecified profile error

Available in OS X v10.0 and later.

cmInvalidColorSpace -4209

Profile color space does not match bitmap type

Available in OS X v10.0 and later.

cmInvalidSrcMap -4210

Source pixel map or bitmap was invalid

Available in OS X v10.0 and later.

cmInvalidDstMap -4211

Destination pix/bit map was invalid

Available in OS X v10.0 and later.

cmNoGDevicesError -4212

Begin matching or end matching—no graphics devices available

Available in OS X v10.0 and later.

cmInvalidProfileComment -4213

Bad profile comment during drawpicture

Available in OS X v10.0 and later.

cmRangeOverFlow -4214

One or more output color value overflows in color conversion; all input color values will be converted and the overflow will be clipped

Available in OS X v10.0 and later.

cmCantCopyModifiedV1Profile -4215

It is illegal to copy version 1.0 profiles that have been modified

Available in OS X v10.0 and later.

cmNamedColorNotFound -4216

The specified named color was not found in the specified profile

Available in OS X v10.0 and later.

cmCantGamutCheckError -4217

Gamut checking not supported by this color world—that is, the color world does not contain a gamut table because it was built with gamut checking turned off

Available in OS X v10.0 and later.

cmDeviceDBNotFoundErr -4227

Preferences not found or loaded; returned by a CM device integration routine.

Available in OS X v10.0 and later.

cmDeviceAlreadyRegistered -4228

Device already registered; returned by a CM device integration routine.

Available in OS X v10.0 and later.

cmDeviceNotRegistered -4229

Device not found; returned by a CM device integration routine.

Available in OS X v10.0 and later.

cmDeviceProfilesNotFound -4230

Profiles not found; returned by a CM device integration routine.

Available in OS X v10.0 and later.

cmInternalCFErr -4231

CoreFoundation failure; returned by a CM device integration routine.

Available in OS X v10.0 and later.