You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2656 lines
80 KiB
2656 lines
80 KiB
/* |
|
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 <MacTypes.h> |
|
#endif |
|
|
|
#ifndef __FILES__ |
|
#include <Files.h> |
|
#endif |
|
|
|
#ifndef __MACERRORS__ |
|
#include <MacErrors.h> |
|
#endif |
|
|
|
#ifndef __CFSTRING__ |
|
#include <CFString.h> |
|
#endif |
|
|
|
#ifndef __CFDICTIONARY__ |
|
#include <CFDictionary.h> |
|
#endif |
|
|
|
#ifndef __CMICCPROFILE__ |
|
#include <CMICCProfile.h> |
|
#endif |
|
|
|
#ifndef __CMTYPES__ |
|
#include <CMTypes.h> |
|
#endif |
|
|
|
|
|
#define _DECLARE_CS_QD_API_ 1 |
|
#ifndef __QUICKDRAW__ |
|
#include <Quickdraw.h> |
|
#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 <CMDeviceIntegration.h> 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__ */ |
|
|
|
|