14
December 15, 1997
X Print Service Extension Library
14
X Print Service Extension Library
Release 6.4
X Version 11
If type is
XPDocNormal, then the X Print Server will generate document data, and depending on the DDX
driver, can incorporate additional data from
XpPutDocumentData into the output. For more information, see
XpPutDocumentData.
The
XPDocumentType values are defined in <X11/extensions/Print.h>:
#define XPDocNormal
1
/* Doc data handled by Xserver*/
#define XPDocRaw
2
/* Doc data passed through Xserver*/
All changes to the
XPDocAttr attribute pool (see XpSetAttributes) must be made prior to calling XpStartDoc,
after which an XPBadSequence will be generated if changes are attempted, until
XpEndDoc is called.
The application is not required to call
XpStartDoc and XpEndDoc in the process of printing. The "document"
delineation may not be useful from the application's or spooler's perspective, hence is optional. If
XpStartPage is called immediately after XpStartJob then a synthetic XpStartDoc with XPDocNormal will be
assumed by the X Print Server prior to
XpStartPage (i.e. the XPStartDocNotify and XPStartPageNotify events will
have the same sequence number). Likewise, if
XpEndJob is called immediately after XpEndPage then a syn-
thetic
XpEndDoc will be assumed by the X Print Server prior to XpEndJob (i.e., the XPEndDocNotify and
XPEndJobNotify events will have the same sequence number).
For clients selecting
XPPrintMask (see XpSelectInput), the event XPPrintNotify will be generated with its detail
field set to
XPStartDocNotify.
XpStartDoc can generate one of the following errors:
XPBadContext
A valid print context-id has not been set prior to making this call.
XPBadSequence
The function was not called in the proper order with respect to the other X Print
Service Extension calls (example,
XpStartDoc prior to XpStartJob).
BadValue
The value specified for type is not valid.
Use
XpEndDoc to indicate the ending of a print document.
void XpEndDoc (display)
Display *display;
display
Specifies a pointer to the Display structure; returned from XOpenDisplay.
XpEndDoc signals the end of a print document. All resulting document data is assembled and combined with
data previously sent by
XpPutDocumentData.
For clients selecting
XPPrintMask (see XpSelectInput), the event XPPrintNotify will be generated with its detail
field set to
XPEndDocNotify.
XpEndDoc can generate one of the following errors:
XPBadContext
A valid print context-id has not been set prior to making this call.
XPBadSequence
The function was not called in the proper order with respect to the other X Print
Service Extension calls (example,
XpEndDoc prior to XpStartDoc).
Use
XpCancelDoc to cancel a print document.
void XpCancelDoc (display, discard)
Display *display;
Bool discard;
display
Specifies a pointer to the Display structure; returned from XOpenDisplay.
discard
When
TRUE, specifies that all XPPrintNotify events with a detail of XPEndPageNotify or
XPEndDocNotify should be discarded.