NAME

       Tk_CanvasPsY, Tk_CanvasPsBitmap, Tk_CanvasPsColor, Tk_Can­
       vasPsFont, Tk_CanvasPsPath, Tk_CanvasPsStipple  -  utility
       procedures for generating Postscript for canvases


SYNOPSIS

       #include <tk.h>

       double
       Tk_CanvasPsY(canvas, canvasY)

       int
       Tk_CanvasPsBitmap(interp, canvas, bitmap, x, y, width, height)

       int
       Tk_CanvasPsColor(interp, canvas, colorPtr)

       int
       Tk_CanvasPsFont(interp, canvas, fontStructPtr)

       Tk_CanvasPsPath(interp, canvas, coordPtr, numPoints)

       int
       Tk_CanvasPsStipple(interp, canvas, bitmap)


ARGUMENTS

       Tk_Canvas      canvas           (in)      A   token   that
                                                 identifies     a
                                                 canvas    widget
                                                 for        which
                                                 Postscript    is
                                                 being generated.

       double         canvasY          (in)      Y-coordinate  in
                                                 the space of the
                                                 canvas.

       Tcl_Interp     *interp          (in/out)  A   Tcl   inter­
                                                 preter;
                                                 Postscript    is
                                                 appended to  its
                                                 result,  or  the
                                                 result  may   be
                                                 replaced with an
                                                 error message.

       Pixmap         bitmap           (in)      Bitmap  to   use
                                                 for   generating
                                                 Postscript.

       int            x                (in)      X-coordinate
                                                 region  to  out­
                                                 put.

       int            y                (in)      Y-coordinate
                                                 within bitmap of
                                                 top   edge    of
                                                 region  to  out­
                                                 put.

       int            width            (in)      Width of  region
                                                 of   bitmap   to
                                                 output, in  pix­
                                                 els.

       int            height           (in)      Height of region
                                                 of   bitmap   to
                                                 output,  in pix­
                                                 els.

       XColor         *colorPtr        (in)      Information
                                                 about      color
                                                 value to set  in
                                                 Postscript.

       XFontStruct    *fontStructPtr   (in)      Font  for  which
                                                 Postscript is to
                                                 be generated.

       double         *coordPtr        (in)      Pointer   to  an
                                                 array of coordi­
                                                 nates for one or
                                                 more      points
                                                 specified     in
                                                 canvas   coordi­
                                                 nates.       The
                                                 order of  values
                                                 in  coordPtr  is
                                                 x1, y1, x2,  y2,
                                                 x3,  y3,  and so
                                                 on.

       int            numPoints        (in)      Number of points
                                                 at coordPtr.
_________________________________________________________________



DESCRIPTION

       These  procedures  are  called  by canvas type managers to
       carry  out  common   functions   related   to   generating
       Postscript.   Most  of  the procedures take a canvas argu­
       ment, which refers to a canvas widget for which Postscript
       is being generated.
       of a canvas and returns the value that should be used  for
       that point in the Postscript currently being generated for
       canvas.   Y  coordinates  require  transformation  because
       Postscript uses an origin at the lower-left corner whereas
       X uses an origin at the upper-left corner.  Canvas x coor­
       dinates  can be used directly in Postscript without trans­
       formation.

       Tk_CanvasPsBitmap  generates  Postscript  to  describe   a
       region of a bitmap.  The Postscript is generated in proper
       image data format for Postscript, i.e.,  as  data  between
       angle  brackets,  one  bit  per  pixel.  The Postscript is
       appended to interp->result and TCL_OK is  returned  unless
       an  error  occurs, in which case TCL_ERROR is returned and
       interp->result is overwritten with an error message.

       Tk_CanvasPsColor generates Postscript to set  the  current
       color  to correspond to its colorPtr argument, taking into
       account any color map specified in the postscript command.
       It  appends  the  Postscript to interp->result and returns
       TCL_OK unless an error occurs, in which case TCL_ERROR  is
       returned  and  interp->result is overwritten with an error
       message.

       Tk_CanvasPsFont generates Postscript that sets the current
       font  to  match  fontStructPtr  as  closely  as  possible.
       Tk_CanvasPsFont takes into account any font map  specified
       in  the postscript command, and it does the best it can at
       mapping X fonts  to  Postscript  fonts.   It  appends  the
       Postscript  to interp->result and returns TCL_OK unless an
       error occurs, in which  case  TCL_ERROR  is  returned  and
       interp->result is overwritten with an error message.

       Tk_CanvasPsPath  generates  Postscript  to set the current
       path to the set of points given by coordPtr and numPoints.
       It appends the resulting Postscript to interp->result.

       Tk_CanvasPsStipple generates Postscript that will fill the
       current path in stippled fashion.  It uses bitmap  as  the
       stipple pattern and the current Postscript color;  ones in
       the stipple bitmap are drawn in  the  current  color,  and
       zeroes  are  not drawn at all.  The Postscript is appended
       to interp->result and TCL_OK is returned, unless an  error
       occurs,   in   which   case   TCL_ERROR  is  returned  and
       interp->result is overwritten with an error message.



KEYWORDS

       bitmap, canvas, color, font, path, Postscript, stipple