This appendix explains how Impressario application developers and filter/driver developers can take advantage of the new features in Impressario 1.2.
The major topics discussed are:
The major changes in Impressario 1.2 for application developers are:
The PrintBox widget now allows printer-specific options panels to be launched.
The new libimp library greatly eases the reading and writing of Silicon Graphics Image files to any format, in both 8- and 16-bit per channel formats.
The major changes in Impressario 1.2 for filter/driver developers are:
The chunky data format is obsolete. Convert your drivers to use STIFF format.
16-bit per channel color and grayscale is now accepted by libimp and libstiff.
SCSI printer drivers should no longer be installed as setuid programs. The Silicon Graphics printer installer tools reconfigure the device port to be accessible to lp.
Graphical options panels now must be installed in the directory /var/spool/lp/gui_model/ELF and require their own application resource file. See chapter 6 for detailed information on the creation and installation of graphical options panels.
Developers incorporating printing in their application will find Impressario 1.2 backward-compatible with Impressario 1.0.
The libspool library has expanded support for printer and spooler options handling. The libpod library now has a function to write the config file as well as a number of new convenience functions to work with page sizes and printer resolutions. See the libspool(3) and libpod(3) man pages for details on these libraries.
The major changes in Impressario 1.2 concern printing filter and driver development.
In Impressario 1.2, the host-based PostScript interpreter is now called psrip. The psrip program obsoletes the Impressario 1.0 interpreter called pschunky. A shell script called pschunky is provided in Impressario 1.2 for backward compatibility. This script simply provides a pschunky-compatible front end to the psrip program.
The psrip program provides expanded output format support. Using psrip, it is now possible to RIP to the k, w, rgb, cmy, cmyk, ymc, ymck, and kcmy colorspaces. The raster image may be output in 1-, 4-, or 8-bits per color component and in either planar or packed format.
The primary output image file format for psrip is Stream TIFF (STIFF). STIFF is a streamable subset of TIFF (Tag Image File Format). STIFF output obsoletes the Impressario 1.0 CHUNKY format. For backward compatibility, psrip can also output Impressario 1.0-compatible CHUNKY format by specifying colorspaces oldk, oldcmy, and oldcmyk, but this functionality will soon go away, so you must upgrade your drivers now to use STIFF.
As indicated above, the primary interchange file format between printer filters and drivers has been changed in Impressario 1.0 from the proprietary CHUNKY format to STIFF. STIFF is a fully compatible subset of TIFF 6.0 and therefore has many advantages over CHUNKY format. One such advantage is the ability to export TIFF-compatible raster files to TIFF 6.0 applications. All printer driver and filter development must use the STIFF file format using the libstiff API.
The rgb2ps filter has been obsoleted by the sgi2ps program. Both programs take Silicon Graphics image files as input and produce PostScript output. However, sgi2ps provides expanded output capabilities. The sgi2ps program can output black and white (w), rgb, and cmyk PostScript in both ASCII and binary formats. The binary output format is especially efficient when the output of sgi2ps is piped directly to the psrip interpreter. In addition, sgi2ps provides multi-image-per-page n-up capability.
Due to performance increases in both the Silicon Graphics Image to PostScript file generation and the PostScript interpreter, there is no longer a need for a filter to convert directly from Silicon Graphics image file format to STIFF format. Conversion from Silicon Graphics image file format to STIFF raster image format is accomplished by piping the output of sgi2ps to the psrip interpreter using binary PostScript as the intermediate file format. The tochunky filter is now obsolete.
The printer model file architecture has changed for Impressario 1.1. The Impressario 1.1 printer model files now use the programs wstype and fileconvert to perform file typing and conversion, respectively. The programs obsolete the use of the file command and the hard-coded filter chains found in the Impressario 1.0 model files. Use of these programs greatly expands the number of file types that can be printed and simplifies the model file logic.
In Impressario 1.1, the POD file format has been fully documented (see pod(4)). In addition, a number of enhancements to the POD files now allow a wide range of printers to be fully characterized. Specific enhancements include the ability to specify the colorspace, image format, and image depth for the printer and the ability to handle printers that can switch resolutions on the fly. Available fonts can now be searched for in the filesystem instead of being hard-coded in the config file.
IRIX 5 introduces support for multiple parallel ports and up to 72 serial ports, and provides a number of new options to device developers using SCSI. We recommend you get a copy of the IRIX Device Driver Programming Guide if you use SCSI at all.
IRIX 5 uses a new, more flexible compiled format called ELF. You cannot link ELF and COFF object files together, so you must recompile all sources on an IRIX 5 machine. If you wish to relink your applications, you may still ship COFF format options panels and they will continue to work.