/****************************************************************************************


		ColorDefs.h


		Copyright: (c) 2001 Eovia Corp. All rights reserved.


		Author:	Mathieu
		Date:	10/30/98

		Some definitions shared by the app and the plugins

		Revision History

		when		who			what & why
		==========	==========	======================================================
		2/14/99		tsh			fix bad platform-specific test
		02/12/99	Mathieu		Moved icProfileClassSignature from newicc34
		02/03/99	Mathieu		Moved icColorSpaceSignature from newicc34	

*****************************************************************************************/

#ifndef __ColorDefs__
#define __ColorDefs__
#pragma once

#include "MCBasicTypes.h"
#include "MCOSConfig.h"

#if WIN
const IDType	kICCProfileType = IDTYPE('i','c','m',0);
#elif MAC
const IDType	kICCProfileType = 'prof';
#endif

enum EICRenderingIntent
{
    kicPerceptual                        = 0,
    kicRelativeColorimetric              = 1,
    kicSaturation                        = 2,
    kicAbsoluteColorimetric              = 3,
    kicMaxEnumIntent                     = 0xFFFFFFFFL   
};


//  Color Space Signatures
// Note that only icSigXYZData and icSigLabData are valid
// Profile Connection Spaces (PCSs)
enum EICColorSpaceSignature
{
	kicSigXYZData                        = 0x58595A20L,  // 'XYZ ' 
	kicSigLabData                        = 0x4C616220L,  // 'Lab ' 
	kicSigLuvData                        = 0x4C757620L,  // 'Luv ' 
	kicSigYCbCrData                      = 0x59436272L,  // 'YCbr' 
	kicSigYxyData                        = 0x59787920L,  // 'Yxy ' 
	kicSigRgbData                        = 0x52474220L,  // 'RGB ' 
	kicSigGrayData                       = 0x47524159L,  // 'GRAY' 
	kicSigHsvData                        = 0x48535620L,  // 'HSV ' 
	kicSigHlsData                        = 0x484C5320L,  // 'HLS ' 
	kicSigCmykData                       = 0x434D594BL,  // 'CMYK' 
	kicSigCmyData                        = 0x434D5920L,  // 'CMY ' 
	kicSig2colorData                     = 0x32434C52L,  // '2CLR' 
	kicSig3colorData                     = 0x33434C52L,  // '3CLR' 
	kicSig4colorData                     = 0x34434C52L,  // '4CLR' 
	kicSig5colorData                     = 0x35434C52L,  // '5CLR' 
	kicSig6colorData                     = 0x36434C52L,  // '6CLR' 
	kicSig7colorData                     = 0x37434C52L,  // '7CLR' 
	kicSig8colorData                     = 0x38434C52L,  // '8CLR' 
	kicSig9colorData                     = 0x39434C52L,  // '9CLR' 
	kicSig10colorData                    = 0x41434C52L,  // 'ACLR' 
	kicSig11colorData                    = 0x42434C52L,  // 'BCLR' 
	kicSig12colorData                    = 0x43434C52L,  // 'CCLR' 
	kicSig13colorData                    = 0x44434C52L,  // 'DCLR' 
	kicSig14colorData                    = 0x45434C52L,  // 'ECLR' 
	kicSig15colorData                    = 0x46434C52L,  // 'FCLR' 
	kicMaxEnumData                       = 0xFFFFFFFFL   
};


// profileClass enumerations 
enum EICProfileClassSignature
{
	kicSigAnyClass				 		 = 0x00000000L,	
    kicSigInputClass                     = 0x73636E72L,  // 'scnr' 
    kicSigDisplayClass                   = 0x6D6E7472L,  // 'mntr' 
    kicSigOutputClass                    = 0x70727472L,  // 'prtr' 
    kicSigLinkClass                      = 0x6C696E6BL,  // 'link' 
    kicSigAbstractClass                  = 0x61627374L,  // 'abst' 
    kicSigColorSpaceClass                = 0x73706163L,  // 'spac' 
    kicSigNamedColorClass                = 0x6e6d636cL,  // 'nmcl' 
    kicMaxEnumClass                      = 0xFFFFFFFFL  
};


#endif