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; Capture: PROC [operator: PROC[Context], m: Transformation, r: REAL] RETURNS [CharMask]; CaptureBounds: PROC [operator: PROC[Context], m: Transformation] RETURNS [Rectangle]; Cant: SIGNAL [why: ATOM]; 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. τImagerMaskCapture.mesa Copyright c 1985 by Xerox Corporation. All rights reserved. Michael Plass, May 16, 1985 3:46:51 pm PDT Capturing masks from Imager clients 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. Raised by the following whenever a situation is detected where the result would not be well-defined; Κ„˜codešœ™Kšœ Οmœ1™