-/*
-Ghostview interface to ghostscript
-
-When the GHOSTVIEW environment variable is set, ghostscript draws on
-an existing drawable rather than creating its own window. Ghostscript
-can be directed to draw on either a window or a pixmap.
-
-Drawing on a Window
-
-The GHOSTVIEW environment variable contains the window id of the target
-window. The window id is an integer. Ghostscript will use the attributes
-of the window to obtain the width, height, colormap, screen, and visual of
-the window. The remainder of the information is gotten from the GHOSTVIEW
-property on that window.
-
-
-Drawing on a Pixmap
-
-The GHOSTVIEW environment variable contains a window id and a pixmap id.
-They are integers separated by white space. Ghostscript will use the
-attributes of the window to obtain the colormap, screen, and visual to use.
-The width and height will be obtained from the pixmap. The remainder of the
-information, is gotten from the GHOSTVIEW property on the window. In this
-case, the property is deleted when read.
-
-The GHOSTVIEW environment variable
-
-parameters: window-id [pixmap-id]
-
-scanf format: "%d %d"
-
-explanation of parameters:
-
- window-id: tells ghostscript where to
- - read the GHOSTVIEW property
- - send events
- If pixmap-id is not present,
- ghostscript will draw on this window.
-
- pixmap-id: If present, tells ghostscript that a pixmap will be used
- as the final destination for drawing. The window will
- not be touched for drawing purposes.
-
-The GHOSTVIEW property
-
-type: STRING
-
-parameters:
-
- bpixmap orient llx lly urx ury xdpi ydpi [left bottom top right]
-
-scanf format: "%d %d %d %d %d %d %f %f %d %d %d %d"
-
-explanation of parameters:
-
- bpixmap: pixmap id of the backing pixmap for the window. If no
- pixmap is to be used, this parameter should be zero. This
- parameter must be zero when drawing on a pixmap.
-
- orient: orientation of the page. The number represents clockwise
- rotation of the paper in degrees. Permitted values are
- 0, 90, 180, 270.
-
- llx, lly, urx, ury: Bounding box of the drawable. The bounding box
- is specified in PostScript points in default user coordinates.
-
- xdpi, ydpi: Resolution of window. (This can be derived from the
- other parameters, but not without roundoff error. These
- values are included to avoid this error.)
-
- left, bottom, top, right: (optional)
- Margins around the window. The margins extend the imageable
- area beyond the boundaries of the window. This is primarily
- used for popup zoom windows. I have encountered several
- instances of PostScript programs that position themselves
- with respect to the imageable area. The margins are specified
- in PostScript points. If omitted, the margins are assumed to
- be 0.
-
-Events from ghostscript
-
-If the final destination is a pixmap, the client will get a property notify
-event when ghostscript reads the GHOSTVIEW property causing it to be deleted.
-
-Ghostscript sends events to the window where it read the GHOSTVIEW property.
-These events are of type ClientMessage. The message_type is set to
-either PAGE or DONE. The first long data value gives the window to be used
-to send replies to ghostscript. The second long data value gives the primary
-drawable. If rendering to a pixmap, it is the primary drawable. If rendering
-to a window, the backing pixmap is the primary drawable. If no backing pixmap
-is employed, then the window is the primary drawable. This field is necessary
-to distinguish multiple ghostscripts rendering to separate pixmaps where the
-GHOSTVIEW property was placed on the same window.
-
-The PAGE message indicates that a "page" has completed. Ghostscript will
-wait until it receives a ClientMessage whose message_type is NEXT before
-continuing.
-
-The DONE message indicates that ghostscript has finished processing.
-
-*/
-