DIRECTORY CD, Rope; CDPinObjects: CEDAR DEFINITIONS = BEGIN pinLayer: READONLY CD.Layer; CreatePinOb: PROC [size: CD.DesignPosition] RETURNS [CD.ObPtr]; IsPinOb: PROC [ob: CD.ObPtr] RETURNS [BOOL]; CreatePinApp: PROC [name: Rope.ROPE, rect: CD.DesignRect, lev: CD.Layer_CD.combined, owner: ATOM_NIL] RETURNS [CD.ApplicationPtr]; IsPinApp: PROC [app: CD.ApplicationPtr] RETURNS [BOOL] = INLINE { RETURN [IsPinOb[app.ob]] }; SetOwner: PROC [pinApp: CD.ApplicationPtr, owner: ATOM_NIL]; GetOwner: PROC [pinApp: CD.ApplicationPtr] RETURNS [ATOM]; SetName: PROC [pinApp: CD.ApplicationPtr, name: Rope.ROPE]; GetName: PROC [pinApp: CD.ApplicationPtr] RETURNS [Rope.ROPE]; SetLayer: PROC [pinApp: CD.ApplicationPtr, lev: CD.Layer]; GetLayer: PROC [pinApp: CD.ApplicationPtr] RETURNS [CD.Layer]; AppEnumerator: TYPE = PROC [app: CD.ApplicationPtr] RETURNS [quit: BOOL_FALSE]; EnumeratePins: PROC [ob: CD.ObPtr_NIL, eachPin: AppEnumerator] RETURNS [quit: BOOL]; FindPins: PROC [ob: CD.ObPtr_NIL, pinName: Rope.ROPE] RETURNS [CD.ApplicationList]; END. ŽCDPinObjects.mesa (part of Chipndale) Copyright c 1984, 1985 by Xerox Corporation. All rights reserved. by Christian Jacobi, August 8, 1984 12:41:50 pm PDT last edited Christian Jacobi, April 11, 1985 3:25:13 pm PST --Pins are objects to associate names and properties to rectangular areas. --All the actual pins properties like name, layer, propertylist --and its semantics are bound to the Application. --In general, the meaning of a pin is not known, but it is assumed some --client program knows it. NIL owner means: -- At this area, connection in the particaular layer can be made. --Pin objects will NOT have an special interrest-rect specified, their interrest --area is the real rect. It is common to have several pins with the same name. --if owner is not NIL it must be registered with CDProperties --if layer=CD.combined means: not yet determined, or either: pin has more complex functionality --Random order; changes on pins while the enumeration may or may not be seen. --Returns all pins with name "name" --For rect: use CDApplications.ARectO or ARectI --For size: use object size -- (Interestrects for pins must not be set). Êž˜šœ&™&Jšœ Ïmœ7™BJšœ5™5Jšœ<™<—J˜šÏk ˜ Jšžœ˜ —JšÏb œžœž œ˜$Jšž˜J˜JšœJ™JJ™Jšœ@™@Jšœ1™1J™JšœG™GJšœ-™-JšœB™BJšœQ™QJšœO™OJ˜Jšœ žœžœ˜J˜Jš Ïn œžœžœžœžœ˜?Jš  œžœžœžœžœ˜,J˜J˜Jš  œžœ žœžœžœžœžœžœžœžœ˜‚š  œžœžœžœžœžœ˜AJšžœ˜Jšœ˜J˜—Jš  œžœ žœžœžœ˜<š  œžœ žœžœžœ˜:Jšœ=™=—J˜Jš œžœ žœžœ˜;Jš  œžœ žœžœžœ˜>J˜Jš œžœ žœžœ˜:š  œžœ žœžœžœ˜>Jšœ_™_—J™J˜Jš œžœžœžœžœžœžœ˜OJ˜š   œžœžœžœžœžœ˜TJšœN™N—J˜š œžœžœžœžœžœžœ˜SJšœ#™#—J™J™Jšœ/™/Jšœ™Jšœ-™-J˜Jšžœ˜J˜—…—& R