ImagerScanConverter.mesa
Copyright © 1984, 1985, 1986 by Xerox Corporation. All rights reserved.
Michael Plass, April 29, 1985 1:07:06 pm PDT
Doug Wyatt, March 7, 1986 2:06:19 pm PST
DIRECTORY
ImagerPath USING [PathProc],
ImagerTransformation USING [Transformation],
SF USING [Box, BoxAction, maxBox];
~
BEGIN
PathProc: TYPE ~ ImagerPath.PathProc;
Transformation: TYPE ~ ImagerTransformation.Transformation;
Box: TYPE ~ SF.Box;
maxBox: Box ~ SF.maxBox;
BoxAction:
TYPE ~
SF.BoxAction;
DevicePath: TYPE ~ REF DevicePathRep;
CreatePath:
PROC [path: PathProc,
transformation: Transformation ←
NIL,
clipBox: Box ← maxBox,
scratch: DevicePath ←
NIL
-- for re-use of storage
]
RETURNS [DevicePath];
BoundingBox:
PROC [devicePath: DevicePath, clipBox: Box ← maxBox]
RETURNS [Box];
Not always as tight as possible, but should be pretty close.
NumberOfBoxes:
PROC [devicePath: DevicePath]
RETURNS [
INT];
Guaranteed to be an upper bound, should be close to the actual.
ConvertToBoxes:
PROC [devicePath: DevicePath, oddWrap:
BOOL ←
FALSE,
clipBox: Box ← maxBox, boxAction: BoxAction];
ConvertToManhattanPolygon:
PROC [devicePath: DevicePath, oddWrap:
BOOL ←
FALSE, clipBox: Box ← maxBox]
RETURNS [
LIST
OF Box];
Satisfies assertion for an ImagerManhattan.Polygon.