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

#include <IXPUtils.h>

Inheritance diagram for IXPUtils:
IPMUnknown

Classes

class  FlattenSettings
 

Public Types

enum  { kDefaultIID = IID_IXPUTILS }
 
enum  FlattenOutputMode { kModeLegacy, kModeSimPress, kModeSimScreen }
 
enum  { kXPCF_IgnoreSpreadOverrides = (1L<<0), kXPCF_NoSpotSetup = (1L<<1), kXPCF_RasterizeAGMPrintIncompatiblePaints = (1L<<2), kXPCF_UseActiveBookInkList = (1L<<3) }
 

Public Member Functions

virtual IXPManagerQueryXPManager (IDocument *iDoc)=0
 
virtual IXPManagerQueryXPManager (IDataBase *iDB)=0
 
virtual bool32 IsOPPEnabledInView (IControlView *iView)=0
 
virtual AGMPort * CreateFlattener (UIDRef pageRef, UID flatStyleUID, uint32 xpcfFlags, IXPUtils::FlattenOutputMode mode, const PMRect &pgBounds, IXPUtils::FlattenSettings *returnSettings=nil, void *pAGMFlattenerSettings=nil, AGMColorSpace *preferredBlendSpace=nil)=0
 
virtual void ReleaseBlendSpace (AGMColorSpace *theBlendSpace)=0
 
virtual AGMColorProfile * CreateAntistitchingProfile (AGMColorProfile *profBlend, AGMColorProfile *profDevice, AGMColorProfile *profCMYK=nil, AGMColorProfile *profProof=nil)=0
 
virtual void ReleaseProfile (AGMColorProfile *)=0
 
virtual IFlattenerSettingsQueryFlattenerSettings (IWorkspace *pWorkspace, UID uidFlatStyle)=0
 
virtual bool16 GetFlattenerSettings (IWorkspace *pWorkspace, UID uidFlatStyle, bool16 bIgnoreSpreadOverrides, UIDRef &uidPageItem, InterfacePtr< IFlattenerSettings > &pSettings, InterfacePtr< IFlattenerSettings > &pOverrides)=0
 
virtual bool16 SetupViewPortAttrs (IWorkspace *pWorkspace, UID uidFlatStyle, bool32 bIgnoreOverrides, UIDRef const &uidPage, IViewPortAttributes *iAttr)=0
 
virtual AGMPaint * CreateImagePaintServer (_t_AGMImageRecord *imgRec, PMMatrix *m, int32 flags, AGMColorSpace *theSpace)=0
 
virtual void ReleasePaintServer (AGMPaint *agmPaint)=0
 
virtual UIDListGetGraphicsAffectedByTransparency (UIDRef spreadRef, const PMString &styleName=PMString(), bool32 ignoreSpreadOverrides=kFalse)=0
 
virtual bool32 IsStrokeTransparent (IPMUnknown *item)=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

Utilities related to transparency.

Member Function Documentation

virtual AGMPaint* IXPUtils::CreateImagePaintServer (_t_AGMImageRecordimgRec,
PMMatrixm,
int32 flags,
AGMColorSpace * theSpace 
)
pure virtual

Obtains a paint server from an image. Useful for creating alpha Servers.

Parameters
imgRecIN The image you want to turn into a paint server. NOTE: This method makes a copy of the image data, so you can dispose your buffers if you want immediately following this call.
mIN The matrix that is attached to the paint server.
flagsIN Image flags; not currently documented. Set to 0 for now.
theSpaceIN The colorspace for the image. If you pass nil for this argument your paint server will be uncalibrated.
Returns
A refcounted AGMPaint object that can be passed to IGraphicsPort::SetPaintServer – or, more interestingly, IGraphicsPort::SetAlphaServer. Note that you must release your paint server via ReleasePaintServer once you're done with it. Which is normally after you've SetAlphaServer or SetPaintServer'd it.
virtual bool16 IXPUtils::GetFlattenerSettings (IWorkspacepWorkspace,
UID uidFlatStyle,
bool16 bIgnoreSpreadOverrides,
UIDRefuidPageItem,
InterfacePtr< IFlattenerSettings > & pSettings,
InterfacePtr< IFlattenerSettings > & pOverrides 
)
pure virtual

Utility for retrieving the flattener settings for the specified workspace, and the override settings for the specified page item if applicable.

virtual UIDList* IXPUtils::GetGraphicsAffectedByTransparency (UIDRef spreadRef,
const PMStringstyleName = PMString(),
bool32 ignoreSpreadOverrides = kFalse 
)
pure virtual

Obtains a list of all placed graphics in the specified spread that are affected by transparency. Useful for when you want to do automated OPI swapping. The 'styleName' and 'ignoreSpreadOverrides' allow you to match conditions used in a given export or print scenario, or the flattener preview itself.

NOTE: This can be an expensive operation if the spread contains a lot of objects.

Parameters
spreadRefIN The spread you want to inspect.
styleNameIN The name of the flattener style to use. If empty string, will use High Quality style.
ignoreSpreadOverridesIN Whether to ignore spread overrides.
Returns
A newly allocated UIDList containing the images on the spread that are affected by transparency. Returns NIL (rather than an empty list) if there are none. Caller must delete this ptr.
virtual bool32 IXPUtils::IsStrokeTransparent (IPMUnknownitem)
pure virtual

Examines the attributes on the given page item for the presence of any that would make the stroke transparent and thus reveal the fill beneath it. This is important for retarding the fill path adjustment that occurs for solid strokes.

In particular the method returns true if the stroke is less than 100% opaque; has a blend mode other than normal; or has a feather (of any flavor) applied. This criteria may be adjusted in the future based on feature additions/changes.

Parameters
itemIN An interface pointer identifying the object (page item).
Returns
True if the stroke attributes make the stroke transparent.
virtual IFlattenerSettings* IXPUtils::QueryFlattenerSettings (IWorkspacepWorkspace,
UID uidFlatStyle 
)
pure virtual

Retrieves the specified global flattener style definition.

virtual void IXPUtils::ReleasePaintServer (AGMPaint * agmPaint)
pure virtual

Releases a paint server created via CreateImagePaint.

Parameters
agmPaintIN The paint server you want to release.
virtual bool16 IXPUtils::SetupViewPortAttrs (IWorkspacepWorkspace,
UID uidFlatStyle,
bool32 bIgnoreOverrides,
UIDRef const & uidPage,
IViewPortAttributesiAttr 
)
pure virtual

Initializes the flattener output resolution appropriately for the specified view port.