<> <> DIRECTORY ImagerPixelMaps; ImagerScanConverter: CEDAR DEFINITIONS ~ BEGIN DeviceRectangle: TYPE ~ ImagerPixelMaps.DeviceRectangle; bigRectangle: DeviceRectangle ~ [sMin: -big/2, fMin: -big/2, sSize: big, fSize: big]; big: PRIVATE INTEGER ~ LAST[NAT]; PixelMap: TYPE ~ ImagerPixelMaps.PixelMap; Function: TYPE ~ ImagerPixelMaps.Function; DevicePath: TYPE ~ REF DevicePathRep; DevicePathRep: TYPE; PathProc: TYPE ~ PROC [ move: PROC [s, f: REAL], line: PROC [s, f: REAL], curve: PROC [s1, f1, s2, f2, s3, f3: REAL] <> ]; CreatePath: PROC [ pathProc: PathProc, clipBox: DeviceRectangle _ bigRectangle, scratch: DevicePath _ NIL -- for re-use of storage ] RETURNS [DevicePath]; BoundingBox: PROC [devicePath: DevicePath] RETURNS [DeviceRectangle]; <> NumberOfRuns: PROC [devicePath: DevicePath] RETURNS [numberOfRuns: INT]; <> ConvertToRuns: PROC [ devicePath: DevicePath, runProc: PROC [sMin, fMin: INTEGER, fSize: NAT], clipBox: DeviceRectangle _ bigRectangle, parityFill: BOOLEAN _ FALSE ]; ConvertToPixels: PROC [ devicePath: DevicePath, pixelMap: PixelMap, value: CARDINAL _ 1, parityFill: BOOLEAN _ FALSE, function: Function _ [null, null] ]; END.