ImagerMaskCapture.mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
Michael Plass, May 16, 1985 3:46:51 pm PDT
DIRECTORY
Imager USING [Context, Rectangle],
ImagerDev USING [CharMask, RunProc],
ImagerManhattan USING [Polygon],
ImagerPixelMap USING [PixelMap],
ImagerTransformation USING [Transformation];
ImagerMaskCapture: CEDAR DEFINITIONS
~ BEGIN OPEN Imager, ImagerDev, ImagerPixelMap, ImagerTransformation;
Manhattan: TYPE ~ ImagerManhattan.Polygon;
Capturing masks from Imager clients
Capture: PROC [operator: PROC[Context], m: Transformation, r: REAL] RETURNS [CharMask];
m is the transformation to device coordinates, with x~s and y~f.
Returns NIL if the operator must be re-executed each time, and nothing can be said about the bounding box and/or width.
Returns uncached variant if the operator cannot be cached for some reason (including tryForMask=FALSE), but its bounding box and width are known.
Otherwise returns cached variant; raster IFF (size of raster rep) <= r*(size of runs rep).
The font and char fields of the result are not filled in.
CaptureBounds: PROC [operator: PROC[Context], m: Transformation] RETURNS [Rectangle];
Cant: SIGNAL [why: ATOM];
Raised by the following whenever a situation is detected where the result would not be well-defined;
CaptureRuns: PROC [operator: PROC[Context], m: Transformation, run: RunProc];
CaptureBitmap: PROC [operator: PROC[Context], m: Transformation] RETURNS [PixelMap];
CaptureManhattan: PROC [operator: PROC[Context], m: Transformation] RETURNS [Manhattan];
END.