Carbon


CMProfileIdentifier

Header: CMApplication.h

struct CMProfileIdentifier {
    CM2Header profileHeader; 
    CMDateTime calibrationDate; 
    UInt32 ASCIIProfileDescriptionLen; 
    char ASCIIProfileDescription[1]; 
    wide time; 
    TimeScale scale; 
    QElemPtr qLink; 
    SInt16 qType; 
    SInt16 crmVersion; 
    SInt32 crmPrivate; 
    SInt16 crmReserved; 
    SInt32 crmDeviceType; 
    SInt32 crmDeviceID; 
    SInt32 crmAttributes; 
    SInt32 crmStatus; 
    SInt16 TPLCKS_ADDR; 
    SInt16 TPLCKS_LEN; 
    char TPLCKS_CS; 
    Byte reserved; 
    SInt32 oldIcon[32]; 
    SInt32 oldMask[32]; 
    Handle theSuite; 
    SInt32 reserved;
};
typedef CMProfileIdentifier CMProfileIdentifierPtr;

Field descriptions

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.

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 for additional information on profile searching.

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


© 2000 Apple Computer, Inc. (Last Updated 7/17/2000)