---
name: "CanvPsY"
section: "2"
platform: "linux"
package: "perl-tk"
version: "b11.02-5"
release: "Debian 1.3 (Bo)"
platforms: ["linux"]
url: "https://new.carta.tech/CanvPsY"
---

# CanvPsY(2)

utility procedures for generating Postscript for canvases

## NAME

Tk\_CanvasPsY, Tk\_CanvasPsBitmap, Tk\_CanvasPsColor, Tk\_CanvasPsFont, 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

A token that identifies a canvas widget for which Postscript is being generated. Y-coordinate in the space of the canvas. A Tcl interpreter;  Postscript is appended to its result, or the result may be replaced with an error message. Bitmap to use for generating Postscript. X-coordinate within *bitmap* of left edge of region to output. Y-coordinate within *bitmap* of top edge of region to output. Width of region of bitmap to output, in pixels. Height of region of bitmap to output, in pixels. Information about color value to set in Postscript. Font for which Postscript is to be generated. Pointer to an array of coordinates for one or more points specified in canvas coordinates. The order of values in *coordPtr* is x1, y1, x2, y2, x3, y3, and so on. 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* argument, which refers to a canvas widget for which Postscript is being generated.

**Tk\_CanvasY** takes as argument a y-coordinate in the space 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 coordinates can be used directly in Postscript without transformation.

**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
