/*********************************************************************

 ADOBE SYSTEMS INCORPORATED
 Copyright (C) 1998-2006 Adobe Systems Incorporated
 All rights reserved.

 NOTICE: Adobe permits you to use, modify, and distribute this file
 in accordance with the terms of the Adobe license agreement
 accompanying it. If you have received this file from a source other
 than Adobe, then your use, modification, or distribution of it
 requires the prior written permission of Adobe.

 ---------------------------------------------------------------------

 PIPokes.h

 - List of prototypes for notifications. Plug-in clients that register
   for notifications have to register functions that match the prototypes
   listed below. All notification-callbacks return void.

*********************************************************************/

/* POKE(name, notifier formals, notifiee formals, notifiee actuals) */

/* PDF Library does not define AVWindow (bug 1121523) */
#if TOOLKIT
#ifndef AVWindow
#define AVWindow void*
#endif
#endif

/* AvApp-related notifications */

/** 
	The Acrobat viewer has finished initializing and is about 
	to enter its event loop. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify AVAppWillQuit 
*/
POKE(AVAppDidInitialize, (void), (void *clientData), (cell->clientData))

/**
	The Acrobat viewer is quitting. All documents have been 
	closed. To access or enumerate documents when the application 
	is quitting, replace the <code>AVAppCanQuit()</code> method, access or 
	enumerate documents in your replacement for that procedure, 
	and return <code>true</code> to allow the Acrobat viewer to continue 
	quitting. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify AVAppDidInitialize 
*/
POKE(AVAppWillQuit, (void), (void *clientData), (cell->clientData))

/**
	The front-most <code>AVDoc</code> has changed. 
	@param doc The document that was brought to the front. 
	It is <code>NULL</code> if there is no front-most document (for example, the 
	previous front-most document was just closed). 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify AVDocDidActivate 
	@notify AVDocDidDeactivate 
	@see AVWindowBringToFront 
	@see AVDocOpenFromASFileWithParamString 
	@see AVDocOpenFromFile 
	@see AVDocOpenFromASFileWithParams 
	@see AVDocOpenFromPDDoc 
	@see AVDocOpenFromPDDocWithParams 

	@note This notification is not broadcast for external windows, 
	such as OLE applications or PDF files being displayed in 
	Netscape Navigator. 
*/
POKE(AVAppFrontDocDidChange, (AVDoc doc), (AVDoc doc, void *clientData), (doc, cell->clientData))

/* AVDoc-related notifications */

/**
	An <code>AVDoc</code> will be opened from a file. 
	@param fileName The <code>ASPathName</code> for the file that will 
	be opened. 
	@param fileSys The file system responsible for the file 
	to open. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify AVDocDidOpen 
	@see AVDocOpenFromASFileWithParamString 
	@see AVDocOpenFromFile 
	@see AVDocOpenFromASFileWithParams 
*/
POKE(AVDocWillOpenFromFile, (ASPathName fileName, ASFileSys fileSys), (ASPathName fileName, ASFileSys fileSys, void *clientData), (fileName, fileSys, cell->clientData))

/**
	<p>A document has been opened. </p>

	<p>Calling <code>AVDocClose()</code> within this notification is forbidden. </p>
	
	@param doc The document that was opened. 
	@param error The error code. <code>error</code> is set to <code>0</code> if no errors 
	occurred while opening the file. If an error occurred, error 
	contains the error code. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify AVDocWillOpenFromFile 
	@notify AVDocWillOpenFromPDDoc 
	@see AVDocOpenFromASFileWithParamString 
	@see AVDocOpenFromFile 
	@see AVDocOpenFromASFileWithParams 
*/
POKE(AVDocDidOpen, (AVDoc doc, ASInt32 error), (AVDoc doc, ASInt32 error, void *clientData), (doc, error, cell->clientData))

/**
	An <code>AVDoc</code> has activated. At the time this notification is 
	broadcast, it is possible that the window being activated 
	has not yet been brought to the front. For this reason, 
	the <code>AVAppFrontDocDidChange()</code> notification is often more useful. 
	@param doc The document that was activated. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify AVDocDidDeactivate 
	@notify AVAppFrontDocDidChange 
	@see AVDocOpenFromASFileWithParamString 
	@see AVDocOpenFromFile 
	@see AVDocOpenFromASFileWithParams 
	@see AVDocOpenFromPDDoc 
	@see AVDocOpenFromPDDocWithParams 
	
	@note AVAppGetActiveDoc() will not necessarily return the 
	AVDoc returned in this notification. For instance, if there 
	is An <code>AVDoc</code> in an external window (such as a web browser's window) 
	that becomes active, The <code>AVDoc</code> returned by this notification 
	will not match what AVAppGetActiveDoc() returns. 

	@note This notification is not broadcast for external windows, 
	such as OLE applications or PDF files being displayed in 
	Netscape. 
*/
POKE(AVDocDidActivate, (AVDoc doc), (AVDoc doc, void *clientData), (doc, cell->clientData))

/**
	A document was deactivated. 
	@param doc The document that was deactivated. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify AVDocDidActivate 
	@notify AVAppFrontDocDidChange 
	@see AVDocOpenFromASFileWithParamString 
	@see AVDocOpenFromFile 
	@see AVDocOpenFromASFileWithParams 
	@see AVDocOpenFromPDDoc 
	@see AVDocOpenFromPDDocWithParams 

	@note This notification is not broadcast for external windows, 
	such as OLE applications or PDF files being displayed in 
	Netscape Navigator. 
*/
POKE(AVDocDidDeactivate, (AVDoc doc), (AVDoc doc, void *clientData), (doc, cell->clientData))

/**
	An <code>AVDoc</code> will be closed. Neither this notification nor <code>AVDocDidClose()</code> 
	are broadcast if the user selects <i>Cancel</i> when prompted 
	to save a modified document as it is closed. 
	@param doc The document that will be closed. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify AVDocDidClose AVDocClose 

	@note Reads made from AVDocWillClose() on an in-browser document 
	will fail if the data is not already downloaded. 
*/
POKE(AVDocWillClose, (AVDoc doc),(AVDoc doc, void *clientData), (doc, cell->clientData))

/**
	A document has been closed. Although An <code>AVDoc</code> is passed 
	to the routine called by this notification, the document 
	has already been closed but not freed. As a result, all 
	the routine can really do is manipulate any private data 
	in the underlying PDF file at the time this notification 
	occurs. 
	@param doc The document that was closed. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify AVDocWillClose AVDocClose 
*/
POKE(AVDocDidClose, (AVDoc doc),(AVDoc doc, void *clientData), (doc, cell->clientData))

/**
	A document's selection is about to be cleared. 
	@param doc The document whose selection will be cleared. 
	
	@param selType The <code>ASAtom</code> corresponding to the current 
	selection type. 
	@param selData A pointer to the current selection data. 
	The format and contents of <code>selData</code> depend on <code>selType</code>. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify AVDocDidAddToSelection 
	@notify AVDocDidClearSelection 
	@notify AVDocDidSetSelection 
	@see AVDocClearSelection 
	@see AVDocDeleteSelection 
	@see AVDocSetSelection 
*/
POKE(AVDocWillClearSelection, (AVDoc doc, ASAtom selType, void* selData), (AVDoc doc, ASAtom selType, void* selData, void *clientData), (doc, selType, selData, cell->clientData))

/**
	The document's selection has been set. 
	@param doc The document whose selection was set. 
	@param selType The <code>ASAtom</code> corresponding to the current 
	selection type. See <code>AVDocSetSelection()</code> for a list of selection 
	types. 
	@param selData A pointer to the current selection data. 
	The format and contents of <code>selData</code> depend on <code>selType</code>. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify AVDocDidAddToSelection 
	@notify AVDocDidClearSelection 
	@notify AVDocWillClearSelection 
	@see AVDocClearSelection 
	@see AVDocDeleteSelection 
	@see AVDocSetSelection 
*/
POKE(AVDocDidSetSelection, (AVDoc doc, ASAtom selType, void* selData), (AVDoc doc, ASAtom selType, void* selData, void *clientData), (doc, selType, selData, cell->clientData))

/**
	<p>An action is about to be performed. </p>
	
	<p>The following methods broadcast this notification if the 
	document has an open action: </p>
	<ul>
	<li>AVDocOpenFromASFileWithParamString()</li> 
	<li>AVDocOpenFromFile()</li> 
	<li>AVDocOpenFromASFileWithParams()</li> 
	<li>AVDocOpenFromPDDoc()</li> 
	<li>AVDocOpenFromPDDocWithParams()</li> 
	</ul>

	@param doc The document containing the action that will 
	be performed. 
	@param action The action that will be performed. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify AVDocDidPerformAction 
	@see AVDocPerformAction 
	@see AVDocOpenFromASFileWithParamString  
	@see AVDocOpenFromFile  
	@see AVDocOpenFromASFileWithParams  
	@see AVDocOpenFromPDDoc  
	@see AVDocOpenFromPDDocWithParams 
*/
POKE(AVDocWillPerformAction, (AVDoc doc, PDAction action), (AVDoc doc, PDAction action, void* clientData), (doc, action, cell->clientData))

/**
	<p>An action was performed. </p>

	<p>The following methods broadcast this notification if the 
	document has an open action: </p>
	<ul>
	<li>AVDocOpenFromASFileWithParamString()</li>
	<li>AVDocOpenFromFile()</li> 
	<li>AVDocOpenFromASFileWithParams()</li> 
	<li>AVDocOpenFromPDDoc()</li> 
	<li>AVDocOpenFromPDDocWithParams()</li>
	</ul>

	@param doc The document containing the action that was 
	performed. 
	@param action The action that was performed. 
	@param err The error code. <code>err</code> is set to <code>0</code> if no errors 
	occurred while performing the action. If an error occurred, 
	<code>err</code> contains the error code. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify AVDocWillPerformAction 
	@see AVDocPerformAction 
	@see AVDocOpenFromASFileWithParamString 
	@see AVDocOpenFromFile 
	@see AVDocOpenFromASFileWithParams 
	@see AVDocOpenFromPDDoc 
	@see AVDocOpenFromPDDocWithParams 
*/
POKE(AVDocDidPerformAction, (AVDoc doc, PDAction action, ASInt32 err), (AVDoc doc, PDAction action, ASInt32 err, void* clientData), (doc, action, err, cell->clientData))

/* AVPageView-related notifications */

/**
	Redrawing occurred in the page view section of the window. 
	
	@param pageView The <code>AVPageView</code> in which drawing occurred. 
	
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify AVPageViewDidChange 
	@notify AVPageViewWillDraw 
	@see AVPageViewDrawNow 
*/
POKE(AVPageViewDidDraw, (AVPageView pageView), (AVPageView pageView, void *clientData), (pageView, cell->clientData))

/**
	The page view has changed. Zero or more of the following 
	events has occurred: 
	<ul>
	<li> The page number has changed.</li>
	<li> The zoom factor has changed.</li>
	<li> The window has been resized.</li>
	<li> The page has been scrolled.</li>
	</ul>
	
	@param pageView The <code>AVPageView</code> that has changed. 
	@param how Specifies how the page view did change. <code>how</code> 
	is an OR of zero or more of the following (see AVExpT.h): 

	<TABLE rules="all" cellspacing="1">
	<TR><TH>Value</TH><TH>Description</TH></TR>
	<TR><TD><code>PAGEVIEW_UPDATE_SCROLL</code></TD><TD>The view has been scrolled.</TD></TR>
	<TR><TD><code>PAGEVIEW_UPDATE_PAGENUM</code></TD><TD>The page number has changed.</TD></TR>
	<TR><TD><code>PAGEVIEW_UPDATE_PAGESIZE</code></TD><TD>A new view has been created.</TD></TR>
	<TR><TD><code>PAGEVIEW_UPDATE_ZOOM</code></TD><TD>The zoom has been changed.</TD></TR>
	</TABLE>

	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify AVDocActivePageViewDidChange 
	@notify AVPageViewDidDraw 
	@notify AVPageViewWasCreated 
	@notify AVPageViewWillDestroy 
	@see AVPageViewZoomTo 
	@see AVPageViewScrollTo 
	@see AVPageViewScrollToRect 
	@see AVPageViewGoTo 
	@see AVPageViewReadPageDown 
	@see AVPageViewReadPageUp 
	@see AVPageViewGoBack 
	@see AVPageViewGoForward 
	@see AVPageViewUseDestInfo 
	@see AVPageViewUseThisDestination

	@note If continuous scrolling is turned on (available in 
	Acrobat 3.0 or later) and more than one page is displayed 
	in the <code>AVPageView</code>, alternating mouse clicks in the different 
	pages displayed does not constitute a change to the <code>AVPageView</code>. 
*/
POKE(AVPageViewDidChange, (AVPageView pageView, ASInt16 how), (AVPageView pageView, ASInt16 how, void *clientData), (pageView, how, cell->clientData))

/* PDDoc-related notifications */

/**
	One or more pages will be inserted. 
	@param doc The document into which pages will be inserted. 
	
	@param insertAfterThisPage The page number (in <code>doc</code>) after 
	which pages will be inserted. 
	@param srcDoc The document that provides the pages to 
	insert. This is <code>NULL</code> when a new blank page is created and 
	inserted into a document. This is <code>NULL</code> for a notification 
	broadcast by <code>PDDocCreatePage()</code>. 
	@param srcFromPage The page number (in <code>srcDoc</code>) of the 
	first page that will be inserted. It is not valid when a new blank 
	page is created and inserted into a document. This is <code>NULL</code> 
	for a notification broadcast by <code>PDDocCreatePage()</code>. 
	@param srcToPage The page number (in <code>srcDoc</code>) of the last 
	page that will be inserted. It is not valid when a new blank page 
	is created and inserted into a document. This is <code>NULL</code> for 
	a notification broadcast by <code>PDDocCreatePage()</code>. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDDocDidInsertPages 
	@notify PDDocWillChangePages 
	@see PDDocCreatePage 
	@see PDDocInsertPages 
*/
POKE(PDDocWillInsertPages, \
	(PDDoc doc, ASInt32 insertAfterThisPage, PDDoc srcDoc, ASInt32 srcFromPage, ASInt32 srcToPage), \
	(PDDoc doc, ASInt32 insertAfterThisPage, PDDoc srcDoc, ASInt32 srcFromPage, ASInt32 srcToPage, void *clientData), \
	(doc, insertAfterThisPage, srcDoc, srcFromPage, srcToPage, cell->clientData))

