PATHDocumentation > Mac OS 8 and 9 > Mutlimedia and Graphics > ColorSync Manager >

Managing Color With ColorSync


Creating a Component Resource for a CMM

A CMM is stored as a component resource. It contains a number of resources, including the standard component resource (a resource of type 'thng' ) required of any Component Manager component. In addition, a CMM must contain code to handle required request codes passed to it by the Component Manager. This includes support for Component Manager required request codes as well as ColorSync Manager required request codes. For an example of the resources your CMM should include, refer to the DemoCMM project available with the ColorSync SDK.

To allow the ColorSync Manager to use your CMM when a profile specifies it as its preferred CMM, your CMM should be located in the Extensions folder, where it will automatically be registered at startup. The file type for component files must be set to 'thng' .

The Component Resource

The component resource contains all the information needed to register a code resource as a component. Information in the component resource tells the Component Manager where to find the code for the component. As part of the component resource, you must provide a component description record that specifies the component type, subtype, manufacturer, and flags. Here is the data structure for the component description:

struct ComponentDescription {
    OSType              componentType;  
    OSType              componentSubType;
    OSType              componentManufacturer;
    unsigned long       componentFlags;
    unsigned long       componentFlagsMask;
};

The following are the key fields of the component description data structure for creating a CMM component:

Note

Values you specify for all fields except the componentType field must include at least one uppercase character. Apple Computer reserves values containing all lowercase characters for its own use.

The Extended Component Resource

Since it was first defined, the component resource has been extended to include additional information. That additional information includes the following field for specifying the version of your component:

long    componentVersion;   /* version of Component */

For more information on component data types, see the following files from the Universal Interfaces distributed with development systems for the Mac OS:


© 1988-1999 Apple Computer, Inc. — (Last Updated 20 Jan 99)