DIRECTORY CD, CDValue, Graphics USING [Color, black], Rope USING [ROPE], TIPUser USING [TIPTable]; CDTechnology: CEDAR DEFINITIONS IMPORTS CDValue = BEGIN SetTipTable: PROC [tech: CD.Technology, tipTable: Rope.ROPE]; GetTipTable: PROC [tech: CD.Technology, allowDefault: BOOL_TRUE] RETURNS [TIPUser.TIPTable]; widthAtomTable: PRIVATE REF ARRAY CD.Level OF ATOM; CurrentLevel: PROC [design: CD.Design] RETURNS [CD.Level] = INLINE {RETURN [CDValue.FetchInt[boundTo: design, key: $CurrentLevel, propagation: technology]]}; SetCurrentLevel: PROC [design: REF, level: CD.Level] = INLINE {CDValue.StoreInt[boundTo: design, key: $CurrentLevel, value: level]}; LevelWidth: PROC [design: CD.Design, level: CD.Level] RETURNS [CD.DesignNumber] = INLINE {RETURN [CDValue.FetchInt[boundTo: design, key: widthAtomTable[level], propagation: technology]]}; SetLevelWidth: PROC [design: REF, level: CD.Level, width: CD.DesignNumber] = INLINE {CDValue.StoreInt[boundTo: design, key: widthAtomTable[level], value: width]}; TeachGraphicsColor: PROC [lev: CD.Level, color: Graphics.Color_Graphics.black]; Brick: TYPE = ARRAY [0..4) OF CARDINAL; ColorTable: TYPE = ARRAY CD.Level OF REF Brick; TeachColor: PROC[lev: CD.Level, bpp: CARDINAL, brick: Brick]; --sets value into the default ColorTable TeachGrey: PROC[lev: CD.Level, bpp: CARDINAL, brick: Brick]; TeachColorCode: PROC[lev: CD.Level, bpp: CARDINAL, code: CARDINAL]; --sets value into the default Color- and GreyTable Brick4: PROC[color: CARDINAL_177777B, pattern: CARDINAL_177777B] RETURNS [Brick]; Brick8: PROC[color: CARDINAL_177777B, pattern: CARDINAL_177777B] RETURNS [Brick]; OrBricks: PROC[b1, b2: Brick] RETURNS [Brick]; END. ¾CDTechnology.mesa (part of Chipndale) by Christian Jacobi August 11, 1983 11:32 am last edited by Christian Jacobi November 23, 1983 9:59 am --tip tables ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --may generate InvalidTable signal --attachedTo=NIL serves for initializing a default --only new viewers will get the new tiptable --if tiptable be defined before call of GetTipTable returns default or NIL --level and width ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --design can exceptionally be a technology to set default values --reserve call for CDPanelImpl; otherwise CDPanel gets fooled -- design can exceptionally be a technology to set default values -- reserve call for CDPanelImpl; otherwise CDPanel gets fooled --implementors of technologies must cause CurrentLevel and LevelWidth to return --reasonable values --colors ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --and resets default greytable --sets value into the default GreyTable Êû˜Jšœ,™,J˜Jšœ/™/Jšœ;™;J˜šÏk ˜ Jšœ˜J˜Jšœ œ˜Jšœœœ˜Jšœœ ˜J˜—JšÏn œœ œ˜ Jšœ ˜Jš˜J˜Jšœ8™8J˜šž œœœœ˜=Jšœ"™"Jšœ2™2Jšœ,™,J˜—š ž œœœœœœ˜\JšœJ™JJ˜J˜—Jšœ6™6J˜Jš œ œœœœœ˜3J˜š ž œœ œ œœ ˜;JšœœS˜aJ˜—šžœœ œ œ ˜6JšœG˜MJšœ@™@Jšœ=™=J˜—š ž œœ œœœœ˜QJšœœ[˜iJ˜—š ž œœ œ œœ˜LJšœO˜UJšœA™AJšœ>™>J˜—J™JšœO™OJšœ™J˜Jšœ4™4J˜Jšžœœœ.˜OJ˜Jš œœœœœ˜'Jš œ œœœœœ˜/šž œœœ œ˜=Jšœ(˜(Jšœ™—šž œœœ œ˜