Next: , Previous: Printing whole methods, Up: Producing printed output



8.5 Printing in PostScript

The Ringing Class Library provides subclasses of the printpage and printrow classes for producing output in the PostScript language. These classes are declared in the ringing/print_ps.h header file. The output conforms to the Document Structuring Conventions (DSC) version 3.0 and uses only Level 1 language.

The printpage_ps class is derived from printpage, and handles all output to a PostScript stream. The new functions in this class are constructors and some PostScript-specific operations.

— Constructor: printpage_ps::printpage_ps (ostream& o);

This creates a new PostScript printing object, which will send its output to the stream o.

— Constructor: printpage_ps::printpage_ps (ostream& o, const dimension& page_height);

This creates a new PostScript printing object, which will send its output to the stream o. Each page will be printed with landscape orientation; because of the way PostScript works, this means that the page height must be given.

— Constructor: printpage_ps::printpage_ps (ostream o, int x0, int y0, int x1, int y1);

This creates a new object which will write an Encapsulated PostScript (EPS) file to the stream o. The bounding box for the EPS file is specified in points by the arguments x0, y0, x1 and y1. This bounding box has no effect on where you can print things using this object, but other applications manipulating the EPS file may rely on the bounding box in order to work properly.

The printrow_ps class is for printing rows to a printpage_ps object. You will probably never have to deal with this class directly, as it should be created and dealt with by the interface for the printrow class.