KCMS CMM Developer's Guide
  Suchtext Nur in diesem Buch
Dieses Buch im PDF-Format herunterladen

Preface

The KCMS CMM Developer's Guide describes how to create a Kodak(TM) color management system (KCMS) 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 Book

Use this guide if you are a C++ programmer interested in:
  • Writing your own color management module (CMM)
  • Creating your own profile format
  • Adding attributes or tags to the ICC profile format
  • Overriding various class methods

Before You Read This Book

Check all of the following for any KCMS-specific or release 2.5-specific information that you might need:
  • You should be familiar with the Kodak Color Management System (KCMS) API which is part of the Solaris Software Developer's Kit (SDK) in the KCMS AnswerBook(TM) on-line documentation; see the following manual:

    · KCMS Application Developer's Guide

  • You should also have an understanding of C++ and Solaris(TM) dynamic loading technology. Solaris dynamic loading is discussed in the Linker and Libraries Guide and in the following manual pages:

    · ld(1)

    · dlopen(3)

    · dlclose(3)

    · dlerror(3)

    · dlsym(3)

  • A basic understanding of color science is also assumed. Color science references are included in the Bibliography of the KCMS Application Developer's Guide.
  • Check the following manuals for any corrections or updates to the information in this manual:

    · Solaris 2.5 Driver Developer Kit Introduction

    · Solaris 2.5 Driver Developer Kit Installation Guide

  • See the on-line SUNWrdm packages for information on bugs and issues, engineering news, and patches. For Solaris installation bugs and for late-breaking bugs, news, and patch information, see the Solaris Installation Notes (SPARC(TM) or x86).
  • For SPARC systems, consult the updates your hardware manufacturer may have provided.

How This Book Is Organized

Chapter 1, "Class Descriptions," briefly describes each of the classes in the KCMS CMM class hierarchy.
Chapter 2, "CMM 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 , "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, "Naming and Installing Profiles," 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 manual:

What Typographic Changes and Symbols Mean

The following table describes the type changes and symbols used in this book.
Table P-1
Typeface or SymbolMeaningExample
AaBbCc123The names of commands, files, and directories; on-screen computer outputEdit your .login file. Use ls -a to list all files. system% You have mail.
AaBbCc123What you type, contrasted with on-screen computer output

 system%su  
 Password:  

AaBbCc123Command-line placeholder: replace with a real name or valueTo delete a file, type rm filename.
AaBbCc123Book titles, new words or terms, or words to be emphasizedRead 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 promptsystem%
$UNIX Bourne and Korn shell promptsystem$
#Superuser prompt, all shellssystem#