/**
	One or more pages have been inserted. 
	@param doc The document into which pages were inserted. 
	
	@param insertAfterThisPage The page number (in <code>doc</code>) after 
	which pages were inserted. 
	@param srcDoc The document that provided the pages that 
	were inserted. This is <code>NULL</code> when a new blank page is created 
	and inserted into a document. This is <code>NULL</code> for a notification 
	broadcast by <code>PDDocCreatePage()</code>. 
	@param srcFromPage The page number (in <code>srcDoc</code>) of the 
	first page that was inserted. It is not valid when a new blank 
	page is created and inserted into a document. This is <code>NULL</code> 
	for a notification broadcast by <code>PDDocCreatePage()</code>. 
	@param srcToPage The page number (in <code>srcDoc</code>) of the last 
	page that was inserted. It is not valid when a new blank page 
	is created and inserted into a document. This is <code>NULL</code> for 
	a notification broadcast by <code>PDDocCreatePage()</code>. 
	@param error The error code. <code>error</code> is set to <code>0</code> if no errors 
	occurred while inserting the pages. If an error occurred, 
	<code>error</code> contains the error code. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDDocWillInsertPages 
	@notify PDDocDidChangePages 
	@see PDDocCreatePage 
	@see PDDocInsertPages 
*/
POKE(PDDocDidInsertPages, \
	(PDDoc doc, ASInt32 insertAfterThisPage, PDDoc srcDoc, ASInt32 srcFromPage, ASInt32 srcToPage, ASInt32 error), \
	(PDDoc doc, ASInt32 insertAfterThisPage, PDDoc srcDoc, ASInt32 srcFromPage, ASInt32 srcToPage, ASInt32 error, void *clientData), \
	(doc, insertAfterThisPage, srcDoc, srcFromPage, srcToPage, error, cell->clientData))

/**
	One or more pages will be replaced. 
	@param doc The document in which pages will be replaced. 
	
	@param fromPage The page number (in <code>doc</code>) of the first 
	page that will be replaced. 
	@param toPage The page number (in <code>doc</code>) of the last page 
	that will be replaced. 
	@param srcDoc The document that provides the replacement 
	pages. 
	@param srcFromPage The page number (in <code>srcDoc</code>) of the first 
	replacement page. 
	@param srcToPage The page number (in <code>srcDoc</code>) of the last 
	replacement page. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDDocDidReplacePages 
	@notify PDDocWillChangePages 
	@see PDDocReplacePages 
*/
POKE(PDDocWillReplacePages, \
	(PDDoc doc, ASInt32 fromPage, ASInt32 toPage, PDDoc srcDoc, ASInt32 srcFromPage, ASInt32 srcToPage), \
	(PDDoc doc, ASInt32 fromPage, ASInt32 toPage, PDDoc srcDoc, ASInt32 srcFromPage, ASInt32 srcToPage, void *clientData), \
	(doc, fromPage, toPage, srcDoc, srcFromPage, srcToPage, cell->clientData))

/**
	One or more pages have been replaced. 
	@param doc The document in which pages have been replaced. 
	
	@param fromPage The page number (in <code>doc</code>) of the first 
	page that was replaced. 
	@param toPage The page number (in <code>doc</code>) of the last page 
	that was replaced. 
	@param srcDoc The document that provided the replacement 
	pages. 
	@param srcFromPage The page number (in <code>srcDoc</code>) of the first 
	replacement page. 
	@param srcToPage The page number (in <code>srcDoc</code>) of the last 
	replacement page. 
	@param error The error code. <code>error</code> is set to <code>0</code> if no errors 
	occurred while replacing pages. If an error occurred, <code>error</code> 
	contains the error code. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDDocWillReplacePages 
	@notify PDDocDidChangePages 
	@see PDDocReplacePages 
*/
POKE(PDDocDidReplacePages, \
	(PDDoc doc, ASInt32 fromPage, ASInt32 toPage, PDDoc srcDoc, ASInt32 srcFromPage, ASInt32 srcToPage, ASInt32 error), \
	(PDDoc doc, ASInt32 fromPage, ASInt32 toPage, PDDoc srcDoc, ASInt32 srcFromPage, ASInt32 srcToPage, ASInt32 error, void *clientData), \
	(doc, fromPage, toPage, srcDoc, srcFromPage, srcToPage, error, cell->clientData))


/**
	One or more pages will be moved. 
	@param doc The document in which pages will be moved. 
	
	@param moveAfterThisPage The page number after which the 
	moved pages will be placed. 
	@param fromPage The page number of the first page to move. 
	
	@param toPage The page number of the last page to move. 
	
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDDocDidMovePages 
	@notify PDDocWillChangePages 
	@see PDDocMovePage 
*/
POKE(PDDocWillMovePages, \
	(PDDoc doc, ASInt32 moveAfterThisPage, ASInt32 fromPage, ASInt32 toPage), \
	(PDDoc doc, ASInt32 moveAfterThisPage, ASInt32 fromPage, ASInt32 toPage, void *clientData), \
	(doc, moveAfterThisPage, fromPage, toPage, cell->clientData))

/**
	One or more pages were moved. 
	@param doc The document in which pages were moved. 
	@param moveAfterThisPage The page number after which the 
	moved pages were placed. 
	@param fromPage The page number of the first page that 
	was moved. 
	@param toPage The page number of the last page that was 
	moved. 
	@param error The error code. <code>error</code> is set to <code>0</code> if no errors 
	occurred while moving pages. If an error occurred, <code>error</code> 
	contains the error code. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDDocWillMovePages 
	@notify PDDocDidChangePages 
	@see PDDocMovePage 
*/
POKE(PDDocDidMovePages, \
	(PDDoc doc, ASInt32 moveAfterThisPage, ASInt32 fromPage, ASInt32 toPage, ASInt32 error), \
	(PDDoc doc, ASInt32 moveAfterThisPage, ASInt32 fromPage, ASInt32 toPage, ASInt32 error, void *clientData), \
	(doc, moveAfterThisPage, fromPage, toPage, error, cell->clientData))

/**
	One or more pages will be deleted. 
	@param doc The document from which pages will be deleted. 
	
	@param fromPage The page number of the first page that 
	will be deleted. 
	@param toPage The page number of the last page that will 
	be deleted. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDDocDidDeletePages 
	@notify PDDocDidChangePages 
	@see PDDocDeletePages 
*/
POKE(PDDocWillDeletePages, (PDDoc doc, ASInt32 fromPage, ASInt32 toPage), (PDDoc doc, ASInt32 fromPage, ASInt32 toPage, void *clientData), (doc, fromPage, toPage, cell->clientData))

/**
	One or more pages were deleted. 
	@param doc The document from which pages were deleted. 
	
	@param fromPage The page number of the first page that 
	was deleted. 
	@param toPage The page number of the last page that was 
	deleted. 
	@param error The error code. <code>error</code> is set to <code>0</code> if no errors 
	occurred while deleting the pages. If an error occurred, 
	<code>error</code> contains the error code. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDDocWillDeletePages 
	@notify PDDocDidChangePages 
	@see PDDocDeletePages 
*/
POKE(PDDocDidDeletePages, (PDDoc doc, ASInt32 fromPage, ASInt32 toPage, ASInt32 error), (PDDoc doc, ASInt32 fromPage, ASInt32 toPage, ASInt32 error, void *clientData), (doc, fromPage, toPage, error, cell->clientData))

/**
	Pages will be inserted, deleted, moved, or modified. 
	@param doc The document in which pages will be changed. 
	
	@param op The change that will be made. <code>op</code> will be one 
	of the PDOperation values. 
	@param fromPage The page number of the first page that 
	will be modified. 
	@param toPage The page number of the last page that will 
	be modified. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDDocDidChangePages 
	@see PDDocDeletePages 
	@see PDPageSetRotate 
	@see PDPageSetMediaBox 
	@see PDPageSetCropBox 
*/
POKE(PDDocWillChangePages, (PDDoc doc, PDOperation op, ASInt32 fromPage, ASInt32 toPage), (PDDoc doc, PDOperation op, ASInt32 fromPage, ASInt32 toPage, void *clientData), (doc, op, fromPage, toPage, cell->clientData))

/**
	Pages have been inserted, deleted, moved, or modified. 
	@param doc The document in which pages have been changed. 
	
	@param op The change that was made. <code>op</code> will be one of 
	the PDOperation values. 
	@param fromPage The page number of the first page that 
	was modified. For page insertion, this is the number of 
	the page before the first inserted page. For page deletion, 
	this is the page number of the first deleted page. 
	@param toPage The page number of the last page that was 
	modified. If broadcast by <code>PDDocCreatePage()</code>, this is the number 
	of the newly created page. When broadcast by <code>PDDocInsertPages()</code>, 
	<code>toPage</code> is the number of pages in the document post-insertion; 
	that is, it points to a page not in the document. If broadcast 
	by <code>PDDocDeletePages()</code>, <code>toPage</code> is the number of pages in the 
	PDDoc prior to deletion, pointing to a page not in the document. 
	
	@param error The error code. <code>error</code> is set to <code>0</code> if no errors 
	occurred while changing the pages. If an error occurred, 
	<code>error</code> contains the error code. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDDocWillChangePages 
	@see PDDocCreatePage 
	@see PDDocInsertPages 
	@see PDDocReplacePages 
	@see PDDocMovePage 
	@see PDPageAddCosResource 
	@see PDPageRemoveCosResource 
	@see PDPageAddCosContents 
	@see PDPageRemoveCosContents 
	@see PDDocDeletePages 
	@see PDPageSetRotate 
	@see PDPageSetMediaBox 
	@see PDPageSetCropBox
*/
POKE(PDDocDidChangePages, (PDDoc doc, PDOperation op, ASInt32 fromPage, ASInt32 toPage, ASInt32 error), (PDDoc doc, PDOperation op, ASInt32 fromPage, ASInt32 toPage, ASInt32 error, void *clientData), (doc, op, fromPage, toPage, error, cell->clientData))

/**
	Thumbnail images have been added or removed. In addition 
	to the expected ways in which this can occur, it can also 
	occur if pages are inserted into a file. 
	@param doc The document in which thumbnail images have 
	been changed. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDDocDidChangePages 
	@notify PDDocDidDeletePages 
	@notify PDDocDidInsertPages 
	@notify PDDocDidReplacePages 
	@notify PDDocWillChangePages 
	@notify PDDocWillDeletePages 
	@notify PDDocWillInsertPages 
	@notify PDDocWillReplacePages 
	@see PDDocCreatePage 
	@see PDDocCreateThumbs 
	@see PDDocDeleteThumbs 
	@see PDDocInsertPages 
*/
POKE(PDDocDidChangeThumbs, (PDDoc doc), (PDDoc doc, void *clientData), (doc, cell->clientData))

/**
	This notification is broadcast when printing begins, before 
	any pages are printed. 
	@param doc The document from which pages will be printed. 
	
	@param fromPage The page number of the first page that 
	will be printed. 
	@param toPage The page number of the last page that will 
	be printed. 
	@param psLevel When printing to a PostScript printer, 
	<code>psLevel</code> is either <code>1</code> or <code>2</code>, representing the PostScript level 
	available on the printer. When printing to a non-PostScript 
	printer, <code>psLevel</code> is <code>0</code>. <code>psLevel</code> is useful in determining 
	whether the output device is a PostScript printer. In addition, 
	when printing to a PostScript printer, <code>psLevel</code> is useful 
	to determine the operators that can be sent in any printing 
	code downloaded using the <code>PDDocWillPrintDoc()</code>, <code>PDDocWillPrintPage()</code>, 
	and <code>PDDocDidPrintPage()</code> notifications. 
	@param binaryOK Valid only when printing to a PostScript 
	printer. It indicates whether binary data can be sent. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDDocWillPrintDoc 
	@notify PDDocWillPrintPage 
	@notify PDDocDidPrintPages 
	@see AVDocPrintPages 
	@see AVDocPrintPagesWithParams 

	@note Page resources and contents cannot be modified reliably 
	at the time this notification is broadcast. 
*/
POKE(PDDocWillPrintPages, (PDDoc doc, ASInt32 fromPage, ASInt32 toPage, ASInt32 psLevel, ASBool binaryOK),
	(PDDoc doc, ASInt32 fromPage, ASInt32 toPage, ASInt32 psLevel, ASBool binaryOK, void *clientData),
	(doc, fromPage, toPage, psLevel, binaryOK, cell->clientData))

/**
	This notification is broadcast after printing ends. 
	@param doc The document from which pages were printed. 
	
	@param fromPage The page number of the first page that 
	was printed. 
	@param toPage The page number of the last page that was 
	printed. 
	@param error The error code. <code>error</code> is set to <code>0</code> if no errors 
	occurred while printing the pages. If an error occurred, 
	<code>error</code> contains the error code. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDDocWillPrintPages 
	@notify PDDocDidPrintPage 
	@see AVDocPrintPages 
	@see AVDocPrintPagesWithParams 
*/
POKE(PDDocDidPrintPages, (PDDoc doc, ASInt32 fromPage, ASInt32 toPage, ASInt32 error), (PDDoc doc, ASInt32 fromPage, ASInt32 toPage, ASInt32 error, void *clientData), (doc, fromPage, toPage, error, cell->clientData))

