DIRECTORY CD USING [Layer, ContextFilter], Imager USING [Color]; CDColors: CEDAR DEFINITIONS = BEGIN DisplayType: TYPE = {bw, bit1, bit2, bit4, bit8, bit9}; --displays supported by ChipNDale (bits per pixel) DisplayMode: TYPE = {normal, pushedOut}; --usage of brick Brick: TYPE = ARRAY [0..4) OF CARDINAL; --brick, or'ed into a bitmap ColorTable: TYPE = ARRAY CD.Layer OF REF Brick; ColorTableSet: TYPE = ARRAY DisplayMode OF REF ColorTable; ColorDefinition: TYPE = ARRAY DisplayType OF REF ColorTableSet; globalColors: READONLY REF ColorDefinition; bwFilter: READONLY REF CD.ContextFilter; colorFilter: READONLY REF CD.ContextFilter; DefineColor: PROC[ lev: CD.Layer, brick: REF Brick _ NIL, -- do no more change the values display: DisplayType _ bw, mode: DisplayMode _ normal, table: REF ColorDefinition _ NIL --NIL uses the global table ]; DefineFilter: PROC[ lev: CD.Layer, color: Imager.Color _ NIL, colorDisplay: BOOL _ TRUE, bwDisplay: BOOL _ FALSE ]; END. ςCDColors.mesa (Viewer definitions for ChipNDale) Copyright c 1984, 1985 by Xerox Corporation. All rights reserved. by Christian Jacobi, September 19, 1984 6:00:17 pm PDT last edited by Christian Jacobi, September 19, 1985 11:46:25 am PDT -- ChipNDale interface defining low level color handling. -- (semi-public) --everything is readonly --but this module causes changes to the REF Brick (not the Brick) --filter for black and white displays --filter for color displays --Defining a brick with mode normal also clears the pushedOut brick. --A NIL brick makes a reasonable default. --The procedure may exchange bricks if they have the same values. --Defining color filters for either display. --A NIL color makes a layer invisible. Κ6˜codešœ7™7Kšœ Οmœ7™BKšœ8™8KšœD™D—K™šΟk ˜ Kšžœžœ˜ Kšœžœ ˜K˜—Kšœ;™;Kšœ™KšΠlnœžœž œ˜Kšž˜K˜šœ žœ'˜8KšΟc2˜2—Kšœ žœ ˜9Kš œžœžœžœžœ ˜DKš œ žœžœžœžœžœ˜0Kš œžœžœ žœžœ ˜:Kš œžœžœ žœžœ˜?K˜šœžœžœ˜-Kšœ™KšœA™A—šœ ž œžœ˜)Kšœ%™%—šœ ž œžœ˜+Kšœ™—K˜šΟn œžœ˜Kšœžœ˜Kšœžœ žœ ˜7Kšœ˜Kšœ˜Kšœžœžœ ˜=Kšœ˜KšœD™DKšœ)™)KšœA™A—K˜š‘ œžœ˜Kšœžœ˜Kšœžœ˜Kšœžœžœ˜Kšœ žœžœ˜Kšœ˜Kšœ,™,Kšœ&™&—K˜Kšžœ˜K˜—…—Ϊ