Previous Book Contents Book Index Next

Inside Macintosh: Advanced Color Imaging on the Mac OS /

Chapter 5 - Developing Color Management Modules

This chapter describes how to create a component called a color management module (CMM) to use with the ColorSync Manager instead of or in conjunction with the Apple-supplied default CMM. At a minimum, a CMM created for use with the ColorSync Manager must be able to match colors across color spaces belonging to different base families and check colors expressed in the color gamut of one device against the color gamut of another device.

In addition to the minimum set of requests a CMM must service, a CMM can also implement support for other requests a ColorSync-supportive application or device driver might make. Among the optional services a CMM might provide are verifying if a particular profile contains the base set of required elements for a profile of its type and directing the process of converting profile data embedded in a graphics file to data in an external profile file accessed through a profile reference and vice versa. A CMM can also provide services for PostScript printers by obtaining or deriving from a profile specific data required by PostScript printers for color-matching processes and returning the data in a format that can be sent to the PostScript printer.

You should read this chapter if you are a third-party developer who creates CMMs for use with version 2.x of the ColorSync Manager.

This chapter gives a brief overview of what a CMM is and the role a CMM plays in the ColorSync Manager color management system (CMS). Before reading this chapter, you should read "Introduction to the ColorSync Manager" (page 3-3) for a more complete conceptual explanation of how a CMM fits within the ColorSync Manager CMS.

This chapter provides a basic structure you can follow in creating a CMM. It provides a high-level discussion of the required and optional ColorSync Manager request codes your CMM might be called to handle, and also describes the Component Manager required request codes to which every component must respond.

For complete details on components and their structure, see the chapter "Component Manager" in Inside Macintosh: More Macintosh Toolbox.

Chapter Contents
About Color Management Modules
Creating a Color Management Module
Creating a Component Resource for a CMM
How Your CMM Is Called by the Component Manager
Required Component Manager Request Codes
Required ColorSync Manager Request Codes
Optional ColorSync Manager Request Codes
Handling Request Codes
Responding to Required Component Manager Request Codes
Establishing the Environment for a New Component Instance
Releasing Private Storage and Closing the Component Instance
Determining Whether Your CMM Supports a Request
Providing Your CMM Version Number
Responding to ColorSync Manager Required Request Codes
Initializing the Current Component Instance for a Session Involving Two Profiles
Matching a List of Colors to the Destination Profile's Color Space
Checking a List of Colors
Responding to ColorSync Manager Optional Request Codes
Validating That a Profile Meets the Base Content Requirements
Matching the Colors of a Bitmap
Checking the Colors of a Bitmap
Matching the Colors of a Pixel Map Image
Checking the Colors of a Pixel Map Image
Initializing the Component Instance for a Session Using Concatenated Profiles
Creating a Device-Linked Profile and Opening a Reference to It
Obtaining PostScript-Related Data From a Profile
Obtaining the Size of the Color Rendering Dictionary for PostScript Printers
Flattening a Profile for Embedding in a Graphics File
Unflattening a Profile
Supplying Named Color Space Information
Summary of the Color Management Modules
Required Functions
Optional Functions

Previous Book Contents Book Index Next

© Apple Computer, Inc.
13 NOV 1996