Mako 7.3.0 API
JawsMako::ITransformChain Class Referenceabstract

ITransformChain represents a change of ITransforms, and provides a method of applying a range of transforms to an entire DOM tree. Instances of this type attempt to ensure that shared resources are modified once only. More...

#include <transforms.h>

Inheritance diagram for JawsMako::ITransformChain:

Public Member Functions

virtual void removeTransform (uint32 index)=0
 Remove the ITransform at the specified index from the ITransformChain. More...
 
virtual void pushTransform (const ITransformPtr &transform)=0
 Push an ITransform onto the end of the ITransformChain. Should not be called if another thread is currently using the transform. More...
 
virtual void pushTransformFront (const ITransformPtr &transform)=0
 Push an ITransform onto the front of the ITransformChain. Should not be called if another thread is currently using the transform. More...
 
virtual CTransformVect getTransforms () const =0
 Get the transforms in a vector. More...
 
virtual IDOMNodePtr transform (const IDOMNodePtr &node)=0
 Apply the transform chain to the given node and its children, returning the resulting node. This is thread safe. More...
 
virtual IDOMNodePtr transform (const IDOMNodePtr &node, bool &changed)=0
 Apply the transform chain to the given node and its children, returning the resulting node, and providing an indication if any changes were actually made. More...
 
virtual void transformPage (const IPagePtr &page, bool transformContent=true, bool transformAnnotations=true)=0
 Apply the transform chain to the given page, if applicable. The transform will also apply to the annotations appearances. More...
 
virtual void flushCaches ()=0
 Flush the caches used by the transforms in the chain. Most transforms cache recently transformed results to improve the performance of repeated transformations of equivalent results. However, it is possible that some cached results may point to entities that no longer exist, such as content inside an XPS file that no longer exists. If you are deleting or replacing files where transforms have been used, it is advisable to invoke this routine to clear the caches.
 
virtual ITransformChainPtr clone ()=0
 Clones this ITransformChain into a new object that can be manipulated independently of the original.
 
- Public Member Functions inherited from IRCObject
virtual void addRef () const =0
 Increases the reference count of the actual object pointed to. This would take place during an assignment or copying.
 
virtual bool decRef () const =0
 Decreases the reference count of the actual object pointed to. When the reference count falls to Zero, it deletes the actual object pointed to. More...
 
virtual int32 getRefCount () const =0
 Retrieve the current reference count of the actual object pointed to. More...
 

Static Public Member Functions

static JAWSMAKO_API ITransformChainPtr create (const IJawsMakoPtr &jawsMako, const IProgressMonitorPtr &progressMonitor=IProgressMonitorPtr(), const CTransformVect &transforms=CTransformVect())
 Create a new transform chain. More...
 

Additional Inherited Members

- Protected Member Functions inherited from IRCObject
virtual ~IRCObject ()
 Virtual destructor.
 

Detailed Description

ITransformChain represents a change of ITransforms, and provides a method of applying a range of transforms to an entire DOM tree. Instances of this type attempt to ensure that shared resources are modified once only.

Member Function Documentation

◆ create()

static JAWSMAKO_API ITransformChainPtr JawsMako::ITransformChain::create ( const IJawsMakoPtr &  jawsMako,
const IProgressMonitorPtr &  progressMonitor = IProgressMonitorPtr(),
const CTransformVect transforms = CTransformVect() 
)
static

Create a new transform chain.

Parameters
jawsMakoThe JawsMako instance.
progressMonitorThe progress monitor which allows aborting an operation or registering a progress callback.
transformsThe initial vector of ITransforms for the chain.
Returns
ITransformChainPtr The new instance.

◆ getTransforms()

virtual CTransformVect JawsMako::ITransformChain::getTransforms ( ) const
pure virtual

Get the transforms in a vector.

Returns
CTransformVect The transforms.

◆ pushTransform()

virtual void JawsMako::ITransformChain::pushTransform ( const ITransformPtr &  transform)
pure virtual

Push an ITransform onto the end of the ITransformChain. Should not be called if another thread is currently using the transform.

Parameters
transformThe transform to push.

◆ pushTransformFront()

virtual void JawsMako::ITransformChain::pushTransformFront ( const ITransformPtr &  transform)
pure virtual

Push an ITransform onto the front of the ITransformChain. Should not be called if another thread is currently using the transform.

Parameters
transformThe transform to push.

◆ removeTransform()

virtual void JawsMako::ITransformChain::removeTransform ( uint32  index)
pure virtual

Remove the ITransform at the specified index from the ITransformChain.

Parameters
indexThe index of the ITransform to remove

◆ transform() [1/2]

virtual IDOMNodePtr JawsMako::ITransformChain::transform ( const IDOMNodePtr &  node)
pure virtual

Apply the transform chain to the given node and its children, returning the resulting node. This is thread safe.

Parameters
nodeThe node to transform.
Returns
IDOMNodePtr the modified node.

◆ transform() [2/2]

virtual IDOMNodePtr JawsMako::ITransformChain::transform ( const IDOMNodePtr &  node,
bool &  changed 
)
pure virtual

Apply the transform chain to the given node and its children, returning the resulting node, and providing an indication if any changes were actually made.

Parameters
nodeThe node to transform.
changedOn exit changes will be set to true if any modifications were made, false otherwise.
Returns
IDOMNodePtr the modified node.

◆ transformPage()

virtual void JawsMako::ITransformChain::transformPage ( const IPagePtr &  page,
bool  transformContent = true,
bool  transformAnnotations = true 
)
pure virtual

Apply the transform chain to the given page, if applicable. The transform will also apply to the annotations appearances.

Parameters
pageThe page to be processed.
transformContentIf true, apply the transform to the page content
transformAnnotationsIf true, apply the transform to the annotations

The documentation for this class was generated from the following file: