DIRECTORY Imager, ImagerColor, ImagerBasic, Real; ImagerColorImpl: CEDAR PROGRAM IMPORTS Imager, Real EXPORTS ImagerColor ~ BEGIN Color: TYPE ~ ImagerBasic.Color; Card: PROC [real: REAL] RETURNS [card: CARDINAL] ~ { int: INT _ Real.RoundLI[real*LAST[CARDINAL]]; card _ MAX[MIN[int, LAST[CARDINAL]], 0]; }; MakeGray: PUBLIC PROC [intensity: REAL] RETURNS [Color] ~ { IF intensity <= 0 THEN RETURN [Imager.black]; IF intensity >= 1 THEN RETURN [Imager.white]; RETURN [NEW[ImagerBasic.CIEColorRep _ [x: Card[0.3101], y: Card[0.3163], Y: Card[intensity]]]]; }; END. BImagerColorImpl.mesa Michael Plass, August 1, 1983 11:43 am Ę˜J™J™&J˜šĪk ˜ J˜J˜ Jšœ ˜ Jšœ˜—J˜šœ ˜Jšœ ˜Jšœ ˜Jšœ˜—Jšœœ˜ š Īnœœœœœ˜4Jšœœœœ˜-Jš œœœœœ˜(Jšœ˜—š žœœœ œœ ˜;Jšœœœ˜-Jšœœœ˜-JšœœT˜_Jšœ˜—Jšœ˜J˜—…—6’