ImagerPixelRows.mesa
Copyright © 1984, Xerox Corporation. All rights reserved.
Michael Plass, August 6, 1984 9:07:08 am PDT
Doug Wyatt, August 10, 1984 2:53:28 pm PDT
DIRECTORY
ImagerPixelMaps USING [PixelMap, PixelMapRep],
ImagerTransform USING [Transformation];
ImagerPixelRows: CEDAR DEFINITIONS
~ BEGIN
PixelMap: TYPE ~ ImagerPixelMaps.PixelMap;
PixelMapRep: TYPE ~ ImagerPixelMaps.PixelMapRep;
Transformation: TYPE ~ ImagerTransform.Transformation;
Pixel: TYPE ~ CARDINAL;
PixelRow: TYPE ~ REF PixelRowRep;
PixelRowRep: TYPE ~ RECORD [
sOrigin: INTEGER,
fOrigin: INTEGER,
fSize: NAT,
pixel: SEQUENCE maxSize: NAT OF Pixel
];
CreatePixelRow: PROC[sMin, fMin: INTEGER, fSize: NAT] RETURNS[new: PixelRow];
ClearPixelRow: PROC[pixelRow: PixelRow];
CopyPixelRow: PROC[pixelRow: PixelRow, scratch: PixelRow ← NIL] RETURNS[new: PixelRow];
AddByColumn: PROC[dest, source: PixelRow];
SubtractByColumn: PROC[dest, source: PixelRow];
LoadPixelRow: PROC[pixelRow: PixelRow, source: PixelMap];
StorePixelRow: PROC[pixelRow: PixelRow, dest: PixelMap];
TransferSamples: PROC[dest, source: PixelMap, transformation: Transformation, tile: BOOLEANFALSE, multiplier: CARDINAL ← 1, lgScale: INTEGER ← 0];
UnderSample: PROC[pixelMap: PixelMap, transformation: Transformation, tile: BOOLEANFALSE, background: CARDINAL ← 0, scratch: REF PixelMapRep ← NIL] RETURNS [PixelMap];
BoxFilter: PROC[pixelMap: PixelMap, sSizeBox, fSizeBox: NAT];
BoxTooBig: ERROR;
ChangeBitsPerPixel: PROC[pixelMap: PixelMap, newLgBitsPerPixel: [0..4], scratch: REF PixelMapRep ← NIL] RETURNS[PixelMap];
Renormalize: PROC[pixelMap: PixelMap, oldmin, oldmax, newmin, newmax: REAL];
END.