20#define EDL_CMM_MAX_COMPONENTS 32
116#define IColorManagerClassID 0x573cc514, 0x821611dc, 0x83140800, 0x200c9a66
135 %apply
float[] {
const float *inColors};
136 %apply
float[] {
float *outColors};
139 %apply
float INPUT[] {
const float *inColors};
140 %apply
float OUTPUT[] {
float *outColors};
143 %apply
float INPUT[] {
const float *inColors};
144 %apply
float OUTPUT[] {
float *outColors};
172 const IDOMColorSpacePtr &sourceSpace,
173 const IDOMColorSpacePtr &destSpace,
176 const float *inColors,
178 const CColorManagerConfigPtr &overrideConfig = CColorManagerConfigPtr()) = 0;
180 %clear
const float *inColors;
181 %clear
float *outColors;
186 %apply
char *BYTE {
const uint8 *inColors};
187 %apply
char *BYTE {
uint8 *outColors};
190 %apply
unsigned char INPUT[] {
const uint8 *inColors};
191 %apply
unsigned char OUTPUT[] {
uint8 *outColors};
194 %apply
unsigned char INPUT[] {
const uint8 *inColors};
195 %apply
unsigned char OUTPUT[] {
uint8 *outColors};
224 const IDOMColorSpacePtr &sourceSpace,
225 const IDOMColorSpacePtr &destSpace,
228 const uint8 *inColors,
232 const CColorManagerConfigPtr &overrideConfig = CColorManagerConfigPtr()) = 0;
234 %clear
const uint8 *inColors;
235 %clear
uint8 *outColors;
257 const IDOMColorSpacePtr &destSpace) = 0;
288 %apply uint8_t &OUTPUT {
uint8 &majorVersion };
289 %apply uint8_t &OUTPUT {
uint8 &minorVersion };
299 %clear
uint8 &majorVersion;
300 %clear
uint8 &minorVersion;
598 const CColorManagerConfigPtr &overrideConfig = CColorManagerConfigPtr()) = 0;
616 const CColorManagerConfigPtr &overrideConfig = CColorManagerConfigPtr()) = 0;
671 virtual void getDeviceLinkICCProfile(
const uint8 index, IDOMColorSpaceICCBasedPtr& sourceSpace, IDOMColorSpaceICCBasedPtr& destSpace, IDOMICCProfilePtr& deviceLink) = 0;
691 %apply
float[] {
const float *inColors };
694 %apply
float INPUT[] {
const float *inColors };
697 %apply
float INPUT[] {
const float *inColors };
720 const IDOMColorSpacePtr &sourceSpace,
721 const IDOMColorSpacePtr &destSpace,
724 const float *inColors,
725 const CColorManagerConfigPtr &overrideConfig = CColorManagerConfigPtr()) = 0;
727 %clear
const float *inColors;
728 %clear
float *outColors;
752#define edlobj2IColorManager(src) edl_cast((IColorManager *) nullptr, src)
static EDL_API CColorManagerConfigPtr create()
Create a CColorManagerConfig instance.
IDOMColorSpacePtr deviceRGBIntercept
The intercept color space to use for DeviceRGB, or null to use the CMM default.
Definition icolormanager.h:73
EDL_API CColorManagerConfigPtr clone()
Obtain a clone of this CColorManagerConfig instance.
EDL_API void updateHash(uint64 &hash)
Update a 64-bit hash with this configuration.
CColorManagerConfig()
Definition icolormanager.h:38
eBlackPointCompensation defaultBlackPointCompensation
The default black point compensation to use. Use eBPCDefault to use the CMM default.
Definition icolormanager.h:101
IDOMColorSpacePtr deviceGrayIntercept
The intercept color space to use for DeviceGray, or null to use the CMM default.
Definition icolormanager.h:67
IDOMColorSpacePtr deviceCMYKIntercept
The intercept color space to use for DeviceCMYK, or null to use the CMM default.
Definition icolormanager.h:79
eTriState mapDeviceGrayToCMYKBlack
A tristate describing whether or not to convert DeviceGray to DeviceCMYK by mapping gray to K directl...
Definition icolormanager.h:87
eTriState convertDeviceGrayUsingCMYKBlack
A tristate describing whether or not to convert DeviceGray to another space by mapping to DeviceCMYK ...
Definition icolormanager.h:95
Definition edlsimplebuffer.h:24
Definition edlvector.h:30
Public interface to the EDL color manager. There is only one instance of the color manager for each f...
Definition icolormanager.h:115
virtual bool getConvertDeviceGrayUsingCMYKBlack() const =0
Setting that determines how the color manager will convert DeviceGray colors. See setConvertDeviceGra...
virtual IDOMColorSpacePtr getDeviceCMYKIntercept()=0
Get the intercept color space for DeviceCMYK. This is the color space that will be used for conversio...
virtual eRenderingIntent getDefaultIntentForICCBasedSpace(const IDOMColorSpaceICCBasedPtr &space)=0
Find the default rendering intent for an ICCBased color space.
virtual IDOMICCProfilePtr createCalibratedRGBProfile(const CEDLVector< double > &whitePoint, const CEDLVector< double > &gamma=CEDLVector< double >(), const CEDLVector< double > &matrix=CEDLVector< double >(), const CEDLVector< double > &blackPoint=CEDLVector< double >())=0
Create a profile for a calibrated RGB color space with the given parameters. Such a profile will be a...
virtual void getPostScriptCSAForICCBasedSpace(CEDLSimpleBuffer &csaMemory, const IDOMColorSpaceICCBasedPtr &space, eRenderingIntent intent)=0
Get an equivalent PostScript CSA for an ICC based color space. This will be a CIEBased color space in...
virtual IDOMColorSpacePtr getDeviceRGBIntercept()=0
Get the intercept color space for DeviceRGB. This is the color space that will be used for conversion...
virtual uint32 getNumDeviceLinkICCProfiles()=0
Get the number of DeviceLink ICC profiles which have been set.
virtual uint32 getNumProfileConnectionSpaceComponentsForICCBasedSpace(const IDOMColorSpaceICCBasedPtr &space)=0
Get the number of profile connection space (PCS) components for the given ICC color space.
virtual void deleteDeviceLinkForConversionsBetween(const IDOMColorSpaceICCBasedPtr &sourceSpace, const IDOMColorSpaceICCBasedPtr &destSpace)=0
Delete the DeviceLink ICC profile associated with the specified combination of the source color space...
virtual IDOMICCProfilePtr getProfileForSpace(const IDOMColorSpacePtr &space, const CColorManagerConfigPtr &overrideConfig=CColorManagerConfigPtr())=0
Get a profile for the given space, if possible. For ICCBased color spaces, this simply returns the pr...
virtual IDOMICCProfilePtr createCalibratedGrayProfile(const CEDLVector< double > &whitePoint, double gamma=1.0, const CEDLVector< double > &blackPoint=CEDLVector< double >())=0
Create a profile for a calibrated gray color space with the given parameters. Such a profile will be ...
virtual ~IColorManager()
Definition icolormanager.h:121
virtual IDOMColorSpacePtr getDeviceGrayIntercept()=0
Get the intercept color space for DeviceGray. This is the color space that will be used for conversio...
virtual IDOMICCProfilePtr createXyzProfile(const CEDLVector< double > &whitePoint, const CEDLVector< double > &blackPoint=CEDLVector< double >())=0
Create an XYZ profile with the given parameters.
virtual void setDeviceGrayIntercept(const IDOMColorSpacePtr &space)=0
Set the intercept color space for DeviceGray. This is the color space that will be used for conversio...
virtual void setDefaultBlackPointCompensation(eBlackPointCompensation defaultBpc)=0
Set the default behavior for black point compensation when (and only when) eBPCDefault is used by con...
virtual void getDeviceLinkICCProfile(const uint8 index, IDOMColorSpaceICCBasedPtr &sourceSpace, IDOMColorSpaceICCBasedPtr &destSpace, IDOMICCProfilePtr &deviceLink)=0
Get the DeviceLink ICC profile and the associated color spaces.
virtual void convertColors(int32 numColors, bool hasAlpha, const IDOMColorSpacePtr &sourceSpace, const IDOMColorSpacePtr &destSpace, eRenderingIntent intent, eBlackPointCompensation bpc, const float *inColors, float *outColors, const CColorManagerConfigPtr &overrideConfig=CColorManagerConfigPtr())=0
Convert colors from one color space to another, using floating point samples.
virtual IDOMICCProfilePtr createGrayProfile(const CEDLVector< double > &whitePoint, CEDLVector< float > &gamma, const CEDLVector< double > &blackPoint=CEDLVector< double >())=0
Create a profile for a gray color space with the given parameters, including the ability to specify a...
virtual void setDeviceRGBIntercept(const IDOMColorSpacePtr &space)=0
Set the intercept color space for DeviceRGB. This is the color space that will be used for conversion...
virtual bool getMapDeviceGrayToCMYKBlack() const =0
Setting that determines how the color manager will convert DeviceGray colors to DeviceCMYK see setMap...
virtual void useDeviceLinkForConversionsBetween(const IDOMICCProfilePtr &sourceProfile, const IDOMICCProfilePtr &destProfile, const IDOMICCProfilePtr &deviceLink)=0
Convenience version of useDeviceLinkForConversionsBetween() that accepts IDOMICCProfiles instead of I...
virtual bool testGamut(uint32 numColors, const IDOMColorSpacePtr &sourceSpace, const IDOMColorSpacePtr &destSpace, eRenderingIntent intent, eBlackPointCompensation bpc, const float *inColors, const CColorManagerConfigPtr &overrideConfig=CColorManagerConfigPtr())=0
Tests whether the result of gamut checking is within the gamut of the destination color space.
virtual void deleteDeviceLinkForConversionsBetween(const IDOMICCProfilePtr &sourceProfile, const IDOMICCProfilePtr &destProfile)=0
Convenience version of deleteDeviceLinkForConversionsBetween() that accepts IDOMICCProfiles instead o...
virtual uint32 getProfileColorSpaceForICCBasedSpace(const IDOMColorSpaceICCBasedPtr &space)=0
Get the color space type for an ICCBased color space.
virtual void setMapDeviceGrayToCMYKBlack(bool mapGrayDirectly)=0
Configure how DeviceGray colors are converted to DeviceCMYK.
static EDL_API IColorManagerPtr get(IEDLClassFactory *pFactory)
Get the color manager singleton. Throws an IEDLError on failure.
virtual eBlackPointCompensation getDefaultBlackPointCompensation() const =0
Obtain the current black point compensation default setting.
virtual IDOMICCProfilePtr getsGrayProfile() const =0
Retrieve the built-in sGray profile.
virtual uint8 getNumComponentsForICCBasedSpace(const IDOMColorSpaceICCBasedPtr &space)=0
Find the number of components for an ICCBased color space.
virtual uint32 getProfileConnectionSpaceForICCBasedSpace(const IDOMColorSpaceICCBasedPtr &space)=0
Get the profile connection space (PCS) type for the profile used for the given ICC color space.
virtual CEDLVector< float > getOptimizedSpotFromLab(float l, float a, float b, const IDOMColorSpacePtr &destSpace)=0
Find an optimized destination color for the given spot color (D50 LAB).
virtual bool getEmbeddedPSCSAForICCBasedSpace(CEDLSimpleBuffer &csaMemory, const IDOMColorSpaceICCBasedPtr &space)=0
Get any PostScript CSA present in an ICC Based color space. These are found under the 'ps2s' tag in a...
virtual IDOMColorSpacePtr interceptSpace(const IDOMColorSpacePtr &space, const CColorManagerConfigPtr &overrideConfig=CColorManagerConfigPtr())=0
Gets the intercept associated with the given space if any, or return the original space if not....
virtual bool getDefaultTextBlackPreservation() const =0
Query the default black point preservation for text objects.
virtual void useDeviceLinkForConversionsBetween(const IDOMColorSpaceICCBasedPtr &sourceSpace, const IDOMColorSpaceICCBasedPtr &destSpace, const IDOMICCProfilePtr &deviceLink)=0
Set the DeviceLink ICC profile with specifying a combination of the source color space and the destin...
virtual bool getDefaultOtherBlackPreservation() const =0
Query the default black point preservation for non-text objects.
virtual uint32 getProfileClassForICCBasedSpace(const IDOMColorSpaceICCBasedPtr &space)=0
Get the profile class of the profile used for the given ICC color space.
virtual void convertColors(int32 numColors, bool hasAlpha, const IDOMColorSpacePtr &sourceSpace, const IDOMColorSpacePtr &destSpace, eRenderingIntent intent, eBlackPointCompensation bpc, const uint8 *inColors, uint8 *outColors, int32 inBPS, int32 outBPS, const CColorManagerConfigPtr &overrideConfig=CColorManagerConfigPtr())=0
Convert colors from one color space to another, using integer samples. Currently, only base color spa...
virtual void setDefaultBlackPreservation(bool preserveForText, bool preserveForOther)=0
Set the default for black point preservation across the Jaws Mako instance.
virtual CEDLSysStringVect getColorantNamesForICCBasedSpace(const IDOMColorSpaceICCBasedPtr &space)=0
Retrieve the colorant names of an ICC based color space. For simple Gray, RGB or CMYK ICC profiles,...
virtual void getProfileNameForICCBasedSpace(const IDOMColorSpaceICCBasedPtr &space, EDLSysString &name)=0
Get the name of the profile for an ICCBased color space.
virtual IDOMICCProfilePtr getscRGBProfile() const =0
Retrieve the built in scRGB profile.
virtual uint8 getNumComponentsForICCProfile(const IDOMICCProfilePtr &profile)=0
Find the number of components for an ICC profile.
virtual void getProfileVersionForICCBasedSpace(const IDOMColorSpaceICCBasedPtr &space, uint8 &majorVersion, uint8 &minorVersion)=0
Get the version number of the profile used for the given ICC color space.
virtual void setDeviceCMYKIntercept(const IDOMColorSpacePtr &space)=0
Set the intercept color space for DeviceCMYK. This is the color space that will be used for conversio...
virtual IDOMICCProfilePtr getsRGBProfile() const =0
Retrieve the built-in sRGB profile.
virtual bool getProfileHasSupportForIntentForICCBasedSpace(const IDOMColorSpaceICCBasedPtr &space, eRenderingIntent intent, bool input)=0
Determine if the profile used for the given ICC color space has support for the given intent for the ...
virtual void setConvertDeviceGrayUsingCMYKBlack(bool convertDirectly)=0
Configure how DeviceGray colors are converted.
virtual IDOMICCProfilePtr getCMYKSWOPProfile() const =0
Retrieve the built-in CMYK SWOP profile.
DECLARE_CLASS_ID(IColorManagerClassID)
IMPLEMENT_CLASS_ID(IColorManager)
EDL Factory Interface allows one part of the EDL infrastructure to register class creation methods id...
Definition iedlfactory.h:31
IEDLObject is an abstract base class that is used by all classes that are intended to be created via ...
Definition iedlobject.h:53
Base class Interface for all Reference Counted objects.
Definition ircobject.h:35
#define _BEGIN_EDL_NAMESPACE
Definition edlnamespaces.h:75
#define _END_EDL_NAMESPACE
Definition edlnamespaces.h:76
Simple buffer class which preserves the allocation context where the buffers were created.
std::string EDLSysString
Definition edlstring.h:158
CEDLVector< EDLSysString > CEDLSysStringVect
Definition edlstring.h:174
EDL "standard" types including known bit-length signed and unsigned integer type[def]s and definition...
unsigned int uint32
Definition edltypes.h:34
#define EDL_API
Definition edltypes.h:86
unsigned long long uint64
Definition edltypes.h:35
signed int int32
Definition edltypes.h:29
unsigned char uint8
Definition edltypes.h:32
Simple template vector class for general use.
eBlackPointCompensation
Black point compensation enumeration.
Definition edlblackpointcompensation.h:17
eRenderingIntent
Rendering intent enumeration.
Definition edlrenderingintent.h:17
@ eBPCDefault
Default behavior.
Definition edlblackpointcompensation.h:19
#define IColorManagerClassID
Definition icolormanager.h:116
#define DECL_SMART_PTR(cls)
Definition smartptr.h:211