<> <> <> <<>> <> <<>> DIRECTORY CD, CoreClasses, CoreGeometry, IO; CoreGeometryBackdoor: CEDAR DEFINITIONS ~ BEGIN OPEN CoreGeometry; maxInstanceSeq: NAT = 9000; <> <<>> InstanceSeq: TYPE = REF InstanceSeqRec; InstanceSeqRec: TYPE = RECORD [instances: SEQUENCE size: NAT OF Instance]; TransWireIR: TYPE = REF TransWireIRRec; TransWireIRRec: TYPE = RECORD [ir: Rect, tws: SEQUENCE size: NAT OF TransWire]; TransWire: TYPE = RECORD [trans: Transformation, wire: Wire]; LazyEnumerateData: TYPE = REF LazyEnumerateDataRec; LazyEnumerateDataRec: TYPE = RECORD [ proc: LazyEnumerateProc, data1, data2: REF _ NIL ]; ObjectClassWriteProc: TYPE = PROC [stream: IO.STREAM, me: Object]; ObjectClassReadProc: TYPE = PROC [stream: IO.STREAM] RETURNS [obj: Object]; RawEnumeratePins: PUBLIC PROC [prop: ATOM, value: REF, eachInstance: EachInstanceProc] RETURNS [quit: BOOL _ FALSE]; <> RawEnumerateGeometry: PUBLIC PROC [prop: ATOM, value: REF, eachInstance: EachInstanceProc] RETURNS [quit: BOOL _ FALSE]; <> <<>> RegisterDecorationIO: PROC [decoration: Decoration]; RegisterObjectClass: PROC [objectClass: CD.ObjectClass, write: ObjectClassWriteProc, read: ObjectClassReadProc]; WritePosition: PROC [stream: IO.STREAM, position: CD.Position]; ReadPosition: PROC [stream: IO.STREAM] RETURNS [position: CD.Position]; WriteRect: PROC [stream: IO.STREAM, rect: CD.Rect]; ReadRect: PROC [stream: IO.STREAM] RETURNS [rect: CD.Rect]; WriteTechnology: PROC [stream: IO.STREAM, technology: CD.Technology]; ReadTechnology: PROC [stream: IO.STREAM] RETURNS [technology: CD.Technology]; WriteLayer: PROC [stream: IO.STREAM, layer: CD.Layer]; ReadLayer: PROC [stream: IO.STREAM] RETURNS [layer: CD.Layer]; WriteOrient: PROC [stream: IO.STREAM, orient: CD.Orientation]; ReadOrient: PROC [stream: IO.STREAM] RETURNS [orient: CD.Orientation]; WriteTrans: PROC [stream: IO.STREAM, trans: CD.Transformation]; ReadTrans: PROC [stream: IO.STREAM] RETURNS [trans: CD.Transformation]; WriteCDProperties: PROC [stream: IO.STREAM, properties: CD.PropList]; ReadCDProperties: PROC [stream: IO.STREAM] RETURNS [properties: CD.PropList _ NIL]; WriteCDInstance: PROC [stream: IO.STREAM, instance: CD.Instance]; ReadCDInstance: PROC [stream: IO.STREAM] RETURNS [instance: CD.Instance]; WriteCDInstances: PROC [stream: IO.STREAM, instances: LIST OF CD.Instance]; ReadCDInstances: PROC [stream: IO.STREAM] RETURNS [instances: LIST OF CD.Instance _ NIL]; WriteInstance: PROC [stream: IO.STREAM, instance: CoreGeometry.Instance]; ReadInstance: PROC [stream: IO.STREAM] RETURNS [instance: CoreGeometry.Instance]; WriteInstances: PROC [stream: IO.STREAM, instances: CoreGeometry.Instances]; ReadInstances: PROC [stream: IO.STREAM] RETURNS [instances: CoreGeometry.Instances _ NIL]; WriteObject: PROC [stream: IO.STREAM, obj: CD.Object]; ReadObject: PROC [stream: IO.STREAM] RETURNS [obj: CD.Object]; END.