KCMS CMM Developer's Guide

Preface

The KCMS CMM Developer's Guide describes how to create a Kodak Color Management System (KCMSTM) color management module (CMM). It provides information on how to use the KCMS foundation library, which is a graphics porting interface (GPI) implemented in C++. These C++ interfaces link the device-independent layer of the KCMS library with the CMM and enable the flow of data from the application to the CMM.

Use this manual with the KCMS CMM Reference Manual, which provides detailed information on all C++ classes in the KCMS foundation library.

Who Should Use This Guide

Use this guide if you are a C++ programmer interested in:

Before You Read This Guide

Check all of the following for any KCMS-specific or system release-specific information that you might need:

How This Guide Is Organized

Chapter 1, Class Descriptions briefly describes each of the relevant classes in the KCMS CMM class hierarchy.

Chapter 2, CMM : A Runtime Derivative describes how to create a CMM that is a runtime derivative. It also discusses each of the KCMS classes from which you can derive or extend.

Chapter 3, KCMS Framework Operations provides examples of how some of the C++ methods interface with the KCMS framework API.

Chapter 4, KcsIO Derivative describes how to derive from the KcsIO base class.

Chapter 5, KcsProfile Derivative describes how to derive from the KcsProfile base class.

Chapter 6, KcsProfileFormat Derivative describes how to derive from the KcsProfileFormat base class.

Chapter 7, KcsXform Derivative describes how to derive from the KcsXform base class.

Chapter 8, KcsStatus Extension describes how to extend the KcsStatus base class.

Appendix A, Supported Devices describes how to name and install your own profile.

Related Books

The following is a list of recommended books that can help you accomplish the tasks described in this guide:

Ordering Sun Documents

Fatbrain.com, an Internet professional bookstore, stocks select product documentation from Sun Microsystems, Inc.

For a list of documents and how to order them, visit the Sun Documentation Center on Fatbrain.com at http://www1.fatbrain.com/documentation/sun.

Accessing Sun Documentation Online

The docs.sun.comSM Web site enables you to access Sun technical documentation online. You can browse the docs.sun.com archive or search for a specific book title or subject. The URL is http://docs.sun.com.

What Typographic Conventions Mean

The following table describes the typographic changes used in this book.

Table P-1 Typographic Conventions

Typeface or Symbol 

Meaning 

Example 

AaBbCc123

 The names of commands, files, and directories; on-screen computer output

Edit your .login file.

Use ls -a to list all files.

machine_name% you have mail.

AaBbCc123

 What you type, contrasted with on-screen computer output

machine_name% su

Password:

AaBbCc123

 Command-line placeholder: replace with a real name or value

To delete a file, type rm filename.

AaBbCc123

Book titles, new words, or terms, or words to be emphasized. 

Read Chapter 6 in User's Guide.

These are called class options.

You must be root to do this.

Shell Prompts in Command Examples

The following table shows the default system prompt and superuser prompt for the C shell, Bourne shell, and Korn shell.

Table P-2 Shell Prompts

Shell 

Prompt 

 C shell promptmachine_name%
 C shell superuser promptmachine_name#
 Bourne shell and Korn shell prompt$
 Bourne shell and Korn shell superuser prompt#

Equivalent Terms In This Guide

For historic reasons, this guide uses several equivalent Kodak and ICC terms. The terms evolved at different times. Development of the ICC specification introduced new ICC terms with meanings the same as (or similar to) already existing Kodak terms.

You should be familiar with the terms listed in the table below, as you will encounter them in the ICC specification and KCMS color management documentation, as well as in the KCMS header files and example programs. The terms are defined as they are introduced in this guide.

Table P-3 Equivalent ICC and Kodak Terms

Kodak Term 

ICC Term 

attribute 

tag 

device color profile (DCP) 

input, display, or output profile 

effects color profile (ECP) 

abstract profile 

complete color profile (CCP) 

device link profile 

profile format Id or magic number 

profile file signature 

reference color space (RCS) 

profile connection space (PCS) 


Note -

The text in this guide uses the term attribute instead of tag, (but code examples and header files may use tag for the historic reasons previously mentioned.