IIPixelArrayPrivate.mesa
Copyright © 1985, 1986 by Xerox Corporation. All rights reserved.
Doug Wyatt, March 3, 1986 3:10:14 pm PST
Michael Plass, September 15, 1986 4:32:45 pm PDT
DIRECTORY
Atom USING [PropList],
IIPixelArray USING [Function, PixelArray, Sample, SampleBuffer, SampleMap, Transformation, Vec];
IIPixelArrayPrivate: CEDAR DEFINITIONS
~ BEGIN OPEN IIPixelArray;
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,
buffer: 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.