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];
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.