/**
	This notification is broadcast once per page that is printed, 
	before any marks are made on the page. When printing to 
	a PostScript printer, printing commands can also be sent 
	that will be placed on the page before any other marks. 
	@param doc The document from which a page is about to 
	be printed. 
	@param page The page number of the page that is about 
	to be printed. 
	@param stm The PostScript print stream used when printing to 
	a PostScript printer, or <code>NULL</code> when printing to a non-PostScript 
	printer. When printing to a PostScript printer, clients 
	can write printing commands into <code>stm</code> with <code>ASStmWrite()</code> to 
	add marks to the printed page before any other marks have 
	been made. In the 2.x Acrobat viewers, the page printing 
	sequence to a PostScript printer is:
	
	<p><code>page setup (including setpagedevice) ... save
	... gsave ... save ... begin ... begin ... begin
	... PDDocWillPrintPage() ... page contents ...
	PDDocDidPrintPage() ... end ... end ... end ... restore ...
	restore ... showpage</code></p>
	
	<p>This sequence must not be relied upon, 
	and depends on the printer driver in use. However, by the 
	time the <code>PDDocWillPrintPage()</code> notification is broadcast, it 
	is too late to perform any <code>setpagedevice</code> operations. </p>

	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDDocDidPrintPage 
	@notify PDDocWillPrintPages 
	@see AVDocPrintPages 
	@see AVDocPrintPagesWithParams 
	
	@note Page resources and contents cannot be modified reliably 
	at the time this notification is broadcast. 
*/
POKE(PDDocWillPrintPage, (PDDoc doc, ASInt32 page, ASStm stm), (PDDoc doc, ASInt32 page, ASStm stm, void *clientData), (doc, page, stm, cell->clientData))

/**
	This notification is broadcast once per page that is printed, 
	after all marks have been made on the page. When printing 
	to a PostScript printer, printing commands can also be sent 
	that will be placed on the page after all other marks. 
	@param doc The document from which a page was printed. 
	
	@param page The page number of the page that was printed. 
	
	@param stm The PostScript print stream used when printing to 
	a PostScript printer, and <code>NULL</code> when printing to a non-PostScript 
	printer. When printing to a PostScript printer, clients 
	can write printing commands into <code>stm</code> (using <code>ASStmWrite()</code>) 
	to add marks to the printed page after all other marks have 
	been made. See PDDocWillPrintPage() for a description of the 
	sequence of operations when printing a page to a PostScript 
	printer. 
	@param error The error code. <code>error</code> is set to <code>0</code> if no errors 
	occurred while printing the page. If an error occurred, 
	<code>error</code> contains the error code. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDDocWillPrintPage 
	@notify PDDocDidPrintPages 
	@see AVDocPrintPages 
	@see AVDocPrintPagesWithParams 
*/
POKE(PDDocDidPrintPage, (PDDoc doc, ASInt32 page, ASStm stm, ASInt32 error), (PDDoc doc, ASInt32 page, ASStm stm, ASInt32 error, void *clientData), (doc, page, stm, error, cell->clientData))

/**
	A thread has been added to a document. 
	@param doc The document to which a thread was added. 
	@param thread The thread that was added. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDThreadDidChange 
	@see PDDocAddThread 
	@see PDDocInsertPages 
*/
POKE(PDDocDidAddThread, (PDDoc doc, PDThread thread), (PDDoc doc, PDThread thread, void* clientData), (doc, thread, cell->clientData))

/**
	A thread was removed from a document. 
	@param doc The document from which a thread was removed. 
	
	@param index The index of the thread that was removed. 
	Because the thread has already been removed, it is not possible 
	to access it using <code>index</code>. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDDocWillRemoveThread 
	@see PDDocRemoveThread 
*/
POKE(PDDocDidRemoveThread, (PDDoc doc, ASInt32 index), (PDDoc doc, ASInt32 index, void* clientData), (doc, index, cell->clientData))

/**
	<p>A document will be saved. </p>

	<p>The <code> PDDocWillSave()</code> notification takes place just before the 
	save operation begins. At the time of a <code>WillSave()</code> notification, 
	the current <code> PDDoc</code>  is valid. </p>

	<p>See <code>PDDocWillSaveEx()</code> for important information on releasing 
	objects derived from the <code>PDDoc</code> before it is saved, and <code>PDDocDidSave()</code> 
	for information on reacquiring objects from the <code>PDDoc</code> after 
	it has been saved. </p>

	@param doc The document that will be saved. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDDocDidSave 
	@notify PDDocWillSaveEx 
	@see PDDocSave 
	@see PDDocSaveWithParams 
*/
POKE(PDDocWillSave, (PDDoc doc), (PDDoc doc, void* clientData), (doc, cell->clientData))

/**
	<p>A document has been saved. </p>

	<p>The <code>PDDocDidSave()</code> notification takes place just after the 
	save operation finishes. At the time of a <code>DidSave()</code> notification, 
	a client or application can reacquire resources from the 
	<code>PDDoc</code> if needed. It should examine the error code <code>err</code> associated 
	with the save. If the save was not successful, the error 
	code is non-zero. In the case of a unsuccessful save, a 
	client or application should not attempt to do anything 
	further with this <code>PDDoc</code>. </p>

	<p>See <code>PDDocWillSaveEx()</code> for important information on releasing 
	objects derived from the <code>PDDoc</code> before it is saved.</p>

	@param doc The document that was saved. 
	@param err The error code. <code>err</code> is set to <code>0</code> if no errors 
	occurred while saving the file. If an error occurred, <code>err</code> 
	contains the error code. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDDocWillSave 
	@notify PDDocWillSaveEx 
	@see CosObjRefreshAfterLinearizedSave 
	@see PDDocSave 
*/
POKE(PDDocDidSave, (PDDoc doc, ASInt32 err), (PDDoc doc, ASInt32 err, void* clientData), (doc, err, cell->clientData))


/**
	The contents of a page have changed and the page will be 
	redrawn. 
	@param page The page whose contents changed. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDPageContentsDidChangeEx 
	@see PDPageNotifyContentsDidChange 
	@see PDPageNotifyContentsDidChangeEx 
*/
POKE(PDPageContentsDidChange, (PDPage page),(PDPage page, void *clientData), (page, cell->clientData))

/**
	An annotation will be added to a page. 
	@param page The page to which the annotation will be added. 
	
	@param addAfter The index in the page's annotation array 
	after which the annotation will be added. 
	@param annot The annotation that will be added. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDPageDidAddAnnot 
	@see PDPageAddAnnot 
	@see PDPageAddNewAnnot 
*/
POKE(PDPageWillAddAnnot, (PDPage page, ASInt32 addAfter, PDAnnot annot), (PDPage page, ASInt32 addAfter, PDAnnot annot, void *clientData), (page, addAfter, annot, cell->clientData))

/**
	An annotation was added to a page. 
	@param page The page to which the annotation was added. 
	
	@param annot The annotation that was added. 
	@param error The error code. <code>error</code> is set to <code>0</code> if no errors 
	occurred while adding the annotation. If an error occurred, 
	<code>error</code> contains the error code. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDPageWillAddAnnot 
	@see PDPageAddAnnot 
	@see PDPageAddNewAnnot 
*/
POKE(PDPageDidAddAnnot, (PDPage page, PDAnnot annot, ASInt32 error), (PDPage page, PDAnnot annot, ASInt32 error, void *clientData), (page, annot, error, cell->clientData))

/**
	An annotation will be removed from a page. 
	@param page The page from which an annotation will be 
	removed. 
	@param annotIndex The index (in the page's annotation 
	array) of the annotation that will be removed. Use PDPageGetAnnot() 
	to obtain the annotation from its index. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDPageDidRemoveAnnot 
	@see PDPageRemoveAnnot 
*/
POKE(PDPageWillRemoveAnnot, (PDPage page, ASInt32 annotIndex), (PDPage page, ASInt32 annotIndex, void *clientData), (page, annotIndex, cell->clientData))

/**
	<p>Superseded by <code>PDPageDidRemoveAnnotEx()</code> in Acrobat 6.0. </p>

	<p>An annotation has been removed from a page. </p>
	
	@param page The page from which an annotation was removed. 
	
	@param annotIndex The index (in the page's annotation 
	array) of the annotation that was removed. Because the annotation 
	has already been removed from the array, it is not possible 
	to access the annotation using <code>annotIndex</code>. 
	@param error The error code. <code>error</code> is set to <code>0</code> if no errors 
	occurred while removing the annotation. If an error occurred, 
	<code>error</code> contains the error code. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDPageWillRemoveAnnot 
	@see PDPageRemoveAnnot 

*/
POKE(PDPageDidRemoveAnnot, (PDPage page, ASInt32 annotIndex, ASInt32 error), (PDPage page, ASInt32 annotIndex, ASInt32 error, void *clientData), (page, annotIndex, error, cell->clientData))


/**
	An annotation was created. 
	@param annot The annotation that was created. 
	@param page The page to which the annotation was added. 
	
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDAnnotDidChange 
	@notify PDAnnotWillChange 
	@see PDPageCreateAnnot 
	@see PDPageAddNewAnnot 
*/
POKE(PDAnnotWasCreated, (PDAnnot annot, PDPage page), (PDAnnot annot, PDPage page, void *clientData), (annot, page, cell->clientData))

/**
	An annotation will change in the specified way. 
	@param annot The annotation that will change. 
	@param key The <code>ASAtom</code> specifying how the annotation will 
	change. The <code>ASAtom</code> corresponding to the key that changed 
	in the annotation's Cos dictionary. See Section 8.4 on annotations 
	in the <i>PDF Reference</i> for information on the keys. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDAnnotDidChange 
	@see PDAnnotNotifyWillChange 
	@see PDAnnotSetRect 
	@see PDTextAnnotSetOpen 
	@see PDAnnotSetColor 
	@see PDAnnotSetTitle 
	@see PDAnnotSetDate 
	@see PDAnnotSetFlags 
	@see PDTextAnnotSetContents 
	@see PDLinkAnnotSetBorder 
	@see PDLinkAnnotSetAction 
	@see AVPageViewSetAnnotLocation 
*/
POKE(PDAnnotWillChange, (PDAnnot annot, ASAtom key), (PDAnnot annot, ASAtom key, void* clientData), (annot, key, cell->clientData))

/**
	An annotation changed in the specified way. 
	@param annot The annotation that changed. 
	@param key The <code>ASAtom</code> specifying how the annotation changed. 
	The <code>ASAtom</code> corresponding to the key that changed in the 
	annotation's Cos dictionary. See Section 8.4 on annotations 
	in the <i>PDF Reference</i> for information on the keys. 
	@param error The error code. <code>error</code> is set to <code>0</code> if no errors 
	occurred while changing the annotation. If an error occurred, 
	<code>error</code> contains the error code. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDAnnotWillChange 
	@see PDAnnotNotifyDidChange 
	@see PDAnnotSetRect 
	@see PDTextAnnotSetOpen 
	@see PDAnnotSetColor 
	@see PDAnnotSetTitle 
	@see PDAnnotSetDate 
	@see PDAnnotSetFlags 
	@see PDTextAnnotSetContents 
	@see PDLinkAnnotSetBorder 
	@see PDLinkAnnotSetAction 
	@see AVPageViewSetAnnotLocation 
*/
POKE(PDAnnotDidChange, (PDAnnot annot, ASAtom key, ASInt32 error), (PDAnnot annot, ASAtom key, ASInt32 error, void* clientData), (annot, key, error, cell->clientData))


/**
	A thread was changed. 
	@param thread The thread that changed. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDDocDidAddThread 
	@see PDThreadSetInfo 
*/
POKE(PDThreadDidChange, (PDThread thread), (PDThread thread, void* clientData), (thread, cell->clientData))


/**
	A bookmark was created. 
	@param bookmark The bookmark that was created. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDBookmarkDidDestroy 
	@notify PDBookmarkWillDestroy 
	@see PDBookmarkAddNewChild 
	@see PDBookmarkAddNewSibling 
*/
POKE(PDBookmarkWasCreated, (PDBookmark bookmark), (PDBookmark bookmark, void *clientData), (bookmark, cell->clientData))

/**
	One or more bookmarks have been moved. 
	@param bookmark The bookmark that was moved. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDBookmarkWillChange 
	@notify PDBookmarkDidChange 
	@see PDBookmarkAddNext 
	@see PDBookmarkAddPrev 
	@see PDBookmarkAddNewChild 
	@see PDBookmarkAddNewSibling 
	@see PDBookmarkAddChild 
	@see PDBookmarkAddSubtree 
*/
POKE(PDBookmarkDidChangePosition, (PDBookmark bookmark), (PDBookmark bookmark, void* clientData), (bookmark, cell->clientData))

/**
	A bookmark will be opened or closed, its action will be changed, 
	its title will be changed, or children will be added to 
	it. 
	@param bookmark The bookmark that will be changed. 
	@param key The <code>ASAtom</code> specifying the change that will 
	occur. <code>key</code> will be an <code>ASAtom</code> corresponding to one of the 
	following:

	<TABLE rules="all" cellspacing="1">
	<TR><TH><code>key</code></TH><TH>Description</TH></TR>
	<TR><TD><code>Count</code></TD><TD>Children will be added, or the bookmark will be opened or closed.</TD></TR>
	<TR><TD><code>A</code></TD><TD>The action will be changed.</TD></TR>
	<TR><TD><code>Title</code></TD><TD>The title will be changed.</TD></TR>
	<TR><TD><code>C</code></TD><TD>The color will be changed (PDF 1.4).</TD></TR>
	<TR><TD><code>F</code></TD><TD>The flags will be changed (PDF 1.4).</TD></TR>
	</TABLE>

	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDBookmarkDidChange 
	@notify PDBookmarkDidChangePosition 
	@see PDBookmarkSetOpen 
	@see PDBookmarkSetAction 
	@see PDBookmarkSetTitle 
	@see PDBookmarkAddSubtree 
*/
POKE(PDBookmarkWillChange, (PDBookmark bookmark, ASAtom key), (PDBookmark bookmark, ASAtom key, void* clientData), (bookmark, key, cell->clientData))

/**
	A bookmark has been opened/closed, its action has been changed, 
	its title has been changed, or children have been added 
	to it. 
	@param bookmark The bookmark that will be changed. 
	@param key The <code>ASAtom</code> specifying the change that will 
	occur. See <code>PDBookmarkWillChange()</code> for a list of the <code>ASAtom</code> objects 
	and their meaning. 
	@param err The error code. <code>err</code> is set to <code>0</code> if no errors 
	occurred while changing the bookmark. If an error occurred, 
	<code>err</code> contains the error code. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDBookmarkWillChange 
	@notify PDBookmarkDidChangePosition 
	@see PDBookmarkSetOpen 
	@see PDBookmarkSetAction 
	@see PDBookmarkSetTitle 
	@see PDBookmarkAddSubtree 
*/
POKE(PDBookmarkDidChange, (PDBookmark bookmark, ASAtom key, ASInt32 err), (PDBookmark bookmark, ASAtom key, ASInt32 err, void* clientData), (bookmark, key, err, cell->clientData))

/**
	A bookmark will be destroyed. 
	@param bookmark The bookmark that will be destroyed. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDBookmarkDidDestroy 
	@see PDBookmarkDestroy 
*/
POKE(PDBookmarkWillDestroy, (PDBookmark bookmark), (PDBookmark bookmark, void* clientData), (bookmark, cell->clientData))

/**
	A bookmark was destroyed. 
	@param bookmark The bookmark that was destroyed. Because 
	the bookmark has been destroyed, it is not possible to access 
	it. 
	@param err The error code. <code>err</code> is set to <code>0</code> if no errors 
	occurred while destroying the bookmark. If an error occurred, 
	<code>err</code> contains the error code. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDBookmarkWillDestroy PDBookmarkDestroy 
*/
POKE(PDBookmarkDidDestroy, (PDBookmark bookmark, ASInt32 err), (PDBookmark bookmark, ASInt32 err, void* clientData), (bookmark, err, cell->clientData))

/* added 9/30/94 */


/**
	A thread will be removed from a document. 
	@param doc The document from which a thread will be removed. 
	
	@param index The index of the thread that will be removed. 
	Use PDDocGetThread() to obtain the thread from its index. 
	
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDDocDidRemoveThread 
	@see PDDocRemoveThread 
*/
POKE(PDDocWillRemoveThread, (PDDoc doc, ASInt32 index), (PDDoc doc, ASInt32 index, void* clientData), (doc, index, cell->clientData))

/* Acrobat 2.1 additions */

/**
	The contents of a page changed. Unlike <code>PDPageContentsDidChange()</code>, 
	this notification specifies whether the page is redrawn 
	immediately. 
	@param page The page whose contents changed. 
	@param invalidateViews If <code>true</code>, the page is redrawn immediately. 
	If <code>false</code>, redrawing is suppressed. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDPageContentsDidChange 
	@see PDPageNotifyContentsDidChange 
	@see PDPageNotifyContentsDidChangeEx 
*/
POKE(PDPageContentsDidChangeEx, (PDPage page, ASBool invalidateViews),(PDPage page, ASBool invalidateViews, void *clientData), (page, invalidateViews, cell->clientData))

/* Acrobat 3.0 additions */

/**
	An <code>AVDoc</code> will be opened from a PDF file. 
	@param pdDoc The PDDoc for the file that will be opened. 
	
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify AVDocDidOpen 
	@see AVDocOpenFromPDDoc 
	@see AVDocOpenFromPDDocWithParams 
*/
POKE(AVDocWillOpenFromPDDoc, (PDDoc pdDoc), (PDDoc pdDoc, void* clientData), (pdDoc, cell->clientData))

/**
	The document's selection has been added to or had something 
	removed. 
	@param doc The document containing the selection. 
	@param selType The <code>ASAtom</code> corresponding to the current 
	selection type. See <code>AVDocSetSelection()</code> for a list of selection 
	types. 
	@param selData A pointer to the current selection data after 
	the selection has been added. The format and contents of 
	selData depend on <code>selType</code>. 
	@param addData A pointer to the added selection data. The 
	format and contents of <code>addData</code> depend on <code>selType</code>. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify AVDocDidClearSelection 
	@notify AVDocDidSetSelection 
	@notify AVDocDidRemoveFromSelection 
	@notify AVDocWillClearSelection 
	@see AVDocClearSelection 
	@see AVDocDeleteSelection 
	@see AVDocSetSelection 
*/
POKE(AVDocDidAddToSelection, (AVDoc doc, ASAtom selType, void* selData, void* addData), (AVDoc doc, ASAtom selType, void* selData, void* addData, void *clientData), (doc, selType, selData, addData, cell->clientData))

/**
	The document's selection has had something removed. 
	@param doc The document whose selection was removed. 
	@param selType The <code>ASAtom</code> corresponding to the current 
	selection type. See <code>AVDocSetSelection()</code> for a list of selection 
	types. 
	@param selData A pointer to the current selection data after 
	the selection has been deleted. The format and contents 
	of <code>selData</code> depend on <code>selType</code>.. 
	@param remData The item removed from the selection. The 
	format and contents of <code>remData</code> depend on <code>selType</code>. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify AVDocDidSetSelection 
	@notify AVDocDidAddToSelection 
	@notify AVDocDidClearSelection 
	@notify AVDocWillClearSelection 
	@see AVDocClearSelection 
	@see AVDocDeleteSelection 
	@see AVDocSetSelection 
*/
POKE(AVDocDidRemoveFromSelection, (AVDoc doc, ASAtom selType, void* selData, void* remData), (AVDoc doc, ASAtom selType, void* selData, void* remData, void *clientData), (doc, selType, selData, remData, cell->clientData))


/**
	An <code>AVDoc</code> object's file stream has been terminated by The <code>AVDoc</code>SetDead() 
	method. 
	@param doc The <code>AVDoc</code> whose file stream has been terminated. 
	
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify AVDocDidClose AVDocSetDead 
*/
POKE(AVDocWantsToDie, (AVDoc doc), (AVDoc doc, void* clientData), (doc, cell->clientData))

/**
	This notification is broadcast before a document is printed, 
	and before any marks are made on the first page. When printing 
	to a PostScript printer, printing commands can also be sent 
	that are placed on the page before any other marks. For 
	example, a <code>setpagedevice</code> operator could be placed in the 
	print stream. 
	@param doc The document that is about to be printed. 
	@param stm The PostScript print stream used when printing to 
	a PostScript printer, and <code>NULL</code> when printing to a non-PostScript 
	printer. When printing to a PostScript printer, clients 
	can write printing commands into <code>stm</code> (using <code>ASStmWrite()</code>) 
	to add marks to pages before any other marks have been made. 
	In the 2.x Acrobat viewers, the page printing sequence to 
	a PostScript printer is:
	<p><code>page setup (including setpagedevice) ... save ...
	gsave ... save ... begin ... begin ... begin ... PDDocWillPrintPage() ... page
	contents ... PDDocDidPrintPage() ... end ... end ... end ... restore ... restore ...
	showpage.</code></p>

	<p>This sequence must not be relied upon, and it is 
	to some extent dependent on the printer driver in use. Nevertheless, 
	it is <code>true</code> that by the time the PDDocWillPrintPage() notification 
	is broadcast, it is too late to perform any <code>setpagedevice</code> 
	operations. </p>

	@param psLevel When printing to a PostScript printer, 
	<code>psLevel</code> is either <code>1</code> or <code>2</code>, representing the PostScript level 
	available on the printer. When printing to a non-PostScript 
	printer, <code>psLevel</code> is <code>0</code>. <code>psLevel</code> is useful in determining 
	whether the output device is a PostScript printer. In addition, 
	when printing to a PostScript printer, <code>psLevel</code> is useful 
	to determine the operators that can be sent in any printing 
	code downloaded using the <code>PDDocWillPrintDoc()</code>, <code>PDDocWillPrintPage()</code>, 
	and <code>PDDocDidPrintPage()</code> notifications. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDDocDidPrintPage 
	@notify PDDocWillPrintPages 
	@see AVDocPrintPages 
	@see AVDocPrintPagesWithParams

	@note Page resources and contents cannot be modified reliably 
	at the time this notification is broadcast. 
*/
POKE(PDDocWillPrintDoc, (PDDoc doc, ASStm stm, ASInt32 psLevel), (PDDoc doc, ASStm stm, ASInt32 psLevel, void *clientData), (doc, stm, psLevel, cell->clientData))


/**
	<p>A document will be saved. </p>

	<p>The <code>PDDocWillSaveEx()</code> notification takes place just before 
	the save operation begins. At the time of a <code>PDDoc</code> <code>WillSaveEx()</code> 
	notification, the current <code>PDDoc</code> is valid. </p>

	<p>At this time, clients should inspect the save flags field 
	<code>saveFlags</code> in <code>params</code>. In the case of a full save, they should 
	release any objects that they have acquired from the <code>PDDoc</code> 
	with methods, such as <code>PDPageRelease()</code>. During this notification, 
	plug-in's should also forget any PD-level or Cos-level objects 
	that had been derived from the <code>PDDoc</code>; these will not be 
	valid after the save. </p>

	<p>See <code>PDDocDidSave()</code> for information on reacquiring objects 
	from the <code>PDDoc</code> after it has been saved. </p>

	@param doc The document that will be saved. 
	@param params The <code>PDDocSaveParams()</code> parameters used when 
	saving a file using <code>PDDocSaveWithParams()</code>. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDDocDidSave 
	@notify PDDocWillSave 
	@see PDDocSave 
	@see PDDocSaveWithParams 
*/
POKE(PDDocWillSaveEx, (PDDoc doc, PDDocSaveParams params), (PDDoc doc, PDDocSaveParams params, void* clientData), (doc, params, cell->clientData))

/* Acrobat 3.1 additions */

/**
	This notification is broadcast before a document is printed,
	before any marks are made on the first page.
	@param doc IN/OUT The document that is about to be printed.
	@param clientData IN/OUT A pointer to a block of user-supplied data
	that was passed in by the calling application when this
	notification was registered for using <code>AVAppRegisterNotification()</code>.

	@notify AVDocDidPrint
	@see AVDocPrintPages
	@see AVDocPrintPagesWithParams

*/
POKE(AVDocWillPrint, (AVDoc doc), (AVDoc doc, void* clientData), (doc, cell->clientData))

/**
	This notification is broadcast after printing ends.
	@param doc IN/OUT The document that was printed.
	@param clientData IN/OUT A pointer to a block of user-supplied data
	that was passed in by the calling application when this
	notification was registered for using <code>AVAppRegisterNotification()</code>.

	@notify AVDocWillPrint
	@see AVDocPrintPages
	@see AVDocPrintPagesWithParams

*/
POKE(AVDocDidPrint, (AVDoc doc), (AVDoc doc, void* clientData), (doc, cell->clientData))

/* Acrobat 4.0 additions */

/**
	A <code>PDDoc</code> will be closed. A <code>PDDoc</code> is closed only if its reference 
	count is zero. 

	<p>Neither this notification, <code>PDDocDidClose()</code>, <code>AVDocWillClose()</code>, 
	nor <code>AVDocDidClose()</code> are broadcast if the user selects <i>Cancel</i> 
	when prompted to save a modified document as it is closed. </p>
	
	@param doc The document to close. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed in by the calling application when 
	this notification was registered for using <code>AVAppRegisterNotification()</code>.
	@notify PDDocDidClose 
	@see AVDocClose 
	@see PDDocClose 
*/
POKE(PDDocWillClose, (PDDoc doc),(PDDoc doc, void *clientData), (doc, cell->clientData))

/**
	A range of pages' labels changed in a <code>PDDoc</code>.
	@param doc IN/OUT The document containing the pages whose labels
	changed.
	@param firstPage IN/OUT The number of the first page whose label
	changed.
	@param lastPage IN/OUT The number of the last page whose label
	changed.
	@param clientData IN/OUT A pointer to a block of user-supplied data
	that was passed in by the calling application when this
	notification was registered for using <code>AVAppRegisterNotification()</code>.

	@see PDDocSetPageLabel

*/
POKE(PDDocPageLabelDidChange, (PDDoc doc, ASInt32 firstPage, ASInt32 lastPage),(PDDoc doc, ASInt32 firstPage, ASInt32 lastPage, void *clientData),(doc, firstPage, lastPage, cell->clientData))


/**
	The annotations of a document will be exported.
	@param doc IN/OUT The document whose annotations will be exported.

	@param clientData IN/OUT A pointer to a block of user-supplied data
	that was passed in by the calling application when this
	notification was registered for using <code>AVAppRegisterNotification()</code>.

	@notify PDDocDidExportAnnots
	@notify PDDocDidImportAnnots
	@notify PDDocWillImportAnnots
	@see PDDocExportNotes

*/
POKE(PDDocWillExportAnnots, (PDDoc doc), (PDDoc doc, void* clientData), (doc, cell->clientData))

/**
	The annotations from one document will be imported into
	another document.
	@param doc IN/OUT The document into which annotations will be
	imported.
	@param clientData IN/OUT A pointer to a block of user-supplied data
	that was passed in by the calling application when this
	notification was registered for using <code>AVAppRegisterNotification()</code>.

	@notify PDDocDidExportAnnots
	@notify PDDocDidImportAnnots
	@notify PDDocWillImportAnnots
	@see PDDocImportCosDocNotes
	@see PDDocImportNotes

*/
POKE(PDDocWillImportAnnots, (PDDoc doc), (PDDoc doc, void* clientData), (doc, cell->clientData))

/**
	The annotations of a document were exported.
	@param doc IN/OUT The document whose annotations were exported.

	@param clientData IN/OUT A pointer to a block of user-supplied data
	that was passed in by the calling application when this
	notification was registered for using <code>AVAppRegisterNotification()</code>.

	@notify PDDocDidImportAnnots
	@notify PDDocWillExportAnnots
	@notify PDDocWillImportAnnots
	@see PDDocExportNotes

*/
POKE(PDDocDidExportAnnots, (PDDoc doc), (PDDoc doc, void* clientData), (doc, cell->clientData))

/* PS print additions */

/**
	<p>This notification is broadcast after the beginning of the
	PostScript Prolog (immediately after writing <code>%% BeginPrologue</code>)
	during the printing of a document to a PostScript printer
	with the methods <code>PDFLPrintDoc()</code> (only available with PDF Library
	SDK) or <code>PDDocPrintPages()</code> (only available with PDF Library
	SDK). The Prolog is a set of application-specific procedure
	definitions that an application may emit in a PostScript
	stream.</p>

	<p>At this point nothing should be added to the PostScript
	print stream that modifies the graphics state or puts marks
	on the page. Callers should only emit procset resources.</p>

	@param doc IN/OUT The document that is being printed.
	@param stm IN/OUT The PostScript print stream. PostScript commands
	can be added to the print stream using <code>ASStmWrite()</code>.
	@param clientData IN/OUT A pointer to a block of user-supplied data
	that was passed in by the calling application when this
	notification was registered for using <code>AVAppRegisterNotification()</code>.

	@notify PSPrintAfterBeginSetup
	@see PDDocPrintPages (Only available with PDF Library SDK)
	@see PDFLPrintDoc (Only available with PDF Library SDK)

*/
POKE(PSPrintAfterBeginProlog, (PDDoc doc, ASStm stm), (PDDoc doc, ASStm stm, void *clientData), (doc,  stm, cell->clientData))

/**
	This notification is broadcast after the beginning of the
	Document Setup (immediately after writing <code>%% BeginSetup</code>)
	during the printing of a page to a PostScript printer with
	the methods <code>PDFLPrintDoc()</code> (only available with PDF Library
	SDK) or <code>PDDocPrintPages()</code> (only available with PDF Library
	SDK). During Document Setup, fonts may be downloaded, <code>setpagedevice</code>
	may be called, procsets may be initialized, the graphics
	state may be initialized, and so forth.
	@param doc IN/OUT The document that is being printed.
	@param stm IN/OUT The PostScript print stream. PostScript commands
	can be added to the print stream using <code>ASStmWrite()</code>.
	@param clientData IN/OUT A pointer to a block of user-supplied data
	that was passed in by the calling application when this
	notification was registered for using <code>AVAppRegisterNotification()</code>.

	@notify PSPrintBeforeEndSetup
	@see PDDocPrintPages (Only available with PDF Library SDK)
	@see PDFLPrintDoc (Only available with PDF Library SDK)

*/
POKE(PSPrintAfterBeginSetup, (PDDoc doc, ASStm stm), (PDDoc doc, ASStm stm, void *clientData), (doc, stm, cell->clientData))

/**
	This notification is broadcast before the end of Document
	Setup (immediately before writing <code>%% EndSetup</code>) during the
	printing of a page to a PostScript printer with the methods
	<code>PDFLPrintDoc()</code> (only available with PDF Library SDK) or <code>PDDocPrintPages()</code>
	(only available with PDF Library SDK). At this point all
	of the job level resources and procsets have been added
	to the print stream.
	@param doc IN/OUT The document that is being printed.
	@param stm IN/OUT The PostScript print stream. PostScript commands
	can be added to the print stream using <code>ASStmWrite()</code>. Some
	printer drivers (Windows PS4) may not allow additions to
	the PostScript stream at this point.
	@param clientData IN/OUT A pointer to a block of user-supplied data
	that was passed in by the calling application when this
	notification was registered for using <code>AVAppRegisterNotification()</code>.

	@notify PSPrintAfterBeginSetup
	@see PDDocPrintPages (Only available with PDF Library SDK)
	@see PDFLPrintDoc (Only available with PDF Library SDK)

*/
POKE(PSPrintBeforeEndSetup, (PDDoc doc, ASStm stm), (PDDoc doc, ASStm stm, void *clientData), (doc, stm, cell->clientData))

/**
	This notification is broadcast after the beginning of the
	Page Setup (immediately after writing <code>%% BeginPageSetup</code>)
	during the printing of a page to a PostScript printer with
	the methods <code>PDFLPrintDoc()</code> (only available with PDF Library
	SDK) or <code>PDDocPrintPages()</code> (only available with PDF Library
	SDK). At this point it is possible to use setpagedevice
	and set the graphics state but marks cannot be made on the
	page.
	@param doc IN/OUT The document from which a page is printed.
	@param page IN/OUT The page number of the page being printed.
	@param stm IN/OUT The PostScript print stream. PostScript commands
	can be added to the print stream using <code>ASStmWrite()</code>. Some
	printer drivers (Windows PS4) may not allow additions to
	the PostScript stream at this point.
	@param clientData IN/OUT A pointer to a block of user-supplied data
	that was passed in by the calling application when this
	notification was registered for using <code>AVAppRegisterNotification()</code>.

	@notify PSPrintAfterPageTrailer
	@see PDDocPrintPages (Only available with PDF Library SDK)
	@see PDFLPrintDoc (Only available with PDF Library SDK)

*/
POKE(PSPrintAfterBeginPageSetup, (PDDoc doc, ASInt32 page, ASStm stm), (PDDoc doc, ASInt32 page, ASStm stm, void *clientData), (doc, page, stm, cell->clientData))

/**
	This notification is broadcast after the page trailer is
	emitted (immediately after writing <code>%% PageTrailer</code>) during
	the printing of a page to a PostScript printer with the
	methods <code>PDFLPrintDoc()</code> (only available with PDF Library SDK)
	or <code>PDDocPrintPages()</code> (only available with PDF Library SDK).
	At this point it is possible to resolve comments (at end)
	and emit cleanup code.
	@param doc IN/OUT The document from which a page is printed.
	@param page IN/OUT The page number of the page being printed.
	@param stm IN/OUT The PostScript print stream. PostScript commands
	can be added to the print stream using <code>ASStmWrite()</code>.
	@param clientData IN/OUT A pointer to a block of user-supplied data
	that was passed in by the calling application when this
	notification was registered for using <code>AVAppRegisterNotification()</code>.

	@notify PSPrintAfterBeginPageSetup
	@see PDDocPrintPages (Only available with PDF Library SDK)
	@see PDFLPrintDoc (Only available with PDF Library SDK)

*/
POKE(PSPrintAfterPageTrailer, (PDDoc doc, ASInt32 page, ASStm stm), (PDDoc doc, ASInt32 page, ASStm stm, void *clientData), (doc, page, stm, cell->clientData))

/**
	This notification is broadcast after the DSC trailer is
	emitted (immediately after writing <code>%% Trailer</code>) during the
	printing of a page to a PostScript printer with the methods
	<code>PDFLPrintDoc()</code> (only available with PDF Library SDK) or <code>PDDocPrintPages()</code>
	(only available with PDF Library SDK). At this point it
	is possible to resolve comments (at end) and emit cleanup
	code.
	@param doc IN/OUT The document that is being printed.
	@param stm IN/OUT The PostScript print stream. PostScript commands
	can be added to the print stream using <code>ASStmWrite()</code>.
	@param clientData IN/OUT A pointer to a block of user-supplied data
	that was passed in by the calling application when this
	notification was registered for using <code>AVAppRegisterNotification()</code>.

	@notify PSPrintBeforeEndSetup
	@see PDDocPrintPages (Only available with PDF Library SDK)
	@see PDFLPrintDoc (Only available with PDF Library SDK)

*/
POKE(PSPrintAfterTrailer, (PDDoc doc, ASStm stm), (PDDoc doc, ASStm stm, void *clientData), (doc, stm, cell->clientData))

/**
	This notification is broadcast after the DSC page-level
	comments that apply to all pages have been emitted (immediately
	before writing <code>%% EndComments</code>) during the printing of a
	page to a PostScript printer with the methods <code>PDFLPrintDoc()</code>
	(only available with the PDF Library SDK) or <code>PDDocPrintPages()</code>
	(only available with the PDF Library SDK).
	@param doc IN/OUT The document that is being printed.
	@param stm IN/OUT The PostScript print stream. PostScript commands
	can be added to the print stream using <code>ASStmWrite()</code>.
	@param clientData IN/OUT A pointer to a block of user-supplied data
	that was passed in by the calling application when this
	notification was registered for using <code>AVAppRegisterNotification()</code>.

	@notify PSPrintAfterBeginSetup
	@notify PSPrintBeforeEndSetup
	@see PDDocPrintPages (Only available with PDF Library SDK)
	@see PDFLPrintDoc (Only available with PDF Library SDK)

*/
POKE(PSPrintBeforeEndComments, (PDDoc doc, ASStm stm), (PDDoc doc,  ASStm stm, void *clientData), (doc,  stm, cell->clientData))

/**
	This notification is broadcast after extended graphics state
	parameters are emitted while printing to a PostScript printer
	with the methods <code>PDFLPrintDoc()</code> (only available with the PDF Library
	SDK) or <code>PDDocPrintPages()</code> (only available with the PDF Library
	SDK).

	<p>These parameters are typically device-dependent. For information
	on extended graphics state, see Section 4.3.4 on extended
	graphics states in the <i>PDF Reference</i>.</p>

	@param stm IN/OUT The PostScript print stream. PostScript commands
	can be added to the print stream using <code>ASStmWrite()</code>.
	@param clientData IN/OUT A pointer to a block of user-supplied data
	that was passed in by the calling application when this
	notification was registered for using <code>AVAppRegisterNotification()</code>.

	@see PDDocPrintPages (Only available with the PDF Library SDK)
	@see PDFLPrintDoc (Only available with the PDF Library SDK)

*/
POKE(PSPrintAfterEmitExtGState, (ASStm stm), (ASStm stm, void *clientData), (stm, cell->clientData))

/* New named destination addition */

/**
	Acrobat executed an action to go to a named destination. 
	
	@param doc The document containing the named destination. 
	
	@param NameObj The Cos object corresponding to the named 
	destination. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
*/
POKE(AVDocDidClickName, (AVDoc doc, CosObj NameObj), ( AVDoc doc, CosObj NameObj, void* clientData ), (doc, NameObj, cell->clientData ) )


/**
	The annotations from one document were imported into another
	document.
	@param doc IN/OUT The document into which annotations were imported.

	@param clientData IN/OUT A pointer to a block of user-supplied data
	that was passed in by the calling application when this
	notification was registered for using <code>AVAppRegisterNotification()</code>.

	@notify PDDocDidImportAnnots
	@notify PDDocWillExportAnnots
	@notify PDDocWillImportAnnots
	@see PDDocImportCosDocNotes
	@see PDDocImportNotes

*/
POKE(PDDocDidImportAnnots, (PDDoc doc), (PDDoc doc, void* clientData), (doc, cell->clientData))

/**
	All <code>AVDoc</code> objects will be closed.
	@param clientData IN/OUT A pointer to a block of user-supplied data
	that was passed in by the calling application when this
	notification was registered for using <code>AVAppRegisterNotification()</code>.

	@notify AVDocDidClose
	@notify AVDocWillClose

*/
POKE(AVAppWillCloseAllInternalDocs, (void), (void *clientData), (cell->clientData))

/* New PDNameTree additions */

/**
	An entry was added to a name tree. 
	@param NameTree The name tree to which an entry was added. 
	
	@param Key The Cos object of the key for the entry. This object 
	is a Cos integer. 
	@param Value The Cos object for the value associated with 
	key. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed in by the calling application when 
	this notification was registered for using <code>AVAppRegisterNotification()</code>.
	@notify PDNameTreeNameRemoved 
	@see PDNameTreeNotifyNameAdded 
*/
POKE(PDNameTreeNameAdded, (PDNameTree NameTree, CosObj Key, CosObj Value), ( PDNameTree NameTree, CosObj Key, CosObj Value, void* clientData ), (NameTree, Key, Value, cell->clientData ) )

/**
	An entry was removed from a name tree. 
	@param NameTree The name tree from which an entry was 
	removed. 
	@param Key The Cos object of the key for the entry. This 
	object is a Cos integer. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed in by the calling application when 
	this notification was registered for using <code>AVAppRegisterNotification()</code>.
	@notify PDNameTreeNameAdded 
	@see PDNameTreeNotifyNameRemoved 
*/
POKE(PDNameTreeNameRemoved, (PDNameTree NameTree, CosObj Key), ( PDNameTree NameTree, CosObj Key, void* clientData ), (NameTree, Key, cell->clientData ) )


/**
	<p>A <code>PDDoc</code> closed. A <code>PDDoc</code> is closed only if its reference 
	count is zero. </p>

	<p>Neither this notification, <code>PDDocWillClose()</code>, <code>AVDocWillClose()</code>, 
	nor <code>AVDocDidClose()</code> are broadcast if the user selects <i>Cancel</i> 
	when prompted to save a modified document as it is closed. </p>
	
	@param doc The document that closed. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed in by the calling application when 
	this notification was registered for using <code>AVAppRegisterNotification()</code>.
	@notify PDDocWillClose 
	@see AVDocClose 
	@see PDDocClose 
*/
POKE(PDDocDidClose, (PDDoc doc),(PDDoc doc, void *clientData), (doc, cell->clientData))

/* New InsertPages notifications */

/**
	Pages were inserted into a document. This notification occurs
	after the <code>PDDocDidInsertPages()</code> notification.
	@param params IN/OUT A structure describing how pages were inserted.

	@param clientData IN/OUT A pointer to a block of user-supplied data
	that was passed in by the calling application when this
	notification was registered for using <code>AVAppRegisterNotification()</code>.

	@notify PDDocDidInsertPages
	@notify PDDocWillInsertPages
	@notify PDDocWillInsertPagesEx
	@see PDDocCreatePage
	@see PDDocInsertPages

*/
POKE(PDDocDidInsertPagesEx, (PDDocInsertPagesParams params), (PDDocInsertPagesParams params, void* clientData), (params, cell->clientData))

/**
	Pages will be inserted into a document. This notification
	occurs after the <code>PDDocWillInsertPages()</code> notification.
	@param params IN/OUT A structure describing how pages will be
	inserted.
	@param clientData IN/OUT A pointer to a block of user-supplied data
	that was passed in by the calling application when this
	notification was registered for using <code>AVAppRegisterNotification()</code>.

	@notify PDDocDidInsertPages
	@notify PDDocDidInsertPagesEx
	@notify PDDocWillInsertPages
	@see PDDocCreatePage
	@see PDDocInsertPages

*/
POKE(PDDocWillInsertPagesEx, (PDDocInsertPagesParams params), (PDDocInsertPagesParams params, void* clientData), (params, cell->clientData))

/* New PDNumTree additions */

