/* File: CMApplication.h Contains: Color Matching Interfaces Version: QuickTime 7.3 Copyright: (c) 2007 (c) 1992-2001 by Apple Computer, Inc., all rights reserved. Bugs?: For bug reports, consult the following page on the World Wide Web: http://developer.apple.com/bugreporter/ */ #ifndef __CMAPPLICATION__ #define __CMAPPLICATION__ #ifndef __MACTYPES__ #include #endif #ifndef __FILES__ #include #endif #ifndef __MACERRORS__ #include #endif #ifndef __CFSTRING__ #include #endif #ifndef __CFDICTIONARY__ #include #endif #ifndef __CMICCPROFILE__ #include #endif #ifndef __CMTYPES__ #include #endif #define _DECLARE_CS_QD_API_ 1 #ifndef __QUICKDRAW__ #include #endif #if TARGET_API_MAC_OS8 #endif /* TARGET_API_MAC_OS8 */ #if PRAGMA_ONCE #pragma once #endif #ifdef __cplusplus extern "C" { #endif #if PRAGMA_IMPORT #pragma import on #endif #if PRAGMA_STRUCT_ALIGN #pragma options align=mac68k #elif PRAGMA_STRUCT_PACKPUSH #pragma pack(push, 2) #elif PRAGMA_STRUCT_PACK #pragma pack(2) #endif enum { kDefaultCMMSignature = FOUR_CHAR_CODE('appl') }; /* Macintosh 68K trap word */ enum { cmTrap = 0xABEE }; /* PicComment IDs */ enum { cmBeginProfile = 220, cmEndProfile = 221, cmEnableMatching = 222, cmDisableMatching = 223, cmComment = 224 }; /* PicComment selectors for cmComment */ enum { cmBeginProfileSel = 0, cmContinueProfileSel = 1, cmEndProfileSel = 2, cmProfileIdentifierSel = 3 }; /* Defines for version 1.0 CMProfileSearchRecord.fieldMask */ enum { cmMatchCMMType = 0x00000001, cmMatchApplProfileVersion = 0x00000002, cmMatchDataType = 0x00000004, cmMatchDeviceType = 0x00000008, cmMatchDeviceManufacturer = 0x00000010, cmMatchDeviceModel = 0x00000020, cmMatchDeviceAttributes = 0x00000040, cmMatchFlags = 0x00000080, cmMatchOptions = 0x00000100, cmMatchWhite = 0x00000200, cmMatchBlack = 0x00000400 }; /* Defines for version 2.0 CMSearchRecord.searchMask */ enum { cmMatchAnyProfile = 0x00000000, cmMatchProfileCMMType = 0x00000001, cmMatchProfileClass = 0x00000002, cmMatchDataColorSpace = 0x00000004, cmMatchProfileConnectionSpace = 0x00000008, cmMatchManufacturer = 0x00000010, cmMatchModel = 0x00000020, cmMatchAttributes = 0x00000040, cmMatchProfileFlags = 0x00000080 }; /* Flags for PostScript-related functions */ enum { cmPS7bit = 1, cmPS8bit = 2 }; /* Flags for profile embedding functions */ enum { cmEmbedWholeProfile = 0x00000000, cmEmbedProfileIdentifier = 0x00000001 }; /* Commands for CMFlattenUPP() */ enum { cmOpenReadSpool = 1, cmOpenWriteSpool = 2, cmReadSpool = 3, cmWriteSpool = 4, cmCloseSpool = 5 }; /* Commands for CMAccessUPP() */ enum { cmOpenReadAccess = 1, cmOpenWriteAccess = 2, cmReadAccess = 3, cmWriteAccess = 4, cmCloseAccess = 5, cmCreateNewAccess = 6, cmAbortWriteAccess = 7, cmBeginAccess = 8, cmEndAccess = 9 }; /* Use types for CMGet/SetDefaultProfileByUse() */ enum { cmInputUse = FOUR_CHAR_CODE('inpt'), cmOutputUse = FOUR_CHAR_CODE('outp'), cmDisplayUse = FOUR_CHAR_CODE('dply'), cmProofUse = FOUR_CHAR_CODE('pruf') }; /* Union of 1.0 2.0, and 4.0 profile header variants */ union CMAppleProfileHeader { CMHeader cm1; CM2Header cm2; CM4Header cm4; }; typedef union CMAppleProfileHeader CMAppleProfileHeader; /* CWConcatColorWorld() definitions */ struct CMConcatProfileSet { UInt16 keyIndex; /* Zero-based */ UInt16 count; /* Min 1 */ CMProfileRef profileSet[1]; /* Variable. Ordered from Source -> Dest */ }; typedef struct CMConcatProfileSet CMConcatProfileSet; /* NCWConcatColorWorld() definitions */ struct NCMConcatProfileSpec { UInt32 renderingIntent; /* renderingIntent override */ UInt32 transformTag; /* transform enumerations defined below */ CMProfileRef profile; /* profile */ }; typedef struct NCMConcatProfileSpec NCMConcatProfileSpec; struct NCMConcatProfileSet { OSType cmm; /* e.g. 'KCMS', 'appl', ... uniquely ids the cmm, or 0000 */ UInt32 flags; /* specify quality, lookup only, no gamut checking ... */ UInt32 flagsMask; /* which bits of 'flags' to use to override profile */ UInt32 profileCount; /* how many ProfileSpecs in the following set */ NCMConcatProfileSpec profileSpecs[1]; /* Variable. Ordered from Source -> Dest */ }; typedef struct NCMConcatProfileSet NCMConcatProfileSet; enum { kNoTransform = 0, /* Not used */ kUseAtoB = 1, /* Use 'A2B*' tag from this profile or equivalent */ kUseBtoA = 2, /* Use 'B2A*' tag from this profile or equivalent */ kUseBtoB = 3, /* Use 'pre*' tag from this profile or equivalent */ /* For typical device profiles the following synonyms may be useful */ kDeviceToPCS = kUseAtoB, /* Device Dependent to Device Independent */ kPCSToDevice = kUseBtoA, /* Device Independent to Device Dependent */ kPCSToPCS = kUseBtoB, /* Independent, through device's gamut */ kUseProfileIntent = (long)0xFFFFFFFF /* For renderingIntent in NCMConcatProfileSpec */ }; /* ColorSync color data types */ struct CMRGBColor { UInt16 red; /* 0..65535 */ UInt16 green; UInt16 blue; }; typedef struct CMRGBColor CMRGBColor; struct CMCMYKColor { UInt16 cyan; /* 0..65535 */ UInt16 magenta; UInt16 yellow; UInt16 black; }; typedef struct CMCMYKColor CMCMYKColor; struct CMCMYColor { UInt16 cyan; /* 0..65535 */ UInt16 magenta; UInt16 yellow; }; typedef struct CMCMYColor CMCMYColor; struct CMHLSColor { UInt16 hue; /* 0..65535. Fraction of circle. Red at 0 */ UInt16 lightness; /* 0..65535 */ UInt16 saturation; /* 0..65535 */ }; typedef struct CMHLSColor CMHLSColor; struct CMHSVColor { UInt16 hue; /* 0..65535. Fraction of circle. Red at 0 */ UInt16 saturation; /* 0..65535 */ UInt16 value; /* 0..65535 */ }; typedef struct CMHSVColor CMHSVColor; struct CMLabColor { UInt16 L; /* 0..65535 maps to 0..100 */ UInt16 a; /* 0..65535 maps to -128..127.996 */ UInt16 b; /* 0..65535 maps to -128..127.996 */ }; typedef struct CMLabColor CMLabColor; struct CMLuvColor { UInt16 L; /* 0..65535 maps to 0..100 */ UInt16 u; /* 0..65535 maps to -128..127.996 */ UInt16 v; /* 0..65535 maps to -128..127.996 */ }; typedef struct CMLuvColor CMLuvColor; struct CMYxyColor { UInt16 capY; /* 0..65535 maps to 0..1 */ UInt16 x; /* 0..65535 maps to 0..1 */ UInt16 y; /* 0..65535 maps to 0..1 */ }; typedef struct CMYxyColor CMYxyColor; struct CMGrayColor { UInt16 gray; /* 0..65535 */ }; typedef struct CMGrayColor CMGrayColor; struct CMMultichannel5Color { UInt8 components[5]; /* 0..255 */ }; typedef struct CMMultichannel5Color CMMultichannel5Color; struct CMMultichannel6Color { UInt8 components[6]; /* 0..255 */ }; typedef struct CMMultichannel6Color CMMultichannel6Color; struct CMMultichannel7Color { UInt8 components[7]; /* 0..255 */ }; typedef struct CMMultichannel7Color CMMultichannel7Color; struct CMMultichannel8Color { UInt8 components[8]; /* 0..255 */ }; typedef struct CMMultichannel8Color CMMultichannel8Color; struct CMNamedColor { UInt32 namedColorIndex; /* 0..a lot */ }; typedef struct CMNamedColor CMNamedColor; union CMColor { CMRGBColor rgb; CMHSVColor hsv; CMHLSColor hls; CMXYZColor XYZ; CMLabColor Lab; CMLuvColor Luv; CMYxyColor Yxy; CMCMYKColor cmyk; CMCMYColor cmy; CMGrayColor gray; CMMultichannel5Color mc5; CMMultichannel6Color mc6; CMMultichannel7Color mc7; CMMultichannel8Color mc8; CMNamedColor namedColor; }; typedef union CMColor CMColor; /* GetIndexedProfile() search definition */ struct CMProfileSearchRecord { CMHeader header; UInt32 fieldMask; UInt32 reserved[2]; }; typedef struct CMProfileSearchRecord CMProfileSearchRecord; typedef CMProfileSearchRecord * CMProfileSearchRecordPtr; typedef CMProfileSearchRecordPtr * CMProfileSearchRecordHandle; /* CMNewProfileSearch() search definition */ struct CMSearchRecord { OSType CMMType; OSType profileClass; OSType dataColorSpace; OSType profileConnectionSpace; UInt32 deviceManufacturer; UInt32 deviceModel; UInt32 deviceAttributes[2]; UInt32 profileFlags; UInt32 searchMask; CMProfileFilterUPP filter; }; typedef struct CMSearchRecord CMSearchRecord; /* CMMIterateUPP() structure */ struct CMMInfo { UInt32 dataSize; /* Size of this structure - compatibility*/ OSType CMMType; /* Signature, e.g. 'appl', 'HDM ' or 'KCMS'*/ OSType CMMMfr; /* Vendor, e.g. 'appl'*/ UInt32 CMMVersion; /* CMM version number*/ unsigned char ASCIIName[32]; /* pascal string - name*/ unsigned char ASCIIDesc[256]; /* pascal string - description or copyright*/ UniCharCount UniCodeNameCount; /* count of UniChars in following array*/ UniChar UniCodeName[32]; /* the name in UniCode chars*/ UniCharCount UniCodeDescCount; /* count of UniChars in following array*/ UniChar UniCodeDesc[256]; /* the description in UniCode chars*/ }; typedef struct CMMInfo CMMInfo; /* GetCWInfo() structures */ struct CMMInfoRecord { OSType CMMType; long CMMVersion; }; typedef struct CMMInfoRecord CMMInfoRecord; struct CMCWInfoRecord { UInt32 cmmCount; CMMInfoRecord cmmInfo[2]; }; typedef struct CMCWInfoRecord CMCWInfoRecord; /* profile identifier structures */ struct CMProfileIdentifier { CM2Header profileHeader; CMDateTime calibrationDate; UInt32 ASCIIProfileDescriptionLen; char ASCIIProfileDescription[1]; /* variable length */ }; typedef struct CMProfileIdentifier CMProfileIdentifier; typedef CMProfileIdentifier * CMProfileIdentifierPtr; /* colorspace masks */ enum { cmColorSpaceSpaceMask = 0x0000003F, cmColorSpacePremulAlphaMask = 0x00000040, cmColorSpaceAlphaMask = 0x00000080, cmColorSpaceSpaceAndAlphaMask = 0x000000FF, cmColorSpacePackingMask = 0x0000FF00, cmColorSpaceEncodingMask = 0x000F0000, cmColorSpaceReservedMask = (long)0xFFF00000 }; /* packing formats */ enum { cmNoColorPacking = 0x0000, cmWord5ColorPacking = 0x0500, cmWord565ColorPacking = 0x0600, cmLong8ColorPacking = 0x0800, cmLong10ColorPacking = 0x0A00, cmAlphaFirstPacking = 0x1000, cmOneBitDirectPacking = 0x0B00, cmAlphaLastPacking = 0x0000, cm8_8ColorPacking = 0x2800, cm16_8ColorPacking = 0x2000, cm24_8ColorPacking = 0x2100, cm32_8ColorPacking = cmLong8ColorPacking, cm40_8ColorPacking = 0x2200, cm48_8ColorPacking = 0x2300, cm56_8ColorPacking = 0x2400, cm64_8ColorPacking = 0x2500, cm32_16ColorPacking = 0x2600, cm48_16ColorPacking = 0x2900, cm64_16ColorPacking = 0x2A00, cm32_32ColorPacking = 0x2700, cmLittleEndianPacking = 0x4000, cmReverseChannelPacking = 0x8000 }; /* channel encoding format */ enum { cmSRGB16ChannelEncoding = 0x00010000 /* used for sRGB64 encoding ( .3.12 format)*/ }; /* general colorspaces */ enum { cmNoSpace = 0x0000, cmRGBSpace = 0x0001, cmCMYKSpace = 0x0002, cmHSVSpace = 0x0003, cmHLSSpace = 0x0004, cmYXYSpace = 0x0005, cmXYZSpace = 0x0006, cmLUVSpace = 0x0007, cmLABSpace = 0x0008, cmReservedSpace1 = 0x0009, cmGraySpace = 0x000A, cmReservedSpace2 = 0x000B, cmGamutResultSpace = 0x000C, cmNamedIndexedSpace = 0x0010, cmMCFiveSpace = 0x0011, cmMCSixSpace = 0x0012, cmMCSevenSpace = 0x0013, cmMCEightSpace = 0x0014, cmAlphaPmulSpace = 0x0040, cmAlphaSpace = 0x0080, cmRGBASpace = cmRGBSpace + cmAlphaSpace, cmGrayASpace = cmGraySpace + cmAlphaSpace, cmRGBAPmulSpace = cmRGBASpace + cmAlphaPmulSpace, cmGrayAPmulSpace = cmGrayASpace + cmAlphaPmulSpace }; /* supported CMBitmapColorSpaces - Each of the following is a */ /* combination of a general colospace and a packing formats. */ /* Each can also be or'd with cmReverseChannelPacking. */ enum { cmGray8Space = cmGraySpace + cm8_8ColorPacking, cmGray16Space = cmGraySpace, cmGray16LSpace = cmGraySpace + cmLittleEndianPacking, cmGrayA16Space = cmGrayASpace + cm16_8ColorPacking, cmGrayA32Space = cmGrayASpace, cmGrayA32LSpace = cmGrayASpace + cmLittleEndianPacking, cmGrayA16PmulSpace = cmGrayAPmulSpace + cm16_8ColorPacking, cmGrayA32PmulSpace = cmGrayAPmulSpace, cmGrayA32LPmulSpace = cmGrayAPmulSpace + cmLittleEndianPacking, cmRGB16Space = cmRGBSpace + cmWord5ColorPacking, cmRGB16LSpace = cmRGBSpace + cmWord5ColorPacking + cmLittleEndianPacking, cmRGB565Space = cmRGBSpace + cmWord565ColorPacking, cmRGB565LSpace = cmRGBSpace + cmWord565ColorPacking + cmLittleEndianPacking, cmRGB24Space = cmRGBSpace + cm24_8ColorPacking, cmRGB32Space = cmRGBSpace + cm32_8ColorPacking, cmRGB48Space = cmRGBSpace + cm48_16ColorPacking, cmRGB48LSpace = cmRGBSpace + cm48_16ColorPacking + cmLittleEndianPacking, cmARGB32Space = cmRGBASpace + cm32_8ColorPacking + cmAlphaFirstPacking, cmARGB64Space = cmRGBASpace + cm64_16ColorPacking + cmAlphaFirstPacking, cmARGB64LSpace = cmRGBASpace + cm64_16ColorPacking + cmAlphaFirstPacking + cmLittleEndianPacking, cmRGBA32Space = cmRGBASpace + cm32_8ColorPacking + cmAlphaLastPacking, cmRGBA64Space = cmRGBASpace + cm64_16ColorPacking + cmAlphaLastPacking, cmRGBA64LSpace = cmRGBASpace + cm64_16ColorPacking + cmAlphaLastPacking + cmLittleEndianPacking, cmARGB32PmulSpace = cmRGBAPmulSpace + cm32_8ColorPacking + cmAlphaFirstPacking, cmARGB64PmulSpace = cmRGBAPmulSpace + cm64_16ColorPacking + cmAlphaFirstPacking, cmARGB64LPmulSpace = cmRGBAPmulSpace + cm64_16ColorPacking + cmAlphaFirstPacking + cmLittleEndianPacking, cmRGBA32PmulSpace = cmRGBAPmulSpace + cm32_8ColorPacking + cmAlphaLastPacking, cmRGBA64PmulSpace = cmRGBAPmulSpace + cm64_16ColorPacking + cmAlphaLastPacking, cmRGBA64LPmulSpace = cmRGBAPmulSpace + cm64_16ColorPacking + cmAlphaLastPacking + cmLittleEndianPacking, cmCMYK32Space = cmCMYKSpace + cm32_8ColorPacking, cmCMYK64Space = cmCMYKSpace + cm64_16ColorPacking, cmCMYK64LSpace = cmCMYKSpace + cm64_16ColorPacking + cmLittleEndianPacking, cmHSV32Space = cmHSVSpace + cmLong10ColorPacking, cmHLS32Space = cmHLSSpace + cmLong10ColorPacking, cmYXY32Space = cmYXYSpace + cmLong10ColorPacking, cmXYZ24Space = cmXYZSpace + cm24_8ColorPacking, cmXYZ32Space = cmXYZSpace + cmLong10ColorPacking, cmXYZ48Space = cmXYZSpace + cm48_16ColorPacking, cmXYZ48LSpace = cmXYZSpace + cm48_16ColorPacking + cmLittleEndianPacking, cmLUV32Space = cmLUVSpace + cmLong10ColorPacking, cmLAB24Space = cmLABSpace + cm24_8ColorPacking, cmLAB32Space = cmLABSpace + cmLong10ColorPacking, cmLAB48Space = cmLABSpace + cm48_16ColorPacking, cmLAB48LSpace = cmLABSpace + cm48_16ColorPacking + cmLittleEndianPacking, cmGamutResult1Space = cmOneBitDirectPacking + cmGamutResultSpace, cmNamedIndexed32Space = cm32_32ColorPacking + cmNamedIndexedSpace, cmNamedIndexed32LSpace = cm32_32ColorPacking + cmNamedIndexedSpace + cmLittleEndianPacking, cmMCFive8Space = cm40_8ColorPacking + cmMCFiveSpace, cmMCSix8Space = cm48_8ColorPacking + cmMCSixSpace, cmMCSeven8Space = cm56_8ColorPacking + cmMCSevenSpace, cmMCEight8Space = cm64_8ColorPacking + cmMCEightSpace }; typedef UInt32 CMBitmapColorSpace; struct CMBitmap { char * image; long width; long height; long rowBytes; long pixelSize; CMBitmapColorSpace space; long user1; long user2; }; typedef struct CMBitmap CMBitmap; /* CMConvertXYZToXYZ() definitions */ typedef UInt32 CMChromaticAdaptation; enum { cmUseDefaultChromaticAdaptation = 0, cmLinearChromaticAdaptation = 1, cmVonKriesChromaticAdaptation = 2, cmBradfordChromaticAdaptation = 3 }; /* Profile Locations */ enum { CS_MAX_PATH = 256 }; enum { cmNoProfileBase = 0, cmFileBasedProfile = 1, cmHandleBasedProfile = 2, cmPtrBasedProfile = 3, cmProcedureBasedProfile = 4, cmPathBasedProfile = 5, cmBufferBasedProfile = 6 }; struct CMFileLocation { FSSpec spec; }; typedef struct CMFileLocation CMFileLocation; struct CMHandleLocation { Handle h; }; typedef struct CMHandleLocation CMHandleLocation; struct CMPtrLocation { Ptr p; }; typedef struct CMPtrLocation CMPtrLocation; struct CMProcedureLocation { CMProfileAccessUPP proc; void * refCon; }; typedef struct CMProcedureLocation CMProcedureLocation; struct CMPathLocation { char path[256]; }; typedef struct CMPathLocation CMPathLocation; struct CMBufferLocation { void * buffer; UInt32 size; }; typedef struct CMBufferLocation CMBufferLocation; union CMProfLoc { CMFileLocation fileLoc; CMHandleLocation handleLoc; CMPtrLocation ptrLoc; CMProcedureLocation procLoc; CMPathLocation pathLoc; CMBufferLocation bufferLoc; }; typedef union CMProfLoc CMProfLoc; struct CMProfileLocation { short locType; CMProfLoc u; }; typedef struct CMProfileLocation CMProfileLocation; #if TARGET_OS_MAC enum { cmOriginalProfileLocationSize = 72, cmCurrentProfileLocationSize = 2 + CS_MAX_PATH }; #else enum { cmOriginalProfileLocationSize = 2 + CS_MAX_PATH, cmCurrentProfileLocationSize = 2 + CS_MAX_PATH }; #endif /* TARGET_OS_MAC */ /* Struct and enums used for Profile iteration */ enum { cmProfileIterateDataVersion1 = 0x00010000, cmProfileIterateDataVersion2 = 0x00020000, /* Added makeAndModel*/ cmProfileIterateDataVersion3 = 0x00030000 /* Added MD5 digest*/ }; struct CMProfileIterateData { UInt32 dataVersion; /* cmProfileIterateDataVersion2 */ CM2Header header; ScriptCode code; Str255 name; CMProfileLocation location; UniCharCount uniCodeNameCount; UniChar * uniCodeName; unsigned char * asciiName; CMMakeAndModel * makeAndModel; CMProfileMD5 * digest; /* Derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm */ }; typedef struct CMProfileIterateData CMProfileIterateData; /* Caller-supplied callback function for Profile & CMM iteration */ typedef CALLBACK_API( OSErr , CMProfileIterateProcPtr )(CMProfileIterateData *iterateData, void *refCon); typedef CALLBACK_API( OSErr , CMMIterateProcPtr )(CMMInfo *iterateData, void *refCon); typedef STACK_UPP_TYPE(CMProfileIterateProcPtr) CMProfileIterateUPP; typedef STACK_UPP_TYPE(CMMIterateProcPtr) CMMIterateUPP; /* * NewCMProfileIterateUPP() * * Availability: * Non-Carbon CFM: available as macro/inline * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API_C( CMProfileIterateUPP ) NewCMProfileIterateUPP(CMProfileIterateProcPtr userRoutine); #if !OPAQUE_UPP_TYPES enum { uppCMProfileIterateProcInfo = 0x000003E0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes) */ #ifdef __cplusplus inline DEFINE_API_C(CMProfileIterateUPP) NewCMProfileIterateUPP(CMProfileIterateProcPtr userRoutine) { return (CMProfileIterateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCMProfileIterateProcInfo, GetCurrentArchitecture()); } #else #define NewCMProfileIterateUPP(userRoutine) (CMProfileIterateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCMProfileIterateProcInfo, GetCurrentArchitecture()) #endif #endif /* * NewCMMIterateUPP() * * Availability: * Non-Carbon CFM: available as macro/inline * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API_C( CMMIterateUPP ) NewCMMIterateUPP(CMMIterateProcPtr userRoutine); #if !OPAQUE_UPP_TYPES enum { uppCMMIterateProcInfo = 0x000003E0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes) */ #ifdef __cplusplus inline DEFINE_API_C(CMMIterateUPP) NewCMMIterateUPP(CMMIterateProcPtr userRoutine) { return (CMMIterateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCMMIterateProcInfo, GetCurrentArchitecture()); } #else #define NewCMMIterateUPP(userRoutine) (CMMIterateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCMMIterateProcInfo, GetCurrentArchitecture()) #endif #endif /* * DisposeCMProfileIterateUPP() * * Availability: * Non-Carbon CFM: available as macro/inline * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API_C( void ) DisposeCMProfileIterateUPP(CMProfileIterateUPP userUPP); #if !OPAQUE_UPP_TYPES #ifdef __cplusplus inline DEFINE_API_C(void) DisposeCMProfileIterateUPP(CMProfileIterateUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } #else #define DisposeCMProfileIterateUPP(userUPP) DisposeRoutineDescriptor(userUPP) #endif #endif /* * DisposeCMMIterateUPP() * * Availability: * Non-Carbon CFM: available as macro/inline * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API_C( void ) DisposeCMMIterateUPP(CMMIterateUPP userUPP); #if !OPAQUE_UPP_TYPES #ifdef __cplusplus inline DEFINE_API_C(void) DisposeCMMIterateUPP(CMMIterateUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } #else #define DisposeCMMIterateUPP(userUPP) DisposeRoutineDescriptor(userUPP) #endif #endif /* * InvokeCMProfileIterateUPP() * * Availability: * Non-Carbon CFM: available as macro/inline * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API_C( OSErr ) InvokeCMProfileIterateUPP( CMProfileIterateData * iterateData, void * refCon, CMProfileIterateUPP userUPP); #if !OPAQUE_UPP_TYPES #ifdef __cplusplus inline DEFINE_API_C(OSErr) InvokeCMProfileIterateUPP(CMProfileIterateData * iterateData, void * refCon, CMProfileIterateUPP userUPP) { return (OSErr)CALL_TWO_PARAMETER_UPP(userUPP, uppCMProfileIterateProcInfo, iterateData, refCon); } #else #define InvokeCMProfileIterateUPP(iterateData, refCon, userUPP) (OSErr)CALL_TWO_PARAMETER_UPP((userUPP), uppCMProfileIterateProcInfo, (iterateData), (refCon)) #endif #endif /* * InvokeCMMIterateUPP() * * Availability: * Non-Carbon CFM: available as macro/inline * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API_C( OSErr ) InvokeCMMIterateUPP( CMMInfo * iterateData, void * refCon, CMMIterateUPP userUPP); #if !OPAQUE_UPP_TYPES #ifdef __cplusplus inline DEFINE_API_C(OSErr) InvokeCMMIterateUPP(CMMInfo * iterateData, void * refCon, CMMIterateUPP userUPP) { return (OSErr)CALL_TWO_PARAMETER_UPP(userUPP, uppCMMIterateProcInfo, iterateData, refCon); } #else #define InvokeCMMIterateUPP(iterateData, refCon, userUPP) (OSErr)CALL_TWO_PARAMETER_UPP((userUPP), uppCMMIterateProcInfo, (iterateData), (refCon)) #endif #endif #if CALL_NOT_IN_CARBON || OLDROUTINENAMES /* support for pre-Carbon UPP routines: New...Proc and Call...Proc */ #define NewCMProfileIterateProc(userRoutine) NewCMProfileIterateUPP(userRoutine) #define NewCMMIterateProc(userRoutine) NewCMMIterateUPP(userRoutine) #define CallCMProfileIterateProc(userRoutine, iterateData, refCon) InvokeCMProfileIterateUPP(iterateData, refCon, userRoutine) #define CallCMMIterateProc(userRoutine, iterateData, refCon) InvokeCMMIterateUPP(iterateData, refCon, userRoutine) #endif /* CALL_NOT_IN_CARBON */ /* Clients can register for notifications of ColorSync preference changes by using the kCMPrefsChangedNotification key. This notification will be sent if the user changes ColorSync preferences such as: the default profile by colors space, (CMSetDefaultProfileBySpace) the default profile by device useage, (CMSetDefaultProfileByUse) or the preferred CMM. See for more notifications that can be sent. */ #define kCMPrefsChangedNotification CFSTR("AppleColorSyncPreferencesChangedNotification") /* Profile file and element access */ /* * CMNewProfile() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMNewProfile( CMProfileRef * prof, const CMProfileLocation * theProfile) FOURWORDINLINE(0x203C, 0x0008, 0x001B, 0xABEE); /* * CMOpenProfile() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMOpenProfile( CMProfileRef * prof, const CMProfileLocation * theProfile) FOURWORDINLINE(0x203C, 0x0008, 0x001C, 0xABEE); /* * CMCloseProfile() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMCloseProfile(CMProfileRef prof) FOURWORDINLINE(0x203C, 0x0004, 0x001D, 0xABEE); /* * CMUpdateProfile() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMUpdateProfile(CMProfileRef prof) FOURWORDINLINE(0x203C, 0x0004, 0x0034, 0xABEE); /* * CMCopyProfile() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMCopyProfile( CMProfileRef * targetProf, const CMProfileLocation * targetLocation, CMProfileRef srcProf) FOURWORDINLINE(0x203C, 0x000C, 0x0025, 0xABEE); /* * CMValidateProfile() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMValidateProfile( CMProfileRef prof, Boolean * valid, Boolean * preferredCMMnotfound) FOURWORDINLINE(0x203C, 0x000C, 0x0026, 0xABEE); /* * CMGetProfileLocation() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMGetProfileLocation( CMProfileRef prof, CMProfileLocation * theProfile) FOURWORDINLINE(0x203C, 0x0008, 0x003C, 0xABEE); /* * NCMGetProfileLocation() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.5 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) NCMGetProfileLocation( CMProfileRef prof, CMProfileLocation * theProfile, UInt32 * locationSize) FOURWORDINLINE(0x203C, 0x000C, 0x0059, 0xABEE); /* * CMFlattenProfile() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMFlattenProfile( CMProfileRef prof, UInt32 flags, CMFlattenUPP proc, void * refCon, Boolean * preferredCMMnotfound) FOURWORDINLINE(0x203C, 0x0014, 0x0031, 0xABEE); #if TARGET_OS_MAC #if CALL_NOT_IN_CARBON /* * CMUnflattenProfile() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: not available * Mac OS X: not available */ EXTERN_API( CMError ) CMUnflattenProfile( FSSpec * resultFileSpec, CMFlattenUPP proc, void * refCon, Boolean * preferredCMMnotfound) FOURWORDINLINE(0x203C, 0x0010, 0x0032, 0xABEE); #endif /* CALL_NOT_IN_CARBON */ #endif /* TARGET_OS_MAC */ /* * CMGetProfileHeader() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMGetProfileHeader( CMProfileRef prof, CMAppleProfileHeader * header) FOURWORDINLINE(0x203C, 0x0008, 0x0039, 0xABEE); /* * CMSetProfileHeader() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMSetProfileHeader( CMProfileRef prof, const CMAppleProfileHeader * header) FOURWORDINLINE(0x203C, 0x0008, 0x003A, 0xABEE); /* * CMProfileElementExists() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMProfileElementExists( CMProfileRef prof, OSType tag, Boolean * found) FOURWORDINLINE(0x203C, 0x000C, 0x001E, 0xABEE); /* * CMCountProfileElements() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMCountProfileElements( CMProfileRef prof, UInt32 * elementCount) FOURWORDINLINE(0x203C, 0x0008, 0x001F, 0xABEE); /* * CMGetProfileElement() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMGetProfileElement( CMProfileRef prof, OSType tag, UInt32 * elementSize, void * elementData) FOURWORDINLINE(0x203C, 0x0010, 0x0020, 0xABEE); /* * CMSetProfileElement() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMSetProfileElement( CMProfileRef prof, OSType tag, UInt32 elementSize, const void * elementData) FOURWORDINLINE(0x203C, 0x0010, 0x0023, 0xABEE); /* * CMSetProfileElementSize() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMSetProfileElementSize( CMProfileRef prof, OSType tag, UInt32 elementSize) FOURWORDINLINE(0x203C, 0x000C, 0x0038, 0xABEE); /* * CMSetProfileElementReference() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMSetProfileElementReference( CMProfileRef prof, OSType elementTag, OSType referenceTag) FOURWORDINLINE(0x203C, 0x000C, 0x0035, 0xABEE); /* * CMGetPartialProfileElement() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMGetPartialProfileElement( CMProfileRef prof, OSType tag, UInt32 offset, UInt32 * byteCount, void * elementData) FOURWORDINLINE(0x203C, 0x0014, 0x0036, 0xABEE); /* * CMSetPartialProfileElement() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMSetPartialProfileElement( CMProfileRef prof, OSType tag, UInt32 offset, UInt32 byteCount, const void * elementData) FOURWORDINLINE(0x203C, 0x0014, 0x0037, 0xABEE); /* * CMGetIndProfileElementInfo() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMGetIndProfileElementInfo( CMProfileRef prof, UInt32 index, OSType * tag, UInt32 * elementSize, Boolean * refs) FOURWORDINLINE(0x203C, 0x0014, 0x0021, 0xABEE); /* * CMGetIndProfileElement() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMGetIndProfileElement( CMProfileRef prof, UInt32 index, UInt32 * elementSize, void * elementData) FOURWORDINLINE(0x203C, 0x0010, 0x0022, 0xABEE); /* * CMRemoveProfileElement() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMRemoveProfileElement( CMProfileRef prof, OSType tag) FOURWORDINLINE(0x203C, 0x0008, 0x0024, 0xABEE); /* * CMGetScriptProfileDescription() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMGetScriptProfileDescription( CMProfileRef prof, Str255 name, ScriptCode * code) FOURWORDINLINE(0x203C, 0x000C, 0x003E, 0xABEE); /* * CMGetProfileDescriptions() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.6 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMGetProfileDescriptions( CMProfileRef prof, char * aName, UInt32 * aCount, Str255 mName, ScriptCode * mCode, UniChar * uName, UniCharCount * uCount) FOURWORDINLINE(0x203C, 0x001A, 0x0067, 0xABEE); /* * CMSetProfileDescriptions() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.6 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMSetProfileDescriptions( CMProfileRef prof, const char * aName, UInt32 aCount, ConstStr255Param mName, ScriptCode mCode, const UniChar * uName, UniCharCount uCount) FOURWORDINLINE(0x203C, 0x001A, 0x0068, 0xABEE); /* * CMCopyProfileLocalizedStringDictionary() * * Availability: * Non-Carbon CFM: in ColorSyncLib 3.1 and later * CarbonLib: not available * Mac OS X: in version 10.1 and later */ EXTERN_API( CMError ) CMCopyProfileLocalizedStringDictionary( CMProfileRef prof, OSType tag, CFDictionaryRef * theDict); /* * CMSetProfileLocalizedStringDictionary() * * Availability: * Non-Carbon CFM: in ColorSyncLib 3.1 and later * CarbonLib: not available * Mac OS X: in version 10.1 and later */ EXTERN_API( CMError ) CMSetProfileLocalizedStringDictionary( CMProfileRef prof, OSType tag, CFDictionaryRef theDict); /* * CMCopyProfileLocalizedString() * * Availability: * Non-Carbon CFM: in ColorSyncLib 3.1 and later * CarbonLib: not available * Mac OS X: in version 10.1 and later */ EXTERN_API( CMError ) CMCopyProfileLocalizedString( CMProfileRef prof, OSType tag, CFStringRef reqLocale, CFStringRef * locale, CFStringRef * str); /* * CMCloneProfileRef() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMCloneProfileRef(CMProfileRef prof) FOURWORDINLINE(0x203C, 0x0004, 0x0042, 0xABEE); /* * CMGetProfileRefCount() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMGetProfileRefCount( CMProfileRef prof, long * count) FOURWORDINLINE(0x203C, 0x0008, 0x0043, 0xABEE); /* * CMProfileModified() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMProfileModified( CMProfileRef prof, Boolean * modified) FOURWORDINLINE(0x203C, 0x0008, 0x0044, 0xABEE); /* * CMGetProfileMD5() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: in version 10.1 and later */ EXTERN_API( CMError ) CMGetProfileMD5( CMProfileRef prof, CMProfileMD5 digest); /* named Color access functions */ /* * CMGetNamedColorInfo() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMGetNamedColorInfo( CMProfileRef prof, UInt32 * deviceChannels, OSType * deviceColorSpace, OSType * PCSColorSpace, UInt32 * count, StringPtr prefix, StringPtr suffix) FOURWORDINLINE(0x203C, 0x001C, 0x0046, 0xABEE); /* * CMGetNamedColorValue() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMGetNamedColorValue( CMProfileRef prof, StringPtr name, CMColor * deviceColor, CMColor * PCSColor) FOURWORDINLINE(0x203C, 0x0010, 0x0047, 0xABEE); /* * CMGetIndNamedColorValue() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMGetIndNamedColorValue( CMProfileRef prof, UInt32 index, CMColor * deviceColor, CMColor * PCSColor) FOURWORDINLINE(0x203C, 0x0010, 0x0048, 0xABEE); /* * CMGetNamedColorIndex() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMGetNamedColorIndex( CMProfileRef prof, StringPtr name, UInt32 * index) FOURWORDINLINE(0x203C, 0x000C, 0x0049, 0xABEE); /* * CMGetNamedColorName() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMGetNamedColorName( CMProfileRef prof, UInt32 index, StringPtr name) FOURWORDINLINE(0x203C, 0x000C, 0x004A, 0xABEE); /* General-purpose matching functions */ /* * NCWNewColorWorld() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) NCWNewColorWorld( CMWorldRef * cw, CMProfileRef src, CMProfileRef dst) FOURWORDINLINE(0x203C, 0x000C, 0x0014, 0xABEE); /* * CWConcatColorWorld() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CWConcatColorWorld( CMWorldRef * cw, CMConcatProfileSet * profileSet) FOURWORDINLINE(0x203C, 0x0008, 0x0015, 0xABEE); /* * CWNewLinkProfile() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CWNewLinkProfile( CMProfileRef * prof, const CMProfileLocation * targetLocation, CMConcatProfileSet * profileSet) FOURWORDINLINE(0x203C, 0x000C, 0x0033, 0xABEE); /* * NCWConcatColorWorld() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.6 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) NCWConcatColorWorld( CMWorldRef * cw, NCMConcatProfileSet * profileSet, CMConcatCallBackUPP proc, void * refCon) FOURWORDINLINE(0x203C, 0x0008, 0x0061, 0xABEE); /* * NCWNewLinkProfile() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.6 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) NCWNewLinkProfile( CMProfileRef * prof, const CMProfileLocation * targetLocation, NCMConcatProfileSet * profileSet, CMConcatCallBackUPP proc, void * refCon) FOURWORDINLINE(0x203C, 0x000C, 0x0062, 0xABEE); /* * CWDisposeColorWorld() * * Availability: * Non-Carbon CFM: in ColorSyncLib 1.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( void ) CWDisposeColorWorld(CMWorldRef cw) FOURWORDINLINE(0x203C, 0x0004, 0x0001, 0xABEE); /* * CWMatchColors() * * Availability: * Non-Carbon CFM: in ColorSyncLib 1.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CWMatchColors( CMWorldRef cw, CMColor * myColors, UInt32 count) FOURWORDINLINE(0x203C, 0x000C, 0x0002, 0xABEE); /* * CWCheckColors() * * Availability: * Non-Carbon CFM: in ColorSyncLib 1.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CWCheckColors( CMWorldRef cw, CMColor * myColors, UInt32 count, UInt32 * result) FOURWORDINLINE(0x203C, 0x0010, 0x0003, 0xABEE); /* * CWMatchBitmap() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CWMatchBitmap( CMWorldRef cw, CMBitmap * bitmap, CMBitmapCallBackUPP progressProc, void * refCon, CMBitmap * matchedBitmap) FOURWORDINLINE(0x203C, 0x0010, 0x002C, 0xABEE); /* * CWCheckBitmap() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CWCheckBitmap( CMWorldRef cw, const CMBitmap * bitmap, CMBitmapCallBackUPP progressProc, void * refCon, CMBitmap * resultBitmap) FOURWORDINLINE(0x203C, 0x0014, 0x002D, 0xABEE); /* Quickdraw-specific matching */ #if TARGET_OS_MAC && _DECLARE_CS_QD_API_ /* * CWMatchPixMap() * * Availability: * Non-Carbon CFM: in ColorSyncLib 1.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: not available */ EXTERN_API( CMError ) CWMatchPixMap( CMWorldRef cw, PixMap * myPixMap, CMBitmapCallBackUPP progressProc, void * refCon) FOURWORDINLINE(0x203C, 0x0010, 0x0004, 0xABEE); /* * CWCheckPixMap() * * Availability: * Non-Carbon CFM: in ColorSyncLib 1.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: not available */ EXTERN_API( CMError ) CWCheckPixMap( CMWorldRef cw, PixMap * myPixMap, CMBitmapCallBackUPP progressProc, void * refCon, BitMap * resultBitMap) FOURWORDINLINE(0x203C, 0x0014, 0x0007, 0xABEE); /* * NCMBeginMatching() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: not available */ EXTERN_API( CMError ) NCMBeginMatching( CMProfileRef src, CMProfileRef dst, CMMatchRef * myRef) FOURWORDINLINE(0x203C, 0x000C, 0x0016, 0xABEE); /* * CMEndMatching() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: not available */ EXTERN_API( void ) CMEndMatching(CMMatchRef myRef) FOURWORDINLINE(0x203C, 0x0004, 0x000B, 0xABEE); /* * NCMDrawMatchedPicture() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: not available */ EXTERN_API( void ) NCMDrawMatchedPicture( PicHandle myPicture, CMProfileRef dst, Rect * myRect) FOURWORDINLINE(0x203C, 0x000C, 0x0017, 0xABEE); /* * CMEnableMatchingComment() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: not available */ EXTERN_API( void ) CMEnableMatchingComment(Boolean enableIt) FOURWORDINLINE(0x203C, 0x0002, 0x000D, 0xABEE); /* * NCMUseProfileComment() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: not available */ EXTERN_API( CMError ) NCMUseProfileComment( CMProfileRef prof, UInt32 flags) FOURWORDINLINE(0x203C, 0x0008, 0x003B, 0xABEE); #endif /* TARGET_OS_MAC && _DECLARE_CS_QD_API_ */ #if TARGET_OS_WIN32 #if CALL_NOT_IN_CARBON /* * CWMatchHBITMAP() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API( CMError ) CWMatchHBITMAP( CMWorldRef cw, void * hBitmap, CMBitmapCallBackUPP progressProc, void * refCon); #endif /* CALL_NOT_IN_CARBON */ #endif /* TARGET_OS_WIN32 */ /* * CMCreateProfileIdentifier() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMCreateProfileIdentifier( CMProfileRef prof, CMProfileIdentifierPtr ident, UInt32 * size) FOURWORDINLINE(0x203C, 0x000C, 0x0041, 0xABEE); /* System Profile access */ /* * CMGetSystemProfile() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMGetSystemProfile(CMProfileRef * prof) FOURWORDINLINE(0x203C, 0x0004, 0x0018, 0xABEE); /* * CMSetSystemProfile() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMSetSystemProfile(const FSSpec * profileFileSpec) FOURWORDINLINE(0x203C, 0x0004, 0x0019, 0xABEE); /* * NCMSetSystemProfile() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.6 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) NCMSetSystemProfile(const CMProfileLocation * profLoc) FOURWORDINLINE(0x203C, 0x0004, 0x0064, 0xABEE); /* * CMGetDefaultProfileBySpace() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.5 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMGetDefaultProfileBySpace( OSType dataColorSpace, CMProfileRef * prof) FOURWORDINLINE(0x203C, 0x0008, 0x005A, 0xABEE); /* * CMSetDefaultProfileBySpace() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.5 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMSetDefaultProfileBySpace( OSType dataColorSpace, CMProfileRef prof) FOURWORDINLINE(0x203C, 0x0008, 0x005B, 0xABEE); #if TARGET_OS_MAC /* * CMGetProfileByAVID() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.5 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMGetProfileByAVID( CMDisplayIDType theID, CMProfileRef * prof) FOURWORDINLINE(0x203C, 0x0008, 0x005C, 0xABEE); /* * CMSetProfileByAVID() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.5 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMSetProfileByAVID( CMDisplayIDType theID, CMProfileRef prof) FOURWORDINLINE(0x203C, 0x0008, 0x005D, 0xABEE); /* * CMGetGammaByAVID() * * Availability: * Non-Carbon CFM: in ColorSyncLib 3.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMGetGammaByAVID( CMDisplayIDType theID, CMVideoCardGamma * gamma, UInt32 * size); /* * CMSetGammaByAVID() * * Availability: * Non-Carbon CFM: in ColorSyncLib 3.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMSetGammaByAVID( CMDisplayIDType theID, CMVideoCardGamma * gamma); #endif /* TARGET_OS_MAC */ /* Profile access by Use */ /* * CMGetDefaultProfileByUse() * * Availability: * Non-Carbon CFM: in ColorSyncLib 3.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMGetDefaultProfileByUse( OSType use, CMProfileRef * prof) FOURWORDINLINE(0x203C, 0x0008, 0x0069, 0xABEE); /* * CMSetDefaultProfileByUse() * * Availability: * Non-Carbon CFM: in ColorSyncLib 3.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMSetDefaultProfileByUse( OSType use, CMProfileRef prof) FOURWORDINLINE(0x203C, 0x0008, 0x0079, 0xABEE); /* Profile Management */ /* * CMNewProfileSearch() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMNewProfileSearch( CMSearchRecord * searchSpec, void * refCon, UInt32 * count, CMProfileSearchRef * searchResult) FOURWORDINLINE(0x203C, 0x0010, 0x0027, 0xABEE); /* * CMUpdateProfileSearch() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMUpdateProfileSearch( CMProfileSearchRef search, void * refCon, UInt32 * count) FOURWORDINLINE(0x203C, 0x000C, 0x0028, 0xABEE); /* * CMDisposeProfileSearch() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( void ) CMDisposeProfileSearch(CMProfileSearchRef search) FOURWORDINLINE(0x203C, 0x0004, 0x0029, 0xABEE); /* * CMSearchGetIndProfile() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMSearchGetIndProfile( CMProfileSearchRef search, UInt32 index, CMProfileRef * prof) FOURWORDINLINE(0x203C, 0x000C, 0x002A, 0xABEE); /* * CMSearchGetIndProfileFileSpec() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMSearchGetIndProfileFileSpec( CMProfileSearchRef search, UInt32 index, FSSpec * profileFile) FOURWORDINLINE(0x203C, 0x000C, 0x002B, 0xABEE); /* * CMProfileIdentifierFolderSearch() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMProfileIdentifierFolderSearch( CMProfileIdentifierPtr ident, UInt32 * matchedCount, CMProfileSearchRef * searchResult) FOURWORDINLINE(0x203C, 0x000C, 0x003F, 0xABEE); /* * CMProfileIdentifierListSearch() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMProfileIdentifierListSearch( CMProfileIdentifierPtr ident, CMProfileRef * profileList, UInt32 listSize, UInt32 * matchedCount, CMProfileRef * matchedList) FOURWORDINLINE(0x203C, 0x0014, 0x0040, 0xABEE); /* * CMIterateColorSyncFolder() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.5 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMIterateColorSyncFolder( CMProfileIterateUPP proc, UInt32 * seed, UInt32 * count, void * refCon) FOURWORDINLINE(0x203C, 0x0010, 0x0058, 0xABEE); /* * NCMUnflattenProfile() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.6 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) NCMUnflattenProfile( CMProfileLocation * targetLocation, CMFlattenUPP proc, void * refCon, Boolean * preferredCMMnotfound) FOURWORDINLINE(0x203C, 0x0010, 0x0065, 0xABEE); /* Utilities */ #if TARGET_OS_MAC /* * CMGetColorSyncFolderSpec() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMGetColorSyncFolderSpec( short vRefNum, Boolean createFolder, short * foundVRefNum, long * foundDirID) FOURWORDINLINE(0x203C, 0x000C, 0x0011, 0xABEE); #endif /* TARGET_OS_MAC */ #if TARGET_OS_WIN32 || TARGET_OS_UNIX #if CALL_NOT_IN_CARBON /* * CMGetColorSyncFolderPath() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API( CMError ) CMGetColorSyncFolderPath( Boolean createFolder, char * lpBuffer, UInt32 uSize); #endif /* CALL_NOT_IN_CARBON */ #endif /* TARGET_OS_WIN32 || TARGET_OS_UNIX */ /* * CMGetCWInfo() * * Availability: * Non-Carbon CFM: in ColorSyncLib 1.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMGetCWInfo( CMWorldRef cw, CMCWInfoRecord * info) FOURWORDINLINE(0x203C, 0x0008, 0x001A, 0xABEE); #if TARGET_API_MAC_OS8 #if CALL_NOT_IN_CARBON /* * CMConvertProfile2to1() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.1 and later * CarbonLib: not available * Mac OS X: not available */ EXTERN_API( CMError ) CMConvertProfile2to1( CMProfileRef profv2, CMProfileHandle * profv1) FOURWORDINLINE(0x203C, 0x0008, 0x0045, 0xABEE); #endif /* CALL_NOT_IN_CARBON */ #endif /* TARGET_API_MAC_OS8 */ /* * CMGetPreferredCMM() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.5 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMGetPreferredCMM( OSType * cmmType, Boolean * preferredCMMnotfound) FOURWORDINLINE(0x203C, 0x0008, 0x005E, 0xABEE); /* * CMIterateCMMInfo() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.6 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMIterateCMMInfo( CMMIterateUPP proc, UInt32 * count, void * refCon) FOURWORDINLINE(0x203C, 0x000C, 0x0063, 0xABEE); /* * CMGetColorSyncVersion() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.6 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMGetColorSyncVersion(UInt32 * version) FOURWORDINLINE(0x203C, 0x0004, 0x0066, 0xABEE); /* * CMLaunchControlPanel() * * Availability: * Non-Carbon CFM: in ColorSyncLib 3.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMLaunchControlPanel(UInt32 flags); /* ColorSpace conversion functions */ /* * CMConvertXYZToLab() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMConvertXYZToLab( const CMColor * src, const CMXYZColor * white, CMColor * dst, UInt32 count) FOURWORDINLINE(0x203C, 0x0010, 0x004B, 0xABEE); /* * CMConvertLabToXYZ() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMConvertLabToXYZ( const CMColor * src, const CMXYZColor * white, CMColor * dst, UInt32 count) FOURWORDINLINE(0x203C, 0x0010, 0x004C, 0xABEE); /* * CMConvertXYZToLuv() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMConvertXYZToLuv( const CMColor * src, const CMXYZColor * white, CMColor * dst, UInt32 count) FOURWORDINLINE(0x203C, 0x0010, 0x004D, 0xABEE); /* * CMConvertLuvToXYZ() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMConvertLuvToXYZ( const CMColor * src, const CMXYZColor * white, CMColor * dst, UInt32 count) FOURWORDINLINE(0x203C, 0x0010, 0x004E, 0xABEE); /* * CMConvertXYZToYxy() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMConvertXYZToYxy( const CMColor * src, CMColor * dst, UInt32 count) FOURWORDINLINE(0x203C, 0x000C, 0x004F, 0xABEE); /* * CMConvertYxyToXYZ() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMConvertYxyToXYZ( const CMColor * src, CMColor * dst, UInt32 count) FOURWORDINLINE(0x203C, 0x000C, 0x0050, 0xABEE); /* * CMConvertRGBToHLS() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMConvertRGBToHLS( const CMColor * src, CMColor * dst, UInt32 count) FOURWORDINLINE(0x203C, 0x000C, 0x0051, 0xABEE); /* * CMConvertHLSToRGB() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMConvertHLSToRGB( const CMColor * src, CMColor * dst, UInt32 count) FOURWORDINLINE(0x203C, 0x000C, 0x0052, 0xABEE); /* * CMConvertRGBToHSV() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMConvertRGBToHSV( const CMColor * src, CMColor * dst, UInt32 count) FOURWORDINLINE(0x203C, 0x000C, 0x0053, 0xABEE); /* * CMConvertHSVToRGB() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMConvertHSVToRGB( const CMColor * src, CMColor * dst, UInt32 count) FOURWORDINLINE(0x203C, 0x000C, 0x0054, 0xABEE); /* * CMConvertRGBToGray() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMConvertRGBToGray( const CMColor * src, CMColor * dst, UInt32 count) FOURWORDINLINE(0x203C, 0x000C, 0x0055, 0xABEE); /* * CMConvertXYZToFixedXYZ() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMConvertXYZToFixedXYZ( const CMXYZColor * src, CMFixedXYZColor * dst, UInt32 count) FOURWORDINLINE(0x203C, 0x000C, 0x0056, 0xABEE); /* * CMConvertFixedXYZToXYZ() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMConvertFixedXYZToXYZ( const CMFixedXYZColor * src, CMXYZColor * dst, UInt32 count) FOURWORDINLINE(0x203C, 0x000C, 0x0057, 0xABEE); /* * CMConvertXYZToXYZ() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: in version 10.1 and later */ EXTERN_API( CMError ) CMConvertXYZToXYZ( const CMColor * src, const CMXYZColor * srcIlluminant, CMColor * dst, const CMXYZColor * dstIlluminant, CMChromaticAdaptation method, UInt32 count); /* PS-related */ /* * CMGetPS2ColorSpace() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMGetPS2ColorSpace( CMProfileRef srcProf, UInt32 flags, CMFlattenUPP proc, void * refCon, Boolean * preferredCMMnotfound) FOURWORDINLINE(0x203C, 0x0014, 0x002E, 0xABEE); /* * CMGetPS2ColorRenderingIntent() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMGetPS2ColorRenderingIntent( CMProfileRef srcProf, UInt32 flags, CMFlattenUPP proc, void * refCon, Boolean * preferredCMMnotfound) FOURWORDINLINE(0x203C, 0x0014, 0x002F, 0xABEE); /* * CMGetPS2ColorRendering() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMGetPS2ColorRendering( CMProfileRef srcProf, CMProfileRef dstProf, UInt32 flags, CMFlattenUPP proc, void * refCon, Boolean * preferredCMMnotfound) FOURWORDINLINE(0x203C, 0x0018, 0x0030, 0xABEE); /* * CMGetPS2ColorRenderingVMSize() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( CMError ) CMGetPS2ColorRenderingVMSize( CMProfileRef srcProf, CMProfileRef dstProf, UInt32 * vmSize, Boolean * preferredCMMnotfound) FOURWORDINLINE(0x203C, 0x0010, 0x003D, 0xABEE); /* ColorSync 1.0 functions which have parallel 2.0 counterparts */ #if TARGET_API_MAC_OS8 #if CALL_NOT_IN_CARBON /* * CWNewColorWorld() * * Availability: * Non-Carbon CFM: in ColorSyncLib 1.0 and later * CarbonLib: not available * Mac OS X: not available */ EXTERN_API( CMError ) CWNewColorWorld( CMWorldRef * cw, CMProfileHandle src, CMProfileHandle dst) FOURWORDINLINE(0x203C, 0x000C, 0x0000, 0xABEE); /* * ConcatenateProfiles() * * Availability: * Non-Carbon CFM: in ColorSyncLib 1.0 and later * CarbonLib: not available * Mac OS X: not available */ EXTERN_API( CMError ) ConcatenateProfiles( CMProfileHandle thru, CMProfileHandle dst, CMProfileHandle * newDst) FOURWORDINLINE(0x203C, 0x000C, 0x000C, 0xABEE); /* * CMBeginMatching() * * Availability: * Non-Carbon CFM: in ColorSyncLib 2.0 and later * CarbonLib: not available * Mac OS X: not available */ EXTERN_API( CMError ) CMBeginMatching( CMProfileHandle src, CMProfileHandle dst, CMMatchRef * myRef) FOURWORDINLINE(0x203C, 0x000C, 0x000A, 0xABEE); /* * CMDrawMatchedPicture() * * Availability: * Non-Carbon CFM: in ColorSyncLib 1.0 and later * CarbonLib: not available * Mac OS X: not available */ EXTERN_API( void ) CMDrawMatchedPicture( PicHandle myPicture, CMProfileHandle dst, Rect * myRect) FOURWORDINLINE(0x203C, 0x000C, 0x0009, 0xABEE); /* * CMUseProfileComment() * * Availability: * Non-Carbon CFM: in ColorSyncLib 1.0 and later * CarbonLib: not available * Mac OS X: not available */ EXTERN_API( CMError ) CMUseProfileComment(CMProfileHandle profile) FOURWORDINLINE(0x203C, 0x0004, 0x0008, 0xABEE); /* * CMGetProfileName() * * Availability: * Non-Carbon CFM: in ColorSyncLib 1.0 and later * CarbonLib: not available * Mac OS X: not available */ EXTERN_API( void ) CMGetProfileName( CMProfileHandle myProfile, CMIString * IStringResult) FOURWORDINLINE(0x203C, 0x0008, 0x000E, 0xABEE); /* * CMGetProfileAdditionalDataOffset() * * Availability: * Non-Carbon CFM: in ColorSyncLib 1.0 and later * CarbonLib: not available * Mac OS X: not available */ EXTERN_API( long ) CMGetProfileAdditionalDataOffset(CMProfileHandle myProfile) FOURWORDINLINE(0x203C, 0x0004, 0x000F, 0xABEE); /* ProfileResponder definitions */ #endif /* CALL_NOT_IN_CARBON */ enum { cmSystemDevice = FOUR_CHAR_CODE('sys '), cmGDevice = FOUR_CHAR_CODE('gdev') }; /* ProfileResponder functions */ #if CALL_NOT_IN_CARBON /* * GetProfile() * * Availability: * Non-Carbon CFM: in ColorSyncLib 1.0 and later * CarbonLib: not available * Mac OS X: not available */ EXTERN_API( CMError ) GetProfile( OSType deviceType, long refNum, CMProfileHandle aProfile, CMProfileHandle * returnedProfile) FOURWORDINLINE(0x203C, 0x0010, 0x0005, 0xABEE); /* * SetProfile() * * Availability: * Non-Carbon CFM: in ColorSyncLib 1.0 and later * CarbonLib: not available * Mac OS X: not available */ EXTERN_API( CMError ) SetProfile( OSType deviceType, long refNum, CMProfileHandle newProfile) FOURWORDINLINE(0x203C, 0x000C, 0x0006, 0xABEE); /* * SetProfileDescription() * * Availability: * Non-Carbon CFM: in ColorSyncLib 1.0 and later * CarbonLib: not available * Mac OS X: not available */ EXTERN_API( CMError ) SetProfileDescription( OSType deviceType, long refNum, long deviceData, CMProfileHandle hProfile) FOURWORDINLINE(0x203C, 0x0010, 0x0010, 0xABEE); /* * GetIndexedProfile() * * Availability: * Non-Carbon CFM: in ColorSyncLib 1.0 and later * CarbonLib: not available * Mac OS X: not available */ EXTERN_API( CMError ) GetIndexedProfile( OSType deviceType, long refNum, CMProfileSearchRecordHandle search, CMProfileHandle * returnProfile, long * index) FOURWORDINLINE(0x203C, 0x0014, 0x0012, 0xABEE); /* * DeleteDeviceProfile() * * Availability: * Non-Carbon CFM: in ColorSyncLib 1.0 and later * CarbonLib: not available * Mac OS X: not available */ EXTERN_API( CMError ) DeleteDeviceProfile( OSType deviceType, long refNum, CMProfileHandle deleteMe) FOURWORDINLINE(0x203C, 0x000C, 0x0013, 0xABEE); #endif /* CALL_NOT_IN_CARBON */ #if OLDROUTINENAMES /* old constants */ typedef CMFlattenProcPtr CMFlattenProc; typedef CMBitmapCallBackProcPtr CMBitmapCallBackProc; typedef CMProfileFilterProcPtr CMProfileFilterProc; enum { CMTrap = cmTrap, CMBeginProfile = cmBeginProfile, CMEndProfile = cmEndProfile, CMEnableMatching = cmEnableMatching, CMDisableMatching = cmDisableMatching }; /* 1.0 Error codes, for compatibility with older applications. 1.0 CMM's may return obsolete error codes */ enum { CMNoError = 0, /* obsolete name, use noErr */ CMProfileError = cmProfileError, CMMethodError = cmMethodError, CMMemFullError = -172, /* obsolete, 2.0 uses memFullErr */ CMUnimplementedError = -173, /* obsolete, 2.0 uses unimpErr */ CMParamError = -174, /* obsolete, 2.0 uses paramErr */ CMMethodNotFound = cmMethodNotFound, CMProfileNotFound = cmProfileNotFound, CMProfilesIdentical = cmProfilesIdentical, CMCantConcatenateError = cmCantConcatenateError, CMCantXYZ = cmCantXYZ, CMCantDeleteProfile = cmCantDeleteProfile, CMUnsupportedDataType = cmUnsupportedDataType, CMNoCurrentProfile = cmNoCurrentProfile }; enum { qdSystemDevice = cmSystemDevice, qdGDevice = cmGDevice }; enum { kMatchCMMType = cmMatchCMMType, kMatchApplProfileVersion = cmMatchApplProfileVersion, kMatchDataType = cmMatchDataType, kMatchDeviceType = cmMatchDeviceType, kMatchDeviceManufacturer = cmMatchDeviceManufacturer, kMatchDeviceModel = cmMatchDeviceModel, kMatchDeviceAttributes = cmMatchDeviceAttributes, kMatchFlags = cmMatchFlags, kMatchOptions = cmMatchOptions, kMatchWhite = cmMatchWhite, kMatchBlack = cmMatchBlack }; /* old types */ typedef CMCMYKColor CMYKColor; typedef CMWorldRef CWorld; typedef long * CMGamutResult; /* old functions */ #define EndMatching(myRef) CMEndMatching(myRef) #define EnableMatching(enableIt) CMEnableMatchingComment(enableIt) #define GetColorSyncFolderSpec(vRefNum, createFolder, foundVRefNum, foundDirID) CMGetColorSyncFolderSpec(vRefNum, createFolder, foundVRefNum, foundDirID) #define BeginMatching(src, dst, myRef) CMBeginMatching(src, dst, myRef) #define DrawMatchedPicture(myPicture, dst, myRect) CMDrawMatchedPicture(myPicture, dst, myRect) #define UseProfile(profile) CMUseProfileComment(profile) #define GetProfileName(myProfile, IStringResult) CMGetProfileName(myProfile, IStringResult) #define GetProfileAdditionalDataOffset(myProfile) CMGetProfileAdditionalDataOffset(myProfile) #endif /* OLDROUTINENAMES */ /* Deprecated stuff*/ /* PrGeneral parameter blocks */ enum { enableColorMatchingOp = 12, registerProfileOp = 13 }; struct TEnableColorMatchingBlk { short iOpCode; short iError; long lReserved; void * hPrint; /* THPrint*/ Boolean fEnableIt; SInt8 filler; }; typedef struct TEnableColorMatchingBlk TEnableColorMatchingBlk; struct TRegisterProfileBlk { short iOpCode; short iError; long lReserved; void * hPrint; /* THPrint*/ Boolean fRegisterIt; SInt8 filler; }; typedef struct TRegisterProfileBlk TRegisterProfileBlk; #endif /* TARGET_API_MAC_OS8 */ #if PRAGMA_STRUCT_ALIGN #pragma options align=reset #elif PRAGMA_STRUCT_PACKPUSH #pragma pack(pop) #elif PRAGMA_STRUCT_PACK #pragma pack() #endif #ifdef PRAGMA_IMPORT_OFF #pragma import off #elif PRAGMA_IMPORT #pragma import reset #endif #ifdef __cplusplus } #endif #endif /* __CMAPPLICATION__ */