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: BOOLEAN _ FALSE, multiplier: CARDINAL _ 1, lgScale: INTEGER _ 0]; UnderSample: PROC[pixelMap: PixelMap, transformation: Transformation, tile: BOOLEAN _ FALSE, 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. ŽImagerPixelRows.mesa Copyright c 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 Ę4˜šœ™Jšœ Ďmœ/™:J™,J™*J˜—šĎk ˜ Jšœžœ˜.Jšœžœ˜'J˜—Jšœžœž ˜"Jšœž˜J˜Jšœ žœ˜*Jšœ žœ˜0Jšœžœ"˜6J˜Jšœžœžœ˜Jšœ žœžœ ˜!šœ žœžœ˜Jšœ žœ˜Jšœ žœ˜Jšœžœ˜ Jšœžœ žœžœ˜%Jšœ˜—J˜š Ďnœžœ žœ žœžœ˜MJ˜—šŸ œžœ˜(J˜—šŸ œžœ)žœžœ˜WJ˜—šŸ œžœ˜*J˜—šŸœžœ˜/J˜—šŸ œžœ'˜9J˜—šŸ œžœ%˜8J˜—š Ÿœžœ?žœžœžœžœ˜•J˜—šŸ œžœ;žœžœžœžœžœžœ ˜ŞJ˜—šŸ œžœ)žœ˜=Jšœ žœ˜J˜—š Ÿœžœ9žœžœžœ ˜zJ˜—šŸ œžœ5žœ˜LJ˜—Jšžœ˜—…—Üž