<> <> <> <<>> DIRECTORY ImagerPixelMap USING [DeviceRectangle, PixelMap, PixelMapRep]; DynamicBits: CEDAR DEFINITIONS ~ BEGIN PixelMap: TYPE ~ ImagerPixelMap.PixelMap; DeviceRectangle: TYPE ~ ImagerPixelMap.DeviceRectangle; Kernel: TYPE ~ PixelMap; Intensity: TYPE ~ [0..256); NoisePenalty: TYPE ~ [0..5000); PrinterModel: TYPE ~ PROC [bitmap: PixelMap, encoding: CARDINAL] RETURNS [Intensity, NoisePenalty]; Model: TYPE ~ REF ModelRep; ModelRep: TYPE ~ RECORD [ neighborhood: DeviceRectangle, kernel: Kernel, data: REF ]; ModelParameterFault: ERROR [data: REF]; CreatePrinterModel: PROC [neighborhood: DeviceRectangle, printerModel: PrinterModel, kernel: PixelMap] RETURNS [model: Model]; RotateModel: PROC [model: Model] RETURNS [Model]; <> Convolve: PROC [pixelMap: PixelMap, kernel: Kernel, unitIntensity: CARDINAL]; KernelWeight: PROC [kernel: Kernel] RETURNS [weight: INT]; AddBorder: PROC [pixelMap: PixelMap, borderSize: NAT, borderValue: CARDINAL] RETURNS [bordered: PixelMap]; ErrorOf: PROC [gray: PixelMap, bitmap: PixelMap, model: Model] RETURNS [INT]; ApplyModel: PROC [bitmap: PixelMap, model: Model] RETURNS [PixelMap]; AbsDiff: PROC [a, b: PixelMap] RETURNS [error: INT]; RandomDither: PROC [gray: PixelMap] RETURNS [bitmap: PixelMap]; <> FindFixedBits: PROC [gray: PixelMap, radius: NAT] RETURNS [fixedBits: PixelMap]; <> TuneSwath: PROC [gray: PixelMap, bitmap: PixelMap, fixedBits: PixelMap, swath: DeviceRectangle, model: Model, scratch: REF] RETURNS [newScratch: REF]; <> <> <> <<>> MakePixelMapFromBits: PROC [ bitPointer: LONG POINTER, bitsPerLine: NAT, window: DeviceRectangle, scratch: REF ImagerPixelMap.PixelMapRep ] RETURNS [pixelMap: PixelMap]; RegisterImpl: PROC [class: Class]; <> Class: TYPE ~ RECORD [ sKernelRadius: NAT, fKernelRadius: NAT, sModelRadius: NAT, fModelRadius: NAT, swathSize: NAT, CreatePrinterModel: PROC [neighborhood: DeviceRectangle, printerModel: PrinterModel, kernel: PixelMap] RETURNS [model: Model], DoWithPrinterModel: PROC [model: Model, action: PROC[PrinterModel]], Convolve: PROC [pixelMap: PixelMap, kernel: Kernel, unitIntensity: CARDINAL], ApplyModel: PROC [bitmap: PixelMap, model: Model] RETURNS [PixelMap], TuneSwath: PROC [gray: PixelMap, bitmap: PixelMap, fixedBits: PixelMap, swath: DeviceRectangle, model: Model, scratch: REF] RETURNS [newScratch: REF] ]; END.