<> <> <> DIRECTORY Atom USING [PropList], ImagerPixelArray USING [Function, PixelArray, Sample, SampleBuffer, SampleMap, Transformation, Vec]; ImagerPixelArrayPrivate: CEDAR DEFINITIONS ~ BEGIN OPEN ImagerPixelArray; MaxSampleValueProc: TYPE ~ PROC [self: PixelArray, i: NAT] RETURNS [Sample]; GetProc: TYPE ~ PROC [self: PixelArray, i: NAT, s, f: INT] RETURNS [Sample]; GetSamplesProc: TYPE ~ PROC [self: PixelArray, i: NAT, s, f: INT, samples: SampleBuffer, start: NAT, count: NAT]; TransferProc: TYPE ~ PROC [self: PixelArray, i: NAT, s, f: INT, dst: SampleMap, dstMin: Vec, size: Vec, function: Function]; CopyProc: TYPE ~ PROC [self: PixelArray] RETURNS[PixelArray]; PixelArrayClass: TYPE ~ REF PixelArrayClassRep; PixelArrayClassRep: TYPE ~ RECORD [ type: ATOM, MaxSampleValue: MaxSampleValueProc, Get: GetProc, GetSamples: GetSamplesProc, Transfer: TransferProc, Copy: CopyProc, propList: Atom.PropList _ NIL ]; NewClass: PROC [type: ATOM, MaxSampleValue: MaxSampleValueProc, Get: GetProc _ NIL, GetSamples: GetSamplesProc _ NIL, Transfer: TransferProc _ NIL, Copy: CopyProc _ NIL ] RETURNS [PixelArrayClass]; New: PROC [class: PixelArrayClass, data: REF, immutable: BOOL, samplesPerPixel: NAT, sSize, fSize: INT, m: Transformation ] RETURNS [PixelArray]; END.