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

#include <IPrintInsertPSProcProvider.h>

Inheritance diagram for IPrintInsertPSProcProvider:
IPMUnknownCPMUnknown< IPrintInsertPSProcProvider >PrtMemPrintInsertPSProcProvider

Public Types

enum  DocumentSection {
  kDocumentHeader = 0, kDocumentProlog, kDocumentSetup, kDocumentTrailer,
  kPageSetup, kBeginPageContent, kEndPageContent, kPageTrailer
}
 

Public Member Functions

virtual void Setup (IPrintData *iPrintData, IOutputPages *iOutputPages, IPrintJobData *iPrintJobData, IInkList *iInkList, ITrapStyleListMgr *iTrapListMgr)=0
 
virtual void GetInsertPSProcName (PMString &psProcName)=0
 
virtual void GetClientData (void **clientData)=0
 
virtual void PrintInsertPSProc (bool8 &bReturn, DocumentSection docSec, bool32 pre, IXferBytes &pASCIIStream, IXferBytes &pBinaryStream, void *clientData)=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

Access the PostScript stream on output through a callback mechanism

Member Enumeration Documentation

This enum is used to identify which stage of the output process is happening.
Enumerator
kDocumentHeader 

Before %EndComments

kDocumentProlog 

Between %Begin/EndProlog

kDocumentSetup 

Between %Begin/EndSetup

kDocumentTrailer 

Between %Trailer and EOF

kPageSetup 

Between %Begin/EndPageSetup

kBeginPageContent 

After %EndPageSetup

kEndPageContent 

Before %PageTrailer

kPageTrailer 

Between %PageTrailer and %Page (multi-page) or %Trailer (single-page)

Member Function Documentation

virtual void IPrintInsertPSProcProvider::GetClientData (void ** clientData)
pure virtual

This is a void* pointer that will be passed back in the callback PrintInsertPSProc

Parameters
clientDataclient data pass-through that will be passed back in PrintInsertPSProc NOTE: this can be nil

Implemented in PrtMemPrintInsertPSProcProvider.

virtual void IPrintInsertPSProcProvider::GetInsertPSProcName (PMStringpsProcName)
pure virtual

Return a unique name for the insert proc. NOTE: if the PMString is empty when returned, the PrintInsertPSProc will not be called

Parameters
psProcNameproc identifier - used to identify each callback participant

Implemented in PrtMemPrintInsertPSProcProvider.

virtual void IPrintInsertPSProcProvider::PrintInsertPSProc (bool8 & bReturn,
DocumentSection docSec,
bool32 pre,
IXferBytespASCIIStream,
IXferBytespBinaryStream,
void * clientData 
)
pure virtual

The callback method

Parameters
bReturnreturn value - true means data inserted, false means no data inserted
docSecthe DocumentSection defined above
preat DocumentSection section start or end
pASCIIStreamfor inserting ASCII data
pBinaryStreamfor inserting Binary data NOTE: only the Write method of IXferBytes has been implemented!
clientDatadata defined from GetClientData() above, may be nil

Implemented in PrtMemPrintInsertPSProcProvider.

virtual void IPrintInsertPSProcProvider::Setup (IPrintDataiPrintData,
IOutputPagesiOutputPages,
IPrintJobDataiPrintJobData,
IInkListiInkList,
ITrapStyleListMgriTrapListMgr 
)
pure virtual

Called first to allow stashing of useful pointers for later use

Parameters
iPrintDatathe IPrintData containing all the print settings currently being used
iOutputPagesthe IOutputPages interface containing the pages to be printed
iPrintJobDatathe IPrintJobData interface currently being used
iTrapListMgrthe ITrapStyleListMgr interface currently being used

Implemented in PrtMemPrintInsertPSProcProvider.