DIRECTORY CD, CDTexts, CoreGeometry, Rope; IconConstruction: CEDAR DEFINITIONS ~ BEGIN Shell: TYPE ~ REF ShellRep; ShellRep: TYPE ~ RECORD [ name: Rope.ROPE _ NIL, -- The short name of the icon, i.e. excluding the ".icon" part pinLayer: CD.Layer, -- the layer on which pins should be drawn boxLayer: CD.Layer, -- the layer on which the box should be drawn boxWidth: CD.Number, -- Width of lines for icon box pinRect: CD.Position, -- Size of pins (vertical pin) guard: CD.Number, -- Spacing between pin and pin name grid: CD.Number, -- The grid on which pins should be aligned font: CDTexts.CDFont, -- ChipNDale font to be used for all texts pins: ARRAY CoreGeometry.Side OF LIST OF Rope.ROPE -- The sorted pin names on all four sides ]; NewShell: PROC [name: Rope.ROPE, pins: ARRAY CoreGeometry.Side OF LIST OF Rope.ROPE, design: CD.Design, pinLayer: CD.Layer _ CD.commentLayer, boxLayer: CD.Layer _ CD.commentLayer] RETURNS [shell: Shell]; ShellObject: PROC [shell: Shell] RETURNS [obj: CD.Object]; END. βIconConstruction.mesa Copyright Σ 1987 by Xerox Corporation. All rights reserved. Jean-Marc Frailong, September 4, 1987 4:57:55 pm PDT Don Curry June 11, 1988 11:52:09 am PDT Various utilities for schematics in ChipNDale. Generation of CD shells & icons This section also implements the icon generation CD command A Shell contains the information necessary to create a CD object having a specified set of publics. It is used for example to generate the icon for a schematic. Create a Shell from the list of pin names on each side and the layers for the various objects. All other variables from the shell are defaulted from the design to fit the design style for Sisyph icons. Create the CD object from the shell description. Κ ˜codešœ™Kšœ<™˜UKšœ œŸ*˜>Kšœ œŸ-˜AKšœ œ Ÿ˜3Kšœ œ Ÿ˜4Kšœœ Ÿ#˜5Kšœœ Ÿ+˜