-- File: DisjointTypes.mesa -- Global types used by disjoint programs -- Written by Martin Newell/Dan Fitzpatrick February 1981 -- Last edited: June 25, 1981 2:36 PM DisjointTypes: DEFINITIONS = BEGIN DisCell: TYPE = LONG POINTER TO DisCellRecord; DisCellRecord: TYPE = RECORD [ next: DisCell, geom: Geometry, -- private list of geometry in this discell insts: PIP, -- indirect list of caller instances to this discell windows: Rectangle, -- list of windows, may be shared (temp) with its coresponding symbol symbol: Symbol -- this discell defines this symbol ]; PIP: TYPE = LONG POINTER TO PIPRecord; --Instance Pointer PIPRecord: TYPE = RECORD [ next: PIP, inst: Instance ]; Instance: TYPE = LONG POINTER TO InstanceRecord; InstanceRecord: TYPE = RECORD [ next: Instance, symbol: Symbol, --of which this is an instance xOffset,yOffset: REAL --position of instance ]; Symbol: TYPE = LONG POINTER TO SymbolRecord; SymbolRecord: TYPE = RECORD [ next: Symbol, name: STRING, geom: Geometry, -- private list of geometry in this symbol insts: Instance, -- list of callee's of this symbol windows: Rectangle, -- windows of this symbol, usually a private list data: UNSPECIFIED _ 0, -- user handle mark: BOOLEAN _ FALSE, -- temp mark prop: PropList _ NIL -- user handle ]; Rectangle: TYPE = LONG POINTER TO RectangleRecord; RectangleRecord: TYPE = RECORD [ next: Rectangle, l,b,r,t: REAL ]; Geometry: TYPE = LONG POINTER TO GeometryRecord; GeometryRecord: TYPE = RECORD [ next: Geometry, layer: CARDINAL, l,b,r,t: REAL ]; PropID: TYPE = CARDINAL; PropList: TYPE = LONG POINTER TO PropListRecord; PropListRecord: TYPE = RECORD [ next: PropList, id: PropID, data: LONG UNSPECIFIED ]; END. (1792)\167b14B