InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IInkMgrUtils Class Referenceabstract

#include <IInkMgrUtils.h>

Inheritance diagram for IInkMgrUtils:
IPMUnknown

Public Types

enum  { kDefaultIID = IID_IINKMGRUTILS }
 
enum  PSProcessInkType { kPSProcess = 1, kPSHexachrome }
 

Public Member Functions

virtual IInkList_QueryActiveInkList (IActiveContext *=nil)=0
 
virtual IInkList_QueryActiveDocInkList ()=0
 
virtual IInkListQueryDocInkList (IDataBase *iDataBase)=0
 
virtual UIDList GetInkAliasListFromInkList (IInkList *iInkList, bool16 excludeSwatchAliases=kFalse)=0
 
virtual UID GetInksAliasInfo (IInkList *iInkList, UID inkUID, PMString &aliasInkName, bool16 &isProcessInk, int32 &plateOrder, ColorArray &colorValue)=0
 
virtual UID GetInksAliasUID (IInkList *iInkList, PMString &inkName)=0
 
virtual UID GetInksAliasUID (IInkList *iInkList, UID inkUID)=0
 
virtual bool16 InksSwatchIsAliased (IInkList *iInkList, const UIDRef &inkRef)=0
 
virtual int32 GetPrintInkPlateOrder (IInkList *iInkList, UID inkUID)=0
 
virtual UIDRef GetSpotInksColorSwatchUID (const UIDRef &inkRef, IPMUnknown *iSwatchOrInkList=nil)=0
 
virtual bool16 GetSpotInSwatchList (IDataBase *iDB, const PMString &spotName, PSProcessInkType type)=0
 
virtual IInkData::InkType GetInksColorUsageType (const UIDRef &swatchRef, ISwatchList *iSwatchList=nil)=0
 
virtual void _InvokeInkManagerDialog (IInkList *iInkList=nil, RsrcID dlgID=0)=0
 
virtual PMString GetInkUIName (IPMInkBossData *iInkBossData)=0
 
virtual PMString GetInkPSName (IPMInkBossData *)=0
 
virtual UIDList GetVisibleInkListFromInkList (IInkList *iInkList, bool16 allToProcess)=0
 
virtual UID FindInk (IInkList *, PMString inkName)=0
 
virtual UID FindPSInk (IInkList *, PMString inkName, PSProcessInkType psInkType)=0
 
virtual UIDList GetInkConvertToProcessListFromInkList (IInkList *iInkList)=0
 
virtual bool16 ColorsAreModified (IInkList *, UIDList swatchUIDList)=0
 
virtual CAGMColorSpace CreateAliasedColorSpace (IInkList *iInkList, UID &aliasee, bool16 doPrint=kFalse)=0
 
virtual bool16 InkListHasSpotInks (IInkList *iInkList=nil, bool16 ignoreConvert2Process=kFalse)=0
 
virtual UIDList GetInksUsedOnSpread (UIDRef &spreadRef, int32 flags, IInkList *iInkList=nil, PMRect *pBoundsRect=nil)=0
 
- Public Member Functions inherited from IPMUnknown
virtual IPMUnknownQueryInterface (PMIID interfaceID) const =0
 
virtual void AddRef () const =0
 
virtual void Release () const =0
 

Detailed Description

This utility facilitate the mangement of InDesign inks.

Member Enumeration Documentation

Specifies the type of process inks.
Enumerator
kPSProcess 

Specifies the traditional CMYK process inks.

kPSHexachrome 

Specifies the Hexachrome process ink set.

Member Function Documentation

virtual void IInkMgrUtils::_InvokeInkManagerDialog (IInkListiInkList = nil,
RsrcID dlgID = 0 
)
pure virtual

Invoke the ink manager dialog.

Parameters
iInkListis the ink list to use to populate the ink manager dialog.
dlgIDis the dialog's resource ID.
virtual IInkList* IInkMgrUtils::_QueryActiveDocInkList ()
pure virtual

Query for the front most document's ink list

Returns
the IInkList interface pointer if one exists.
virtual IInkList* IInkMgrUtils::_QueryActiveInkList (IActiveContext = nil)
pure virtual

Query for the current active ink list in the specified active context. If active context is not specified, the current active context is used.

Parameters
activeContextthe specified active context.
Returns
the IInkList interface pointer if one exists or nil.
virtual bool16 IInkMgrUtils::ColorsAreModified (IInkList,
UIDList swatchUIDList 
)
pure virtual

Check whether any of the colors in the list are subject to ink mapping

Parameters
iInkListis the ink list.
swatchUIDListis the color UID list.
Returns
kTrue if at least one color in swatchUIDList is remapped.
virtual CAGMColorSpace IInkMgrUtils::CreateAliasedColorSpace (IInkListiInkList,
UIDaliasee,
bool16 doPrint = kFalse 
)
pure virtual

Create the CAGMColorSpace of the aliasee.

Parameters
iInkListis the ink list.
aliaseeis the ink UID that is aliased.
doPrintis true if currently printing.
Returns
CAGMColorSpace of the aliased ink.
virtual UID IInkMgrUtils::FindInk (IInkList,
PMString inkName 
)
pure virtual

Support needed for the AGMColorMapper portFind an ink by name

Parameters
iInkListis the ink list.
inkNameis specified ink to find.
Returns
ink UID of the inkName.
virtual UID IInkMgrUtils::FindPSInk (IInkList,
PMString inkName,
PSProcessInkType psInkType 
)
pure virtual

Find an ink by PostScript name

Parameters
iInkListis the ink list.
inkNameis specified ink to find.
psInkTypeis specified process ink type.
Returns
ink UID of the inkName.
virtual UIDList IInkMgrUtils::GetInkAliasListFromInkList (IInkListiInkList,
bool16 excludeSwatchAliases = kFalse 
)
pure virtual

Get the list of all ink UID that are ink alias for anther ink from the specified ink list. If excludeSwatchAliases is set to kTure, ink aliases that are results of swatch aliases are excluded from the returned list. The default is to return all ink aliases.

Parameters
iInkListis the database's ink list.
excludeSwatchAliasesexclude the ink aliases that resulted from swatch aliases. The default is set to kFalse.
Returns
the list of ink alias UIDs.
virtual UIDList IInkMgrUtils::GetInkConvertToProcessListFromInkList (IInkListiInkList)
pure virtual

Get a list of the inks that are converted to process

Parameters
iInkListis the ink list.
Returns
list of ink UID that are converted to process.
virtual PMString IInkMgrUtils::GetInkPSName (IPMInkBossData)
pure virtual

Return the PostScript color name from the ink name.

Parameters
iInkBossDatais the ink's persistent data.
Returns
corresponding PostScript color name.
virtual UID IInkMgrUtils::GetInksAliasInfo (IInkListiInkList,
UID inkUID,
PMStringaliasInkName,
bool16 & isProcessInk,
int32 & plateOrder,
ColorArraycolorValue 
)
pure virtual

Get the ink's alias UID if ink is aliased. It returns its alias ink's name, if ink is process, plate order, alternate color space/values if spot ink. If ink is not aliased, it returns kInvalidUID.

Parameters
iInkListis the ink list the specified ink is in.
inkUIDis the ink whose alias ink information we want to get.
aliasInkNameis the alias ink's name.
isProcessInkis kTrue if the alias ink is a process ink.
plateOrderis the alias ink's plate order.
colorValueis the alias ink's color value if alias ink is spot.
Returns
the alias ink UID.
virtual UID IInkMgrUtils::GetInksAliasUID (IInkListiInkList,
PMStringinkName 
)
pure virtual

Get the ink's alias UID by name if ink is aliased.

Parameters
iInkListis the ink list the specified ink is in.
inkNameis the ink name.
Returns
the alias ink UID.
virtual UID IInkMgrUtils::GetInksAliasUID (IInkListiInkList,
UID inkUID 
)
pure virtual

Get the ink's alias UID by ink UID if ink is aliased.

Parameters
iInkListis the ink list the specified ink is in.
inkUIDis the ink UID.
Returns
the alias ink UID.
virtual IInkData::InkType IInkMgrUtils::GetInksColorUsageType (const UIDRefswatchRef,
ISwatchListiSwatchList = nil 
)
pure virtual

Get the specified ink's color usage

Parameters
swatchRefis the spot color swatch UIDRef.
iSwatchListis the swatch list.
Returns
specified swatchRef's ink type.
virtual UIDList IInkMgrUtils::GetInksUsedOnSpread (UIDRefspreadRef,
int32 flags,
IInkListiInkList = nil,
PMRectpBoundsRect = nil 
)
pure virtual

Get all the inks used on the spread by doing a ink resource draw order iteration.

Parameters
spreadRefis UIDRef of the spread.
flagsare used for iterating the draw order.
iInkListis optional parameter. It should be the ink list for the document or the book. If not set, ink list for the document is used.
pBoundsRectis optional parameter. If set, the function finds the inks used on this rect in the spread, else it uses the pasteboard bounds. It is useful if you want to know, for example, whether a given page has any inks.
Returns
UIDList of inks used on the spread.
virtual PMString IInkMgrUtils::GetInkUIName (IPMInkBossDataiInkBossData)
pure virtual

Return the UI ink name (after translataion) from the ink name.

Parameters
iInkBossDatais the ink's persistent data.
Returns
corresponding translated ink name.
virtual int32 IInkMgrUtils::GetPrintInkPlateOrder (IInkListiInkList,
UID inkUID 
)
pure virtual

Get the specified printing ink's plate order in the given ink list.

Parameters
iInkListis the ink list the specified ink is in.
inkUIDis the ink UID.
Returns
the ink's plate order.
virtual UIDRef IInkMgrUtils::GetSpotInksColorSwatchUID (const UIDRefinkRef,
IPMUnknowniSwatchOrInkList = nil 
)
pure virtual

Get the color swatch UID which defined the spot ink.

Parameters
inkRefis the ink UID.
iSwatchOrInkListis the IPMUnknown* to the ink list or the swatch list.
Returns
the corresponding spot color swatch UIDRef.
virtual bool16 IInkMgrUtils::GetSpotInSwatchList (IDataBaseiDB,
const PMStringspotName,
PSProcessInkType type 
)
pure virtual

Get the spot color in the swatch list with the given name

Parameters
iDBis the swatch's database.
spotNameis the name of the spot color swatch.
typeis the process ink type.
Returns
kTrue if the specified spot color swatch exists in the specified data base.
virtual UIDList IInkMgrUtils::GetVisibleInkListFromInkList (IInkListiInkList,
bool16 allToProcess 
)
pure virtual

Get a list of the inks that are visible.

Parameters
iInkListis the ink list.
allToProcessis kTrue if all spot inks are ignored.
Returns
a list of visible ink UIDs.
virtual bool16 IInkMgrUtils::InkListHasSpotInks (IInkListiInkList = nil,
bool16 ignoreConvert2Process = kFalse 
)
pure virtual

Return kTrue if specified ink list has at least one spot ink. If ink list is nil, use the current active ink list.

Parameters
iInkListis the ink list.
ignoreConvert2Processis kTrue if ignoring any convert to process setting.
Returns
kTrue if ink list has spot inks.
virtual bool16 IInkMgrUtils::InksSwatchIsAliased (IInkListiInkList,
const UIDRefinkRef 
)
pure virtual

Determined if the ink alias is caused by swatch alias.

Parameters
iInkListis the ink list the specified ink is in.
inkRefis the ink UIDRef.
Returns
kTrue if resulting ink alias is result of swatch alias.
virtual IInkList* IInkMgrUtils::QueryDocInkList (IDataBaseiDataBase)
pure virtual

Query for the ink list specified by the given database.

Parameters
iDataBaseis the database. This can be the database of the application workspace.
Returns
the IInkList interface pointer if one exists or nil.