<> <> <> <> <<>> DIRECTORY CD USING [Design, Technology, Layer], CDTexts USING [CDFont], Rope USING [ROPE]; CDPanelFonts: CEDAR DEFINITIONS = BEGIN <> CurrentFont: PROC [d: CD.Design] RETURNS [CDTexts.CDFont]; <<--returns nil on failure>> SetCurrentFont: PROC [design: REF, font: CDTexts.CDFont, name: Rope.ROPE_NIL]; <<--name written on panel>> CurrentText: PROC [d: CD.Design] RETURNS [Rope.ROPE]; <<--returns nil on failure>> <<--funny characters not yet removed>> SetCurrentText: PROC [d: CD.Design, text: Rope.ROPE]; <<--text written on panel>> ImplementIt: PROC [ tech: CD.Technology, defaultFonts: LIST OF Rope.ROPE _ NIL, layerProc: PROC [CD.Layer] RETURNS [CD.Layer] _ NIL ]; <<--layerProc: NIL means all layers are legal>> LayerForText: PROC [layer: CD.Layer, technology: REF_NIL] RETURNS [CD.Layer]; <<--This procedure can be used by text creators to make it harder to create >> <<--texts in layers which are not appropriate.>> <<--Hint only; there is always a possibility to create text in layer you don't want.>> END.