<> <> <> <<>> DIRECTORY ImagerColorDefs USING [ColorOperator, ConstantColor], ImagerSample USING [Sample, SampleBuffer]; ImagerColorOperator: CEDAR DEFINITIONS ~ BEGIN ConstantColor: TYPE ~ ImagerColorDefs.ConstantColor; Sample: TYPE ~ ImagerSample.Sample; SampleBuffer: TYPE ~ ImagerSample.SampleBuffer; <> ColorOperator: TYPE ~ ImagerColorDefs.ColorOperator; GetColorOperatorClass: PROC [ColorOperator] RETURNS [ATOM]; <> <<>> PixelProc: TYPE ~ PROC [i: NAT] RETURNS [Sample]; ColorFromPixel: PROC [op: ColorOperator, pixel: PixelProc] RETURNS [ConstantColor]; <> ColorFromSamples: PROC [op: ColorOperator, s0, s1, s2, s3: Sample _ 0] RETURNS [ConstantColor]; <> Mapper: TYPE ~ REF MapperRep; MapperRep: TYPE ~ RECORD [ op: ColorOperator, component: ATOM, maxIn, maxOut: Sample, MapPixel: PROC [mapper: Mapper, pixel: PixelProc] RETURNS [Sample], MapPixels: PROC [mapper: Mapper, pixels: SampleBuffer, j: NAT _ 0, buffer: SampleBuffer, bi, bj: NAT _ 0, count: NAT], data: REF ]; NewMapper: PROC [op: ColorOperator, component: ATOM, maxIn, maxOut: Sample] RETURNS [Mapper]; <> <> <> MapPixel: PROC [mapper: Mapper, pixel: PixelProc] RETURNS [Sample]; <> MapSamples: PROC [mapper: Mapper, s0, s1, s2, s3: Sample _ 0] RETURNS [Sample]; <> MapPixels: PROC [mapper: Mapper, pixels: SampleBuffer, j: NAT _ 0, buffer: SampleBuffer, bi, bj: NAT _ 0, count: NAT]; <> <> <> <> <<>> <> BlackColorModel: PROC [clear: BOOL] RETURNS [ColorOperator]; <<... the color model operator implicitly used by MakeSampledBlack.>> <> <> <> <> GrayLinearColorModel: PROC [sWhite, sBlack: REAL, maxSampleValue: Sample _ 0, sampleMap: PROC [Sample] RETURNS [REAL] _ NIL ] RETURNS [ColorOperator]; <<... colorModelOperators/Xerox/GrayLinear, as specified in the Raster Encoding Standard.>> <> <> <> GrayDensityColorModel: PROC [sWhite, sBlack, dBlack: REAL, maxSampleValue: Sample _ 0, sampleMap: PROC [Sample] RETURNS [REAL] _ NIL ] RETURNS [ColorOperator]; <<... colorModelOperators/Xerox/GrayDensity, as specified in the Raster Encoding Standard.>> <> <> <> <> GrayVisualColorModel: PROC [sWhite, sBlack: REAL, maxSampleValue: Sample _ 0, sampleMap: PROC [Sample] RETURNS [REAL] _ NIL ] RETURNS [ColorOperator]; <<... colorModelOperators/Xerox/GrayVisual, as specified in the Raster Encoding Standard.>> <> <> <> <> <> MapColorModel: PROC [maxSampleValue: Sample, map: PROC [Sample] RETURNS [ConstantColor] ] RETURNS [ColorOperator]; <<... colorModelOperators/Xerox/Map, as specified in the Raster Encoding Standard.>> <> RGBLinearColorModel: PROC [maxSampleValue: Sample] RETURNS [ColorOperator]; <<... a simple color model for red, green, blue separations; expects samplesPerPixel=3.>> <<>> END.