<> <> <> <<>> DIRECTORY ImagerColorDefs USING [Color, ColorOperator], ImagerFont USING [Font], ImagerPixelArrayDefs USING [PixelArray], ImagerTransformation USING [Transformation], IO USING [STREAM], IPInterpreter USING [Cardinal, Operator, Ref, Vector], Rope USING [ROPE]; IPImager: CEDAR DEFINITIONS ~ BEGIN <<>> ROPE: TYPE ~ Rope.ROPE; STREAM: TYPE ~ IO.STREAM; <<>> Cardinal: TYPE ~ IPInterpreter.Cardinal; Vector: TYPE ~ IPInterpreter.Vector; Operator: TYPE ~ IPInterpreter.Operator; Ref: TYPE ~ IPInterpreter.Ref; Font: TYPE ~ ImagerFont.Font; Transformation: TYPE ~ ImagerTransformation.Transformation; PixelArray: TYPE ~ ImagerPixelArrayDefs.PixelArray; Color: TYPE ~ ImagerColorDefs.Color; ColorOperator: TYPE ~ ImagerColorDefs.ColorOperator; MaskChar: PROC [self: Ref, fd: Vector, i: Cardinal]; MakeFont: PROC [self: Ref, v: Vector] RETURNS [Font]; FindFont: PROC [self: Ref, v: Vector] RETURNS [Font]; FindDecompressor: PROC [self: Ref, v: Vector] RETURNS [Operator]; FindColor: PROC [self: Ref, v: Vector] RETURNS [Color]; FindColorOperator: PROC [self: Ref, v: Vector] RETURNS [Operator]; FindColorModelOperator: PROC [self: Ref, v: Vector] RETURNS [Operator]; MakeLargeVector: PROC [stream: STREAM, length: INT, bytesPerElement: NAT] RETURNS [Vector]; <<>> MakePixelArray: PROC [ xPixels, yPixels: Cardinal, -- number of pixels in slow and fast directions samplesPerPixel: Cardinal, -- number of sample values for each pixel maxSampleValue: Vector, -- maximum sample value; if NIL, use maxSampleValueI maxSampleValueI: Cardinal, -- constant maximum sample value, if maxSampleValue=NIL samplesInterleaved: BOOL, -- if true, samples for one pixel are contiguous m: Transformation, -- transformation from pixel coordinates to master coordinates samples: Vector -- the actual samples ] RETURNS [PixelArray]; <<>> ColorOperatorFromOperator: PROC [Operator] RETURNS [ColorOperator]; OperatorFromColorOperator: PROC [ColorOperator] RETURNS [Operator]; END.