DIRECTORY ImagerColor, ImagerSample USING [Function], Terminal USING [ChannelValue, ColorValue]; ImagerColorPrivate: CEDAR DEFINITIONS ~ BEGIN OPEN ImagerColor; Function: TYPE ~ ImagerSample.Function; StippleData: TYPE ~ REF StippleDataRep; StippleDataRep: TYPE ~ RECORD [word: WORD, function: Function]; ColorFromStipple: PROC [word: WORD, function: Function] RETURNS [SpecialColor]; RGBCalibrationImpl: TYPE ~ REF RGBCalibrationImplRep; RGBCalibrationImplRep: TYPE ~ RECORD [ cRX, cRY, cRZ, cGX, cGY, cGZ, cBX, cBY, cBZ: REAL, cXR, cXG, cXB, cYR, cYG, cYB, cZR, cZG, cZB: REAL ]; ColorOperatorClass: TYPE ~ REF ColorOperatorClassRep; -- = ColorModel ColorOperatorClassRep: TYPE ~ RECORD [ name: ROPE, -- hierarchical name of Interpress color model operator TupleFromPixel: TupleFromPixelProc, TranslatePixels: TranslatePixelsProc ]; TupleFromPixelProc: TYPE ~ PROC [self: ColorOperator, output: ColorOutput, pixelIn: PixelProc, tupleAction: PROC [tupleOut: TupleProc]]; TranslatePixelsProc: TYPE ~ PROC [self: ColorOperator, output: ColorOutput, maxIn: PixelProc, maxOut: PixelProc, translateAction: PROC [translate: TranslateProc]]; NewColorOperatorClass: PROC [ name: ROPE, TupleFromPixel: TupleFromPixelProc, TranslatePixels: TranslatePixelsProc ] RETURNS [ColorOperatorClass]; SampleTable: TYPE ~ REF SampleTableRep; SampleTableRep: TYPE ~ RECORD [SEQUENCE size: Sample OF REAL]; DataGrayLinear: TYPE ~ REF DataGrayLinearRep; DataGrayLinearRep: TYPE ~ RECORD [ sWhite, sBlack: REAL, map: SampleTable _ NIL ]; DataGrayDensity: TYPE ~ REF DataGrayDensityRep; DataGrayDensityRep: TYPE ~ RECORD [ sWhite, sBlack, dBlack: REAL, map: SampleTable _ NIL ]; DataGrayVisual: TYPE ~ REF DataGrayVisualRep; DataGrayVisualRep: TYPE ~ RECORD [ sWhite, sBlack: REAL, map: SampleTable _ NIL ]; DataMap: TYPE ~ REF DataMapRep; DataMapRep: TYPE ~ RECORD [ v: SEQUENCE size: NAT OF ConstantColor ]; DataBuildMap: TYPE ~ REF DataBuildMapRep; DataBuildMapRep: TYPE ~ RECORD [ colorOperator: ColorOperator, v: SEQUENCE size: NAT OF Sample ]; DataRGB: TYPE ~ REF DataRGBRep; DataRGBRep: TYPE ~ RECORD [maxIn: Sample]; ChannelValue: TYPE ~ Terminal.ChannelValue; ColorValue: TYPE ~ Terminal.ColorValue; ColorValueTriple: TYPE ~ PACKED ARRAY [0..3) OF ColorValue; DataColorMap8: TYPE ~ REF DataColorMap8Rep; DataColorMap8Rep: TYPE ~ ARRAY ChannelValue OF ColorValueTriple; END. μImagerColorPrivate.mesa Copyright c 1984, 1985, 1986 by Xerox Corporation. All rights reserved. Doug Wyatt, March 6, 1986 10:04:46 pm PST Makes stipples for use by Viewers; the word is interpreted as a 4 by 4 bit tile pattern. Κ„˜codešœ™Kšœ Οmœ=™HKšœ)™)—K™šΟk ˜ Kšœ ˜ Kšœ žœ ˜Kšœ žœ˜*—K˜KšΠblœžœž ˜%Kšœžœžœ ˜K™Kšœ žœ˜'K˜Kšœ žœžœ˜'šœžœžœžœ˜?K˜—šΟnœžœžœžœ˜OK™XK˜—K˜Kšœžœžœ˜5šœžœžœ˜&Kšœ-žœ˜2Kšœ-ž˜1K˜K˜—K˜KšœžœžœΟc˜Ešœžœžœ˜&Kšœžœ‘7˜CKšœ#˜#Kšœ$˜$K˜K˜—šœžœžœNžœ˜‰K˜—šœžœžœcžœ˜€K˜—š œžœ žœOžœ˜”K˜—K˜Kšœ žœžœ˜'š œžœžœžœžœžœ˜>K˜—Kšœžœžœ˜-šœžœžœ˜"Kšœžœ˜Kšœž˜K˜K˜—Kšœžœžœ˜/šœžœžœ˜#Kšœžœ˜Kšœž˜K˜K˜—Kšœžœžœ˜-šœžœžœ˜"Kšœžœ˜Kšœž˜K˜K˜—Kšœ žœžœ ˜šœ žœžœ˜Kšœžœžœžœ˜&Kšœ˜K˜—Kšœžœžœ˜)šœžœžœ˜ K˜Kšœžœžœžœ˜Kšœ˜K˜—Kšœ žœžœ ˜šœ žœžœ˜*K˜—K˜Kšœžœ˜+Kšœ žœ˜'š œžœžœžœžœ ˜;K˜—Kšœžœžœ˜+šœžœžœžœ˜@K˜—K˜Kšžœ˜—…— T Δ