<> <> <> <> <<>> <> DIRECTORY ImagerManhattan USING [Polygon], ImagerPixelArray USING [PixelArray], ImagerPixelMap USING [DeviceRectangle, Function, PixelMap, PixelMapRep, Tile], ImagerScanConverter USING [DevicePath], ImagerTransformation USING [Transformation]; ImagerMask: CEDAR DEFINITIONS ~ BEGIN <> <<>> DeviceRectangle: TYPE ~ ImagerPixelMap.DeviceRectangle; PixelMap: TYPE ~ ImagerPixelMap.PixelMap; PixelArray: TYPE ~ ImagerPixelArray.PixelArray; Tile: TYPE ~ ImagerPixelMap.Tile; Function: TYPE ~ ImagerPixelMap.Function; Transformation: TYPE ~ ImagerTransformation.Transformation; ManhattanPolygon: TYPE ~ ImagerManhattan.Polygon; DevicePath: TYPE ~ ImagerScanConverter.DevicePath; Mask: TYPE ~ REF; <> <<>> FromRectangle: PROC [box: DeviceRectangle] RETURNS [Mask]; FromManhattanPolygon: PROC [polygon: ManhattanPolygon] RETURNS [Mask] ~ INLINE { RETURN[polygon] }; <> FromBitmap: PROC [pixelMap: PixelMap] RETURNS [Mask]; <> FromDevicePath: PROC [devicePath: DevicePath] RETURNS [Mask] ~ INLINE { RETURN[devicePath] }; <> FromPixelArray: PROC [pixelArray: PixelArray, compositeTransformation: Transformation] RETURNS [Mask]; <> <<>> BoundingBox: PROC [mask: Mask] RETURNS [DeviceRectangle]; CountRuns: PROC [mask: Mask] RETURNS [numberOfRuns: INT]; <> GenerateRuns: PROC [mask, clipper: Mask, runProc: PROC [sMin, fMin: INTEGER, fSize: NAT], sTranslate, fTranslate: INTEGER _ 0]; <> <> ApplyTile: PROC [mask, clipper: Mask, dest: PixelMap, tile: Tile, function: Function _ [null, null], sTranslate, fTranslate: INTEGER _ 0]; ApplyConstant: PROC [mask, clipper: Mask, dest: PixelMap, value: CARDINAL, function: Function _ [null, null], sTranslate, fTranslate: INTEGER _ 0]; ToPixelMap: PROC [mask, clipper: Mask, sTranslate, fTranslate: INTEGER _ 0, scratch: REF ImagerPixelMap.PixelMapRep _ NIL] RETURNS [PixelMap]; <> ToManhattanPolygon: PROC [mask, clipper: Mask, sTranslate, fTranslate: INTEGER _ 0] RETURNS [ManhattanPolygon]; <> PixelArrayFromPixelMap: PROC [pixelMap: PixelMap] RETURNS [PixelArray]; <> END.