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];
ImagerScanConverter: CEDAR DEFINITIONS
~ 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;
DevicePathRep: TYPE;
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: BOOLFALSE,
clipBox: Box ← maxBox, boxAction: BoxAction];
ConvertToManhattanPolygon: PROC [devicePath: DevicePath, oddWrap: BOOLFALSE, clipBox: Box ← maxBox] RETURNS [LIST OF Box];
Satisfies assertion for an ImagerManhattan.Polygon.
END.