KCMS CMM Developer's Guide

Preface

The KCMS CMM Developer's Guide describes how to create a Kodak Color Management System (KCMS(TM)) 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

The SunDocsSM program provides more than 250 manuals from Sun Microsystems, Inc. If you live in the United States, Canada, Europe, or Japan, you can purchase documentation sets or individual manuals using this program.

For a list of documents and how to order them, see the catalog section of the SunExpress(TM) Internet site at http://www.sun.com/sunexpress.


Note -

The term "x86" refers to the Intel 8086 family of microprocessor chips, including Pentium and Pentium Pro processors and compatible microprocessor chips made by AMD and Cyrix. In this document, the term "x86" refers to the overall platform architecture, whereas "Intel Platform Edition" appears in the product name.


What Typographic Changes and Symbols Mean

The following table describes the type changes and symbols used in this guide:

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.

system% You have mail.

AaBbCc123

What you type, contrasted with on-screen computer output 

system%

su

Password:

AaBbCc123

Command-line placeholder: 

replace with a real name or value 

To delete a file, type rmfilename.

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.

Code samples are included in boxes and may display the following: 

%

UNIX C shell prompt 

system%

$

UNIX Bourne and Korn shell prompt 

system$

#

Superuser prompt, all shells 

system#

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 prompt 

machine_name%

C shell superuser prompt 

machine_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.