<> <> <> <> <<>> <> <<>> DIRECTORY CD, CDDirectory, HashTable, Rope; PWObjects: CEDAR DEFINITIONS = BEGIN <> <> <<>> abutXClass: CD.ObjectClass; abutYClass: CD.ObjectClass; <<>> CreateAbutProc: TYPE = PROC [subObjects: LIST OF CD.Object _ NIL] RETURNS [newAbut: CD.Object]; CreateNewAbutX: CreateAbutProc; CreateNewAbutY: CreateAbutProc; <<>> EachSubObjectProc: TYPE = PROC [subObject: CD.Object, pos: CD.Position]; <> EnumerateSubObjects: PROC [abut: CD.Object, eachSubObject: EachSubObjectProc]; <> <> <> <> <> <<>> routingClass: CD.ObjectClass; <<>> RoutingSpecific: TYPE = REF RoutingRep; -- Type of routing.specific, when routing is of class routingClass RoutingRep: TYPE = RECORD [ ir: CD.Rect, -- interest rect nodes: SEQUENCE size: NAT OF Node ]; Node: TYPE = REF NodeRep; NodeRep: TYPE = RECORD [ properties: CD.PropList _ NIL, geometry: SEQUENCE size: NAT OF PlacedObject]; PlacedObject: TYPE = RECORD [object: CD.Object, position: CD.Position]; <> CreateRouting: PROC [ir: CD.Rect, nodes: LIST OF Node] RETURNS [routing: CD.Object]; <> <> <<>> CreateNode: PROC [geometry: LIST OF PlacedObject, properties: CD.PropList _ NIL] RETURNS [node: Node]; <> <<>> CreateNodes: PROC [table: HashTable.Table] RETURNS [nodes: LIST OF Node]; <> <> <> <> <> <<>> indirectClass: CD.ObjectClass; <<>> CreateIndirect: PROC [sourceObject: CD.Object] RETURNS [indirectObject: CD.Object]; <> <> <> <> <> <> <<>> lazyClass: CD.ObjectClass; <<>> CreateProc: TYPE = PROC [info: REF] RETURNS [obj: CD.Object]; CreateLazy: PROC [info: REF, createProc: CreateProc, bbox, ir: CD.Rect] RETURNS [newLazy: CD.Object]; <> <> <> CreateCell: PROC [instances: CD.InstanceList, ir: CD.Rect _ [0, 0, -1, -1], name: Rope.ROPE _ NIL, properties: CD.PropList _ NIL] RETURNS [CD.Object]; <> RegisterProp: PROC [prop: ATOM, copy: BOOL _ FALSE, flushOnEdit: BOOL _ FALSE] RETURNS [sameAtom: ATOM]; <> RegisterClass: PROC [objectType: ATOM, expand: CDDirectory.ExpandProc, enumerateChildObjects: CDDirectory.EnumerateChildObjectsProc _ NIL, replaceDirectChilds: CDDirectory.ReplaceDChildsProc _ NIL, interestRect: CD.RectProc _ NIL, drawMe, quickDrawMe, showMeSelected: CD.DrawProc _ NIL] RETURNS [objectClass: CD.ObjectClass]; <> <> END. <<>>