<> <> <<>> <> <> DIRECTORY Basics, List, Rope, RTBasic, SC, SCPrivate; SCUtil: CEDAR DEFINITIONS = BEGIN GetNumberProp: PROC [properties: SC.PropList, key: ATOM, default: SC.Number] RETURNS [SC.Number]; <> <<>> PutNumberProp: PROC [properties: SC.PropList, key: ATOM, number: SC.Number] RETURNS [SC.PropList]; <> <<>> XYToPQ: PROC [handle: SC.Handle, pos: SC.Pos] RETURNS [pqPos: RTBasic.PQPos]; <> <<>> PQToXY: PROC [handle: SC.Handle, pqPos: RTBasic.PQPos] RETURNS [pos: SC.Pos]; <> <<>> SimpleCompare: PROCEDURE [result1, result2: SC.Number] RETURNS [result: Basics.Comparison]; <<>> FindPin: PROCEDURE [object: SCPrivate.Object, pinName: Rope.ROPE] RETURNS [pin: SCPrivate.ObjectPin _ NIL]; FindNet: PROCEDURE [handle: SC.Handle, netName: Rope.ROPE] RETURNS [net: SCPrivate.Net _ NIL]; FindObject: PROCEDURE [handle: SC.Handle, objectName: Rope.ROPE] RETURNS [object: SCPrivate.Object _ NIL]; FindInstance: PROCEDURE [handle: SC.Handle, instanceName: Rope.ROPE] RETURNS [instance: SCPrivate.Instance _ NIL]; FindBus: PROCEDURE [handle: SC.Handle, busName: Rope.ROPE] RETURNS [bus: SCPrivate.AcBus _ NIL]; IsPowerName: PROCEDURE [handle: SC.Handle, name: Rope.ROPE] RETURNS [found: BOOLEAN _ FALSE]; IsPadType: PROCEDURE [object: SCPrivate.Object] RETURNS [isPad: BOOLEAN _ FALSE] = INLINE {RETURN[object.typeClass = io]}; translate: PUBLIC ARRAY SC.Side OF ARRAY SCPrivate.OrientationOrNone OF SC.Side; SideTranslate: PROCEDURE [side: SC.Side, orien: SCPrivate.OrientationOrNone] RETURNS [SC.Side] = INLINE {RETURN[translate[side][orien]]}; WriteResults: PROCEDURE [title: Rope.ROPE, handle: SC.Handle, startArea: SC.Number] RETURNS [area: SC.Number]; WriteStructure: PROCEDURE [handle: SC.Handle]; DestroyRules: PROC [handle: SC.Handle]; DestroyParms: PROC [handle: SC.Handle]; END.