ImagerScanConverter.mesa
Copyright © 1984, 1985 by Xerox Corporation. All rights reserved.
Michael Plass, April 29, 1985 1:07:06 pm PDT
Doug Wyatt, March 7, 1985 2:40:16 pm PST
DIRECTORY
ImagerPath USING [PathProc],
ImagerPixelMap USING [DeviceRectangle, Function, PixelMap],
ImagerTransformation USING [Transformation];
~
BEGIN
PathProc: TYPE ~ ImagerPath.PathProc;
Transformation: TYPE ~ ImagerTransformation.Transformation;
DeviceRectangle: TYPE ~ ImagerPixelMap.DeviceRectangle;
PixelMap: TYPE ~ ImagerPixelMap.PixelMap;
Function:
TYPE ~ ImagerPixelMap.Function;
DevicePath: TYPE ~ REF DevicePathRep;
CreatePath:
PROC [path: PathProc,
transformation: Transformation ←
NIL,
clipBox: DeviceRectangle,
scratch: DevicePath ←
NIL
-- for re-use of storage
]
RETURNS [DevicePath];
BoundingBox:
PROC [devicePath: DevicePath]
RETURNS [DeviceRectangle];
Not always as tight as possible, but should be pretty close.
NumberOfRuns:
PROC [devicePath: DevicePath]
RETURNS [numberOfRuns:
INT];
Guaranteed to be an upper bound, should be close to the actual.
ConvertToRuns:
PROC [devicePath: DevicePath,
runProc:
PROC [sMin, fMin:
INTEGER, fSize:
NAT],
clipBox: DeviceRectangle,
parityFill:
BOOLEAN ←
FALSE
];
ConvertToPixels:
PROC [devicePath: DevicePath,
pixelMap: PixelMap,
value:
CARDINAL ← 1,
parityFill:
BOOLEAN ←
FALSE,
function: Function ← [null, null]
];
ConvertToManhattanPolygon:
PROC [devicePath: DevicePath,
clipBox: DeviceRectangle,
parityFill:
BOOLEAN ←
FALSE
]
RETURNS [
LIST
OF DeviceRectangle];
Satisfies assertion for an ImagerManhattan.Polygon.