/**
	An entry was added to a name tree.
	@param numTree IN/OUT The name tree to which an entry was added.
	@param key IN/OUT The key for the entry.
	@param value IN/OUT The Cos object for the value associated with key.
	@param clientData IN/OUT A pointer to a block of user-supplied data
	that was passed in by the calling application when this
	notification was registered for using <code>AVAppRegisterNotification()</code>.
	@notify PDNumTreeNumRemoved
	@see PDNumTreePut
*/
POKE(PDNumTreeNumAdded, (PDNumTree numTree, ASInt32 key, CosObj value), ( PDNumTree numTree, ASInt32 key, CosObj value, void* clientData ), (numTree, key, value, cell->clientData ) )

/**
	An entry was removed from a name tree.
	@param numTree IN/OUT The name tree from which an entry was removed.
	@param key IN/OUT The key for the entry.
	@param clientData IN/OUT A pointer to a block of user-supplied data
	that was passed in by the calling application when this
	notification was registered for using <code>AVAppRegisterNotification()</code>.
	@notify PDNumTreeNumAdded
	@see PDNumTreePut
	@see PDNumTreeRemove
*/
POKE(PDNumTreeNumRemoved, (PDNumTree numTree, ASInt32 key), ( PDNumTree numTree, ASInt32 key, void* clientData ), (numTree, key, cell->clientData ) )

/* New bookmark notification */

/**
	A bookmark was unlinked from the bookmark tree. 
	@param bookmark The bookmark that was unlinked. Because 
	the bookmark has not been destroyed, it is possible to access 
	it. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDBookmarkDidChangePosition PDBookmarkUnlink 
*/
POKE(PDBookmarkDidUnlink, (PDBookmark bookmark), (PDBookmark bookmark, void* clientData), (bookmark, cell->clientData))

/* 5.0 */


/**
	Called when a user deletes the current selection. 
	@param doc The document containing the selection. 
	@param selType The selection's type. See <code>AVDocSetSelection()</code> 
	for a list of those available. 
	@param selData Server-dependent selection data. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify AVDocDidAddToSelection 
	@notify AVDocDidSetSelection 
	@see AVDocDeleteSelection 
*/
POKE(AVDocDidDeleteSelection, (AVDoc doc, ASAtom selType, void* selData), (AVDoc doc, ASAtom selType, void* selData, void *clientData), (doc, selType, selData, cell->clientData))

/**
	<p>This notification is obsolete in Acrobat 7.0 and later.</p>

	<p>This notification is broadcast before a tiled page is printed. 
	Tiled pages can be requested by the user from the Advanced
	print dialog box; clients are made aware of the selection via 
	the tiled page notifications. </p>
	@param doc The document containing the tiled page. 
	@param page The page to be printed. 
	@param stm The PostScript print stream used when printing to 
	a PostScript printer, and <code>NULL</code> when printing to a non-PostScript 
	printer. When printing to a PostScript printer, clients 
	can write printing commands into <code>stm</code> (using <code>ASStmWrite()</code>) 
	to add marks to pages before any other marks have been made. 
	
	@param whichTile The sheet to be printed. 
	@param numTiles The total number of sheets to be printed. 
	
	@param cropRegion A pointer to an <code>ASFixedRect</code> that represents 
	the region of the <code>PDPage</code> being <i>cropped to</i> for this sheet. 
	
	@param tile The <code>PDTile</code> currently in use. The fields in 
	this structure can be modified as necessary to affect tiling 
	output. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDDocDidPrintTiledPage 
	@notify PDDocPrintingTiledPage 
	@see AVDocPrintPages 
	@see AVDocPrintPagesWithParams 
*/
POKE(PDDocWillPrintTiledPage, (PDDoc doc, ASInt32 page, ASStm stm, ASInt32 whichTile, ASInt32 numTiles, ASFixedRect *cropRegion, PDTile tile), (PDDoc doc, ASInt32 page, ASStm stm, ASInt32 whichTile, ASInt32 numTiles, ASFixedRect *cropRegion, PDTile tile, void *clientData), (doc, page, stm, whichTile, numTiles, cropRegion, tile, cell->clientData))

/**
	<p>This notification is obsolete in Acrobat 7.0 and later.</p>

	<p>Clients who register for <code>PDDocPrintingTilePage()</code> will be called 
	just after the page contents have been emitted for this 
	tile. Tiled pages can be requested by the user from the 
	Advanced print dialog box; clients are made aware of the selection 
	via the tiled page notifications. </p>
	@param doc The document containing the tiled page. 
	@param page The page being printed. 
	@param stm The PostScript print stream used when printing to 
	a PostScript printer, and <code>NULL</code> when printing to a non-PostScript 
	printer. When printing to a PostScript printer, clients 
	can write printing commands into <code>stm</code> (using <code>ASStmWrite()</code>) 
	to add marks to pages before any other marks have been made. 
	
	@param whichRow The row that is being printed. 
	@param whichColumn The column that is being printed. 
	@param numRows The number of rows to be printed. 
	@param numColumns The number of columns to be printed. 
	
	@param cropRegion A pointer to an <code>ASFixedRect</code> that represents 
	the region of the <code>PDPage</code> being <i>cropped to</i> for this sheet. 
	
	@param tile The <code>PDTile</code> currently in use. The fields in 
	this structure can be modified as necessary to affect tiling 
	output. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDDocDidPrintTiledPage 
	@notify PDDocWillPrintTiledPage 
	@see AVDocPrintPages 
	@see AVDocPrintPagesWithParams
*/
POKE(PDDocPrintingTiledPage, (PDDoc doc, ASInt32 page, ASStm stm, ASInt32 whichRow, ASInt32 whichColumn, ASInt32 numRows, ASInt32 numColumns, ASFixedRect *cropRegion, PDTile tile), (PDDoc doc, ASInt32 page, ASStm stm, ASInt32 whichRow, ASInt32 whichColumn, ASInt32 numRows, ASInt32 numColumns, ASFixedRect *cropRegion, PDTile tile, void *clientData), (doc, page, stm, whichRow, whichColumn, numRows, numColumns, cropRegion, tile, cell->clientData))

/**
	<p>This notification is obsolete in Acrobat 7.0 and later.</p>

	<p>Clients who register for <code>PDDocDidPrintTiledPage()</code> will be 
	called after the tile marks (if any) have been emitted for 
	this tiled page. Tiled pages can be requested by the user 
	from the Advanced print dialog box; clients are made aware of 
	the selection via the tiled page notifications. </p>
	@param doc The document containing the tiled page. 
	@param page The page being printed. 
	@param stm The PostScript print stream used when printing to 
	a PostScript printer, and <code>NULL</code> when printing to a non-PostScript 
	printer. When printing to a PostScript printer, clients 
	can write printing commands into <code>stm</code> (using <code>ASStmWrite()</code>) 
	to add marks to pages before any other marks have been made. 
	@param error The error code. <code>error</code> is set to <code>0</code> if no errors 
	occurred while printing the pages. If an error occurred, 
	<code>error</code> contains the error code. 
	@param whichTile The sheet to be printed. 
	@param numTiles The number of sheets to be printed. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDDocPrintingTiledPage 
	@notify PDDocWillPrintTiledPage 
	@see AVDocPrintPages 
	@see AVDocPrintPagesWithParams 
*/
POKE(PDDocDidPrintTiledPage, (PDDoc doc, ASInt32 page, ASStm stm, ASInt32 error, ASInt32 whichTile, ASInt32 numTiles), (PDDoc doc, ASInt32 page, ASStm stm, ASInt32 error, ASInt32 whichTile, ASInt32 numTiles, void *clientData), (doc, page, stm, error, whichTile, numTiles, cell->clientData))

/**
	Clients who register for <code>PDPageWillPrintAnnots()</code> will be called 
	before the printed representations of any annotations have 
	been emitted. If a page has no annotations, this will not 
	be called. If a page has annotations, this will be called. 
	There may not be any code emitted for the annotations on 
	that page, however, since they may not have any appearance 
	for printing. The status parameter passed in the <code>PDPageDidPrintAnnot()</code> 
	will indicate this. 
	@param doc The document containing the annotations. 
	@param page The page to be printed. 
	@param stm The PostScript print stream used when printing to 
	a PostScript printer, and <code>NULL</code> when printing to a non-PostScript 
	printer. When printing to a PostScript printer, clients 
	can write printing commands into <code>stm</code> (using <code>ASStmWrite()</code>) 
	to add marks to pages before any other marks have been made. 
	
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDPageDidPrintAnnot 
	@notify PDPageDidPrintAnnots 
	@notify PDPageWillPrintAnnot 
	@see Numerous 
*/
POKE(PDPageWillPrintAnnots, (PDDoc doc, ASInt32 page, ASStm stm), (PDDoc doc, ASInt32 page, ASStm stm, void *clientData), (doc, page, stm, cell->clientData))

/**
	Annotations were printed. 
	@param doc The document containing the annotations. 
	@param page The page containing the annotations. 
	@param stm The PostScript print stream used when printing to 
	a PostScript printer, and <code>NULL</code> when printing to a non-PostScript 
	printer. When printing to a PostScript printer, clients 
	can write printing commands into <code>stm</code> (using <code>ASStmWrite()</code>) 
	to add marks to pages before any other marks have been made. 
	
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDPageDidPrintAnnot 
	@notify PDPageWillPrintAnnot 
	@notify PDPageWillPrintAnnots 
	@see Numerous 
*/
POKE(PDPageDidPrintAnnots, (PDDoc doc, ASInt32 page, ASStm stm), (PDDoc doc, ASInt32 page, ASStm stm, void *clientData), (doc, page, stm, cell->clientData))


/**
	A document was opened. 
	@param doc The document. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDDocPermsReady 
*/
POKE(PDDocDidOpen, (PDDoc doc), (PDDoc doc, void *clientData), (doc, cell->clientData))

/**
	The client is requested to calculate and set metadata items 
	that depend on the state of the document. It is issued when a 
	document is saved. It can also be issued explicitly via <code>PDDocCalculateImplicitMetadata()</code>. 
	
	@param doc The document for which implicit metadata 
	is to be calculated. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@see Numerous, but especially PDDocCalculateImplicitMetadata 
	
*/
POKE(PDDocCalculateMetadata, (PDDoc doc), (PDDoc doc, void *clientData), (doc, cell->clientData))


/**
	A new-style preference changed. 
	@param section The section. 
	@param key The key. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify AVAppOldPrefDidChange 

	@note As of Acrobat 5.0, most of the methods used to set 
	and get the new style preferences have not been exported 
	to the public API. 
*/
POKE(AVAppPrefDidChange,
	 (const char *section, const char *key),
	 (const char *section, const char *key, void *clientData),
	 (section, key, cell->clientData))


/**
	An old-style <code>AVPrefsType</code> was changed. 
	@param preference The preference type that was changed. You 
	can call <code>AVAppGetPreference()</code> to find out the new value. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify AVAppPrefDidChange 
	@see AVAppSetPreference 
*/
POKE (AVAppOldPrefDidChange,
	 (AVPrefsType preference),
	 (AVPrefsType preference, void *clientData),
	 (preference, cell->clientData))


/**
	Page areas changed. 
	@param pdDoc The document in which the page areas changed. 
	
	@param areaMask The area mask. 
	@param firstPage The first page. 
	@param lastPage The last page. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDDocDidChangePages 
	@see Numerous 
*/
POKE (PDDocDidChangePageAreas,
	 (PDDoc pdDoc, ASInt32 areaMask, ASInt32 firstPage, ASInt32 lastPage),
	 (PDDoc pdDoc, ASInt32 areaMask, ASInt32 firstPage, ASInt32 lastPage, void *clientData),
	 (pdDoc, areaMask, firstPage, lastPage, cell->clientData))

/**
	Clients that register for this notification will be called
	back during PostScript printing, just prior to emission
	of the Acrobat procsets.
	@param doc IN/OUT The document that is being printed.
	@param stm IN/OUT The PostScript print stream. PostScript commands
	can be added to the print stream using <code>ASStmWrite()</code>.
	@param clientData IN/OUT A pointer to a block of user-supplied data
	that was passed in by the calling application when this
	notification was registered for using <code>AVAppRegisterNotification()</code>.

	@notify PSPrintBeforeEndSetup
	@see PDDocPrintPages() (Only available with PDF Library SDK)
	@see PDFLPrintDoc() (only available with PDF Library SDK)

*/
POKE (PSPrintBeforeAcrobatProcsets,
	 (PDDoc doc, ASStm stm),
	 (PDDoc doc, ASStm stm, void *clientData),
	 (doc, stm, cell->clientData))

/**
	Redrawing will occur in the page view section of the window. 
	
	@param pageView The <code>AVPageView</code> in which drawing will occur. 
	
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify AVPageViewDidChange 
	@notify AVPageViewDidDraw 
	@see AVPageViewDrawNow 
*/
POKE(AVPageViewWillDraw,
	 (AVPageView pageView),
	 (AVPageView pageView, void *clientData),
	 (pageView, cell->clientData))


/**
	Goes out when an annotation has performed a focus operation (for 
	example, <code>kAVAnnotAcceptFocus</code> or <code>kAVAnnotLostFocus</code>). No notification 
	is issued for <code>kAVAnnotDefaultAction</code> or <code>kAVAnnotShowMenu</code>. 
	
	@param pageView The page view containing the annotation. 
	
	@param pdAnnot The annotation that performed the operation. 
	
	@param annotOp The operation. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@see AVPageViewFocusAnnotPerformOp 
*/
POKE(AVPageViewAnnotDidPerformOp,
	 (AVPageView pageView, PDAnnot pdAnnot, AVAnnotOp annotOp),
	 (AVPageView pageView, PDAnnot pdAnnot, AVAnnotOp annotOp, void *clientData),
	 (pageView, pdAnnot, annotOp, cell->clientData))

/**
	Clients who register for this notification will be notified 
	just before an annotation is expected to print. This notification 
	allows clients that manage annotations to prepare the appearance 
	of the annotation for printing purposes. There is no requirement 
	that the <code>annot</code> referred to in this parameter list actually 
	has a print appearance. 
	@param annot The annotation to print. 
	@param page The page on which the annotation occurs. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDPageDidPrintAnnot 
	@notify PDPageDidPrintAnnots 
	@notify PDPageWillPrintAnnot 
*/
POKE(PDPageWillPrintAnnot,
	(PDAnnot annot, ASInt32 page),
	(PDAnnot annot, ASInt32 page, void *clientData),
	(annot, page, cell->clientData))


/**
	Clients who register for <code>PDPageDidPrintAnnot()</code> will be called 
	after the annotation has printed. <code>status</code> indicates whether 
	Acrobat tried to print any representation of this annotation. 
	
	@param annot The annotation that Acrobat tried to print. 
	
	@param page The page on which the annotation occurs. 
	@param status A status of <code>0</code> indicates that no representation 
	of the annotation was found. A status of <code>1</code> indicates the annotation 
	was printed. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDPageDidPrintAnnot 
	@notify PDPageWillPrintAnnot 
	@notify PDPageWillPrintAnnots 
	@see Numerous 
*/
POKE(PDPageDidPrintAnnot,
	(PDAnnot annot, ASInt32 page, ASInt32 status),
	(PDAnnot annot, ASInt32 page, ASInt32 status, void *clientData),
	(annot, page, status, cell->clientData))


/**
	Used to let clients know when <code>pdDoc</code> is undergoing batch
	processing.
	@param context IN/OUT Placeholder. Reserved for future releases.
	It is always <code>NULL</code>.
	@param pdDoc IN/OUT The document undergoing batch processing.
	@param docInUse IN/OUT When the document is about to be batch processed,
	the notification is sent with <code>isUsing</code> set to <code>true</code>. When
	batch processing has finished with the document, the notification
	is again sent but with <code>isUsing</code> set to <code>false</code>.
	@param clientData IN/OUT A pointer to a block of user-supplied data
	that was passed in by the calling application when this
	notification was registered for using <code>AVAppRegisterNotification()</code>.

	@note This notification is set for any <code>pdDoc</code> that serves
	as input to batch processing, including <code>pdDoc</code> objects that are
	attached to <code>AVDoc</code> objects when batching is invoked on the currently
	open documents.
*/
POKE(AVAppUsingPDDocForBatch,
	(AVBatchContext context, PDDoc pdDoc, ASBool docInUse),
	(AVBatchContext context, PDDoc pdDoc, ASBool docInUse, void *clientData),
	(context, pdDoc, docInUse, cell->clientData))
     /* 6.0 */

/**
	Called when the document's page view changes.
	@param avDoc The <code>AVDoc</code> whose page view has changed.
	@param newPageView The new <code>AVPageView</code>.
	@param oldPageView The old <code>AVPageView</code>.
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify AVPageViewDocDidChange 
	@notify AVPageViewWasCreated 
	@notify AVPageViewWillDestroy
	@see AVDocGetNthPageView 
	@see AVDocGetNumPageViews 
	@see AVDocGetPageView 
*/
POKE(AVDocActivePageViewDidChange,
	 (AVDoc avDoc, AVPageView newPageView, AVPageView oldPageView),
	 (AVDoc avDoc, AVPageView newPageView, AVPageView oldPageView, void *clientData),
	 (avDoc, newPageView, oldPageView, cell->clientData))

/**
	Sent when a page view is created.
	@param pageView The <code>AVPageView</code> that was created.
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify AVDocActivePageViewDidChange 
	@notify AVPageViewDocDidChange
	@notify AVPageViewDidChange
	@notify AVPageViewWillDestroy
	@see AVDocGetNthPageView 
	@see AVDocGetNumPageViews 
	@see AVDocGetPageView
	@see AVPageViewGetAVDoc
*/
POKE(AVPageViewWasCreated,
	 (AVPageView pageView),
	 (AVPageView pageView, void *clientData),
	 (pageView, cell->clientData))

/**
	Sent before a page view is destroyed.
	@param pageView The <code>AVPageView</code> that will be destroyed.
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify AVDocActivePageViewDidChange 
	@notify AVPageViewDocDidChange
	@notify AVPageViewDidChange
	@see AVDocGetNthPageView 
	@see AVDocGetNumPageViews 
	@see AVDocGetPageView
	@see AVPageViewGetAVDoc
*/	 
POKE(AVPageViewWillDestroy,
	 (AVPageView pageView),
	 (AVPageView pageView, void *clientData),
	 (pageView, cell->clientData))

/**
	The page view has changed. Zero or more of the following 
	events has occurred: 
	<ul>
	<li> The page number has changed.</li>
	<li> The zoom factor has changed.</li>
	<li> The window has been resized.</li>
	<li> The page has been scrolled.</li>
	</ul>
	
	@param pageView The <code>AVPageView</code> that has changed. 
	@param how Specifies how the page view did change. <code>how</code> 
	is an OR of zero or more of the following (see AVExpT.h): 

	<TABLE rules="all" cellspacing="1">
	<TR><TH>Value</TH><TH>Description</TH></TR>
	<TR><TD><code>PAGEVIEW_UPDATE_SCROLL</code></TD><TD>The view has been scrolled.</TD></TR>
	<TR><TD><code>PAGEVIEW_UPDATE_PAGENUM</code></TD><TD>The page number has changed.</TD></TR>
	<TR><TD><code>PAGEVIEW_UPDATE_PAGESIZE</code></TD><TD>A new view has been created.</TD></TR>
	<TR><TD><code>PAGEVIEW_UPDATE_ZOOM</code></TD><TD>The zoom has been changed.</TD></TR>
	</TABLE>

	@param rect A pointer to the scroll rectangle for the <code>pageView</code>.
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify AVDocActivePageViewDidChange 
	@notify AVPageViewDidDraw 
	@notify AVPageViewWasCreated 
	@notify AVPageViewWillDestroy 
	@see AVPageViewZoomTo 
	@see AVPageViewScrollTo 
	@see AVPageViewScrollToRect 
	@see AVPageViewGoTo 
	@see AVPageViewReadPageDown 
	@see AVPageViewReadPageUp 
	@see AVPageViewGoBack 
	@see AVPageViewGoForward 
	@see AVPageViewUseDestInfo 
	@see AVPageViewUseThisDestination

	@note If continuous scrolling is turned on (available in 
	Acrobat 3.0 or later) and more than one page is displayed 
	in the <code>AVPageView</code>, alternating mouse clicks in the different 
	pages displayed does not constitute a change to the <code>AVPageView</code>. 
*/
POKE(AVPageViewDidChangeEx,
	 (AVPageView pageView, ASInt16 how, const AVDevRectP rect),
	 (AVPageView pageView, ASInt16 how, const AVDevRectP rect, void *clientData),
	 (pageView, how, rect, cell->clientData))

/* 6.0 */
/* existing PDBookmarkWill/DidChange notifications don't distinguish between new bookmark and open/close */

/**
	A bookmark will be opened or closed.
	@param bookmark The bookmark that will be opened or closed.
	@param open When <code>true</code>, the bookmark will be opened. When <code>false</code>, it will be closed.
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDBookmarkWillChange 
	@notify PDBookmarkDidChange 
	@see PDBookmarkSetOpen 
*/
POKE(PDBookmarkWillChangeOpenState, (PDBookmark bookmark, ASBool open), (PDBookmark bookmark, ASBool open, void* clientData), (bookmark, open, cell->clientData))

/**
	A bookmark was opened or closed.
	@param bookmark The bookmark that was opened or closed.
	@param open When <code>true</code>, the bookmark was opened. When <code>false</code>, it was closed.
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDBookmarkWillChange 
	@notify PDBookmarkDidChange 
	@see PDBookmarkSetOpen 
*/
POKE(PDBookmarkDidChangeOpenState, (PDBookmark bookmark, ASBool open), (PDBookmark bookmark, ASBool open, void* clientData), (bookmark, open, cell->clientData))

/**
	Sent on a system running Windows XP when the user does a
	Switch User (Fast User Switching) operation to log on or switch
	to another user account. It is typically used to release shared resources,
	such as fonts or multimedia ports.
	@param switchState The switch state. 
	<ul>
	<li> <code>WTS_CONSOLE_CONNECT</code> when a switched out session is switched back in.</li>
	<li> <code>WTS_CONSOLE_DISCONNECT</code> when a session is switched out.</li>
	</ul>
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
*/
POKE(AVAppSystemLogonSessionSwitched, (const char* switchState), (const char* switchState, void *clientData), (switchState, cell->clientData))

/* BEGIN Optional Content notifications */

/**
	An optional-content context is changing in a way that could affect the
	visibility state of content.
	@param ocContext The PDOCContext whose visibility state will change.
	@param whatWillHappen The type of change that will occur.
	@param objects A pointer to the object that will change. The kind of object this
	can be depends on the type of change that will occur:
	
	<TABLE rules="all" cellspacing="1">
	<TR><TH>Value</TH><TH>Type of object</TH></TR>
	<TR><TD><code>kPDOCGCreate</code></TD><TD><code>PDOCG</code></TD></TR>
	<TR><TD><code>kPDOCGDestroy</code></TD><TD><code>NULL</code></TD></TR>
	<TR><TD><code>kPDOCGProperties</code></TD><TD><code>PDOCG</code></TD></TR>
	<TR><TD><code>kPDOCConfigChange</code></TD><TD><code>PDOCConfig</code></TD></TR>
	<TR><TD><code>kPDOCConfigCreate</code></TD><TD><code>PDOCConfig</code></TD></TR>
	<TR><TD><code>kPDOCConfigDestroy</code></TD><TD><code>NULL</code></TD></TR>
	<TR><TD><code>kPDOCGReplace</code></TD><TD><code>PDOCG</code> (the replacement)</TD></TR>
	<TR><TD><code>kPDDocRemoveOC</code></TD><TD><code>NULL</code></TD></TR>
	</TABLE>

	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
*/
POKE(PDOCContextWillChange,
	(PDOCContext ocContext, PDOCContextChangeType whatWillHappen, void* objects),
	(PDOCContext ocContext, PDOCContextChangeType whatWillHappen, void* objects, void *clientData),
	(ocContext, whatWillHappen, objects, cell->clientData))
	
/**
	An optional-content context changed in a way that could affect
	the visibility state of content.
	@param ocContext The PDOCContext whose visibility state changed.
	@param whatHappened The type of change that occurred.
	@param objects A pointer to the object that changed. The kind of object this
	can be depends on the type of change that occurred:
	
	<TABLE rules="all" cellspacing="1">
	<TR><TH>Value</TH><TH>Type of object</TH></TR>
	<TR><TD><code>kPDOCGCreate</code></TD><TD><code>PDOCG</code></TD></TR>
	<TR><TD><code>kPDOCGDestroy</code></TD><TD><code>NULL</code></TD></TR>
	<TR><TD><code>kPDOCGProperties</code></TD><TD><code>PDOCG</code></TD></TR>
	<TR><TD><code>kPDOCConfigChange</code></TD><TD><code>PDOCConfig</code></TD></TR>
	<TR><TD><code>kPDOCConfigCreate</code></TD><TD><code>PDOCConfig</code></TD></TR>
	<TR><TD><code>kPDOCConfigDestroy</code></TD><TD><code>NULL</code></TD></TR>
	<TR><TD><code>kPDOCGReplace</code></TD><TD><code>PDOCG</code> (the replacement)</TD></TR>
	<TR><TD><code>kPDDocRemoveOC</code></TD><TD><code>NULL</code></TD></TR>
	</TABLE>

	@param error If non-zero, indicates an error that occurred while setting the optional-content context.
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
*/
POKE(PDOCContextDidChange,
	(PDOCContext ocContext, PDOCContextChangeType whatHappened, void* objects, ASErrorCode error),
	(PDOCContext ocContext, PDOCContextChangeType whatHappened, void* objects, ASErrorCode error, void *clientData),
	(ocContext, whatHappened, objects, error, cell->clientData))

/**
	An optional-content context is changing in a <code>PDDoc</code> in a way that could affect the
	visibility state of content.
	@param doc The document containing the optional-content context whose visibility state is changing.
	@param whatWillHappen The type of change that will occur.
	@param object A pointer to the object that will change. The kind of object this
	can be depends on the type of change that will occur:
	
	<TABLE rules="all" cellspacing="1">
	<TR><TH>Value</TH><TH>Type of object</TH></TR>
	<TR><TD><code>kPDOCGCreate</code></TD><TD><code>PDOCG</code></TD></TR>
	<TR><TD><code>kPDOCGDestroy</code></TD><TD><code>NULL</code></TD></TR>
	<TR><TD><code>kPDOCGProperties</code></TD><TD><code>PDOCG</code></TD></TR>
	<TR><TD><code>kPDOCConfigChange</code></TD><TD><code>PDOCConfig</code></TD></TR>
	<TR><TD><code>kPDOCConfigCreate</code></TD><TD><code>PDOCConfig</code></TD></TR>
	<TR><TD><code>kPDOCConfigDestroy</code></TD><TD><code>NULL</code></TD></TR>
	<TR><TD><code>kPDOCGReplace</code></TD><TD><code>PDOCG</code> (the replacement)</TD></TR>
	<TR><TD><code>kPDDocRemoveOC</code></TD><TD><code>NULL</code></TD></TR>
	</TABLE>

	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDDocOCDidChange
	@notify PDOCContextDidChange
	@notify PDOCContextWillChange 
*/	
POKE(PDDocOCWillChange,
	(PDDoc doc, PDDocOCChangeType whatWillHappen, void* object),
	(PDDoc doc, PDDocOCChangeType whatWillHappen, void* object, void *clientData),
	(doc, whatWillHappen, object, cell->clientData))

/**
	An optional-content context changed in a <code>PDDoc</code> in a way that could affect
	the visibility state of content.
	@param doc The document containing the optional-content context whose visibility state changed.
	@param whatHappened The type of change that occurred.
	@param object A pointer to the object that changed. The kind of object this
	can be depends on the type of change that occurred:
	
	<TABLE rules="all" cellspacing="1">
	<TR><TH>Value</TH><TH>Type of object</TH></TR>
	<TR><TD><code>kPDOCGCreate</code></TD><TD><code>PDOCG</code></TD></TR>
	<TR><TD><code>kPDOCGDestroy</code></TD><TD><code>NULL</code></TD></TR>
	<TR><TD><code>kPDOCGProperties</code></TD><TD><code>PDOCG</code></TD></TR>
	<TR><TD><code>kPDOCConfigChange</code></TD><TD><code>PDOCConfig</code></TD></TR>
	<TR><TD><code>kPDOCConfigCreate</code></TD><TD><code>PDOCConfig</code></TD></TR>
	<TR><TD><code>kPDOCConfigDestroy</code></TD><TD><code>NULL</code></TD></TR>
	<TR><TD><code>kPDOCGReplace</code></TD><TD><code>PDOCG</code> (the replacement)</TD></TR>
	<TR><TD><code>kPDDocRemoveOC</code></TD><TD><code>NULL</code></TD></TR>
	</TABLE>

	@param error If non-zero, it indicates an error that occurred while setting the optional-content context.
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDDocOCWillChange
	@notify PDOCContextDidChange
	@notify PDOCContextWillChange 
*/
POKE(PDDocOCDidChange,
	(PDDoc doc, PDDocOCChangeType whatHappened, void* object, ASErrorCode error),
	(PDDoc doc, PDDocOCChangeType whatHappened, void* object, ASErrorCode error, void *clientData),
	(doc, whatHappened, object, error, cell->clientData))
/* END Optional Content notifications */

/**
	<p>Supersedes <code>PDPageDidRemoveAnnot()</code> in Acrobat 6.0 and later.</p>
	
	<p>An annotation has been removed from a page.</p>

	@param page The page from which an annotation was removed.
	@param removedAnnot The annotation object that was removed.
	@param error The error code. <code>error</code> is set to <code>0</code> if no errors occurred
	while removing the annotation. If an error occurred, <code>error</code> contains
	the error code.
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDPageWillRemoveAnnot
	@see PDPageRemoveAnnot 
*/
POKE(PDPageDidRemoveAnnotEx,
	 (PDPage page, PDAnnot removedAnnot, ASInt32 error),
	 (PDPage page, PDAnnot removedAnnot, ASInt32 error, void *clientData),
	 (page, removedAnnot, error, cell->clientData))


/**
	Sent before a document is printed, before any marks are 
	made on the first page. Page resources and contents may 
	be modified at the time this notification is broadcast. 
	
	@param doc The document that is about to be printed. 
	@param printMode A constant that describes what is being 
	printed: 
	<ul>
	<li>The document only.</li>
	<li>The document with annotations.</li> 
	<li>The form data only. </li>
	</ul>

	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify PDDocDidPrintPages 
	@notify PDDocWillPrintDoc 
	@see AVDocPrintPages 
	@see AVDocPrintPagesWithParams 
*/
POKE(PDDocWillPrintDocInMode,
    (PDDoc doc, PDPrintWhat printMode),
    (PDDoc doc, PDPrintWhat printMode, void *clientData),
    (doc, printMode, cell->clientData))



/**
	Sent when a page view becomes associated with an <code>AVDoc</code>. 
	When a cross-document link is being performed, the same 
	page view may be re-used with a different <code>AVDoc</code>. In this 
	case this notification is sent twice, once when the old 
	<code>AVDoc</code> is closed and the page view's <code>AVDoc</code> becomes <code>NULL</code>, 
	and again when the new <code>AVDoc</code> is opened and associated with 
	the page view. 
	@param pageView The <code>AVPageView</code> for which the document 
	changed. 
	@param newDoc The new document associated with the page 
	view. 
	@param oldDoc The document that was previously associated 
	with the page view. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify AVDocActivePageViewDidChange 
	@notify AVPageViewDidChange 
	@notify AVPageViewWasCreated 
	@notify AVPageViewWillDestroy 
	@see AVDocGetNthPageView 
	@see AVDocGetNumPageViews 
	@see AVDocGetPageView 
	@see AVPageViewGetAVDoc 
*/
POKE(AVPageViewDocDidChange,
	 (AVPageView pageView, AVDoc newDoc, AVDoc oldDoc),
	 (AVPageView pageView, AVDoc newDoc, AVDoc oldDoc, void *clientData),
	 (pageView, newDoc, oldDoc, cell->clientData))



 /**
	A document's selection has been cleared. 
	@param doc The document whose selection was cleared. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify AVDocWillClearSelection 
	@see AVDocClearSelection 
	@see AVDocDeleteSelection 
	@see AVDocSetSelection 
*/
POKE(AVDocDidClearSelection,
	(AVDoc doc),
	(AVDoc doc, void *clientData),
	(doc, cell->clientData))


/**
	The Acrobat viewer has finished initializing extensions. 
	
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify AVAppWillTerminateExtensions 
*/
POKE(AVAppDidInitExtensions, (void), (void *clientData), (cell->clientData))


/**
	The Acrobat viewer will terminate extensions. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@notify AVAppDidInitExtensions 
	@notify AVAppWillQuit 
*/
POKE(AVAppWillTerminateExtensions, (void), (void *clientData), (cell->clientData))


/**
	A document's active tool changed. 
	@param activeDoc The document. 
	@param prevTool The previously active tool. 
	@param curTool The currently active tool. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@see AVDocGetActiveTool 
	@see AVDocSetActiveTool 
*/
POKE(AVAppToolDidChange,
	 (AVDoc activeDoc, AVTool prevTool, AVTool curTool),
	 (AVDoc activeDoc, AVTool prevTool, AVTool curTool, void *clientData),
	 (activeDoc, prevTool, curTool, cell->clientData))

/**
	A document was opened and its permissions (if present) have 
	been validated. 
	@param doc The document. 
	@param clientData A pointer to a block of user-supplied 
	data that was passed in by the calling application when 
	this notification was registered for using <code>AVAppRegisterNotification()</code>.
	@notify PDDocDidOpen 
*/
POKE(PDDocPermsReady, (PDDoc doc), (PDDoc doc, void *clientData), (doc, cell->clientData))

/**
	A new window was created for a document. This will be
	called for all windows created for a document, including
	the initial window. It will arrive before <code>AVDocDidOpen()</code>.

	@param doc The document.
	@param window The new <code>AVWindow</code>.
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@see AVDocGetAVWindow
	@see AVDocWindowWasRemoved
*/
POKE(AVDocWindowWasAdded,
	 (AVDoc doc, AVWindow window),
	 (AVDoc doc, AVWindow window, void* clientData),
	 (doc, window, cell->clientData))

/**
	A window was removed from a document. This is called
	after the association between the window and document
	has been severed but before the window is destroyed.

	@param doc The document.
	@param window The <code>AVWindow</code> being removed.
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@see AVDocGetAVWindow
	@see AVDocWindowWasAdded
*/
POKE(AVDocWindowWasRemoved,
	 (AVDoc doc, AVWindow window),
	 (AVDoc doc, AVWindow window, void* clientData),
	 (doc, window, cell->clientData))

/**
	The active window associated with a document has changed. This
	is the window returned by <code>AVDocGetAVWindow()</code>.

	@param doc The document.
	@param oldWindow The previous active window for the document (which may be <code>NULL</code>).
	@param newWindow The new active window for the document.
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@see AVDocGetAVWindow
*/
POKE(AVDocAVWindowDidChange,
	 (AVDoc doc, AVWindow oldWindow, AVWindow newWindow),
	 (AVDoc doc, AVWindow oldWindow, AVWindow newWindow, void* clientData),
	 (doc, oldWindow, newWindow, cell->clientData))

/** An entry will be removed from the <code>PDNameTree</code>. */
POKE(PDNameTreeNameWillRemove,
	 (PDNameTree tree, const char *key, ASInt32 keyLen),
	 (PDNameTree tree, const char *key, ASInt32 keyLen, void *clientData),
	 (tree, key, keyLen, cell->clientData))

/**
	Sent when the page direction of the
	document changes. The page direction
	is determined by the Direction key
	in the ViewerPreferences dictionary.
	@param doc The document.
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
*/
POKE(PDDocPageDirectionDidChange,
	(PDDoc doc),
	(PDDoc doc, void* clientData),
	(doc, cell->clientData))


/**
	The contents of a popup note have change but have not yet been 
	set in the <code>PDAnnot</code>, thus the change is intermediate. The contents
	will be changed when input focus is lost by the popup note.

	@param doc		The <code>AVDoc</code> in which the annotation lives.
	@param annot	The <code>PDAnnot</code> representing the popup (possibly the parent of the popup).
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
*/
POKE( AVDocPopupContentsWillChange, ( AVDoc doc, PDAnnot annot ), ( AVDoc doc, PDAnnot annot, void *clientData ), ( doc, annot, cell->clientData ) )

/**
	The visibility of the <code>AVPanel</code> with the specified name changed.

	@param doc		The <code>AVDoc</code> for which the panel's visiblity changed. If <code>NULL</code>, the panel is floating.
	@param name		The <code>const char*</code> name of the panel for which the visibility has changed
	@param visible	The new visiblity state: <code>true</code> for visible, <code>false</code> otherwise.
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
*/
POKE( AVAppPanelVisibilityDidChangeForAVDoc, ( AVDoc doc, const char* name, ASBool visible ), ( AVDoc doc, const char* name, ASBool visible, void *clientData ), ( doc, name, visible, cell->clientData ) )

/**
	The XMP metadata describing the document as a whole has changed.

	@param pdDoc  The <code>PDDoc</code> whose describing XMP metadata has changed.
	@param newMetadata A serialized representation of the new describing XMP metadata.
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@see PDDocSetXAPMetadata
*/
POKE( PDDocXAPMetadataDidChange,
	  (PDDoc pdDoc, ASText newMetadata),
	  (PDDoc pdDoc, ASText newMetadata, void *clientData),
	  (pdDoc, newMetadata, cell->clientData))

/**
	The XMP metadata describing the object represented by a Cos dictionary
	has changed.

	@param dict The Cos dictionary or stream representing an object whose describing XMP metadata has changed.
	@param newMetadata A serialized representation of the new describing XMP metadata.
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
	@see CosDictSetXAPMetadata
*/
POKE( CosDictXAPMetadataDidChange,
	  (CosObj dict, ASText newMetadata),
	  (CosObj dict, ASText newMetadata, void *clientData),
	  (dict, newMetadata, cell->clientData))

/*
   The XMP metadata describing a marked content sequence has changed.

   @param container The <code>PDEContainer</code> representing a marked content sequence whose describing XMP metadata has changed.
   @param newMetadata A serialized representation of the new describing XMP metadata.
   @see PDEContainerSetXAPMetadata

*/
/*
POKE( PDEContainerXAPMetadataDidChange,
	  (PDEContainer container, ASText newMetadata),
	  (PDEContainer container, ASText newMetadata, void *clientData),
	  (container, newMetadata, cell->clientData))
	
*/

/**
	This notification will be broadcast when the user cancels
	the print dialog. It serves as the alternate to <code>AVDocDidPrint()</code>. The <code>AVDocDidPrint()</code>
	notification is not sent when the print dialog is cancelled. 

	@param doc	The <code>AVDoc</code> for which the print dialog was invoked.

	@notify AVDocDidPrint
	@see AVDocPrintPages
	@see AVDocPrintPagesWithParams

*/
POKE(AVDocPrintDialogWasCancelled,
	 (AVDoc doc),
	 (AVDoc doc, void *clientData),
	 (doc, cell->clientData))

/** 
	Sent when the inks for the document change. 
	@param doc The document.
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
*/
POKE(PDDocInksDidChange,
	 (PDDoc doc),
	 (PDDoc doc, void *clientData),
	 (doc, cell->clientData))
/** 
	Sent when the page is redrawn via <code>PDPageRedraw()</code>.
	@param page The page being redrawn.
	@param clientData A pointer to a block of user-supplied 
	data that was passed when the client registered for this 
	notification using <code>AVAppRegisterNotification()</code>.
*/
POKE(PDPageDidRedraw,
	 (PDPage page),
	 (PDPage page, void *clientData),
	 (page, cell->clientData))


#if TOOLKIT 
	 /**
	 Sent when the PDF Library has calculated the PostScript Print Page matrix. 
	 The PostScript Print Page matrix provides the mapping from user space to PS output space. 
	 The matrix can be used to calculate the PostScript page bounding box.
	 @param page The <code>PDPage</code> that is being printed.
	 @param matrix The Page matrix, which is passed to the client.
	 @param clientData A pointer to a block of user-supplied data that was passed when the client registered for this 
	 notification using <code>PDFLibraryRegisterNotification()</code>.
	 */

	 POKE(PDPageGetPrintMatrix,
	 (PDPage page, ASFixedMatrix *matrix), 
	 (PDPage page, ASFixedMatrix *matrix, void* clientData), 
	 (page, matrix, cell->clientData))


	 /**
	 Sent during PostScript printing, when a form or image containing an OPI dictionary is encountered.
     If it returns <code>true</code> (by filling the boolean variable passed to it), the client is presumed to have taken care of the entire 
     form or image, and <code>PDPrint</code> will emit nothing. Otherwise, <code>PDPrint</code> will generate OPI comments
     based on the dictionary.
     @param opi                The OPI dictionary.
     @param stm                The PostScript print stream.
     @param bl                 The pointer to a bool variable which the client returns.
     @param clientData         Client data.        
	 */                       

	 POKE(PDDocCallOPIHandler, 
    (OPIdict *opi, ASStm stm, ASBool *bl), 
    (OPIdict *opi, ASStm stm, ASBool *bl, void *clientData),
    (opi, stm, bl, cell->clientData))

	/**
	Sent during PostScript/Non-PostScript printing, before the page is actually
	printed. The notification is not raised if the file is exported to PostScript.
	This is Windows specific.

	@param dm					A pointer to a <code>DEVMODEW</code> which the client may modify.
	@param bl					A pointer to a boolean variable which the client sets to <code>true</code> after modifying the <code>DEVMODEW</code>.
	@param clientData			Client data.
	*/

	POKE(PDPageCreatePrintRecord,
    (void *devmode, ASBool *bl),
    (void *devmode, ASBool *bl, void *clientData),
    (devmode, bl, cell->clientData))


	/**
	Sent during PostScript/Non-PostScript printing on the Windows platform. This
	notification is sent after PDF Library finishes printing the page. Control is returned
	to the client, enable the client to draw extra content.

	@param clientData			Client data.
	*/

	POKE(PDPageDirectDrawToPlatform,
    (),
    (void *clientData),
    (cell->clientData))


#endif