ImagerPixelRow.mesa
Copyright © 1984, 1985 by Xerox Corporation. All rights reserved.
Michael Plass, August 6, 1984 9:07:08 am PDT
Doug Wyatt, March 7, 1985 2:41:44 pm PST
DIRECTORY
ImagerPixelMap USING [PixelMap, PixelMapRep],
ImagerTransformation USING [Transformation];
ImagerPixelRow: CEDAR DEFINITIONS
~ BEGIN
PixelMap: TYPE ~ ImagerPixelMap.PixelMap;
PixelMapRep: TYPE ~ ImagerPixelMap.PixelMapRep;
Transformation: TYPE ~ ImagerTransformation.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.