LayoutCheckpoint.mesa 
Copyright © 1985 by Xerox Corporation. All rights reversed.
Bertrand Serlet June 3, 1986 11:21:57 pm PDT
DIRECTORY CD, Core;
LayoutCheckpoint: CEDAR DEFINITIONS = BEGIN
Theory
This interface allows the user of PWCore to insert "layout checkpoints", that is places where the generated layout is stored on a file.
Conveniences
CellType : TYPE = Core.CellType;
ROPE: TYPE = Core.ROPE;
Wire: TYPE = Core.Wire;
Storing and retrieving entire Core + Layout
Store: PROC [cellType: CellType, withCuteFonts: BOOLFALSE];
Assumes that the cellType is decorated with layout.
Stores the Core itself on the file named "<nameOfCellType>.core".
Stores the layout on the file named "<nameOfCellType>Layout.dale".
Stores a shell of the layout on the file named "<nameOfCellType>Shell.dale".
Retrieve: PROC [name: ROPE] RETURNS [cellType: CellType];
Retrieves the Core itself from the file named "<nameOfCellType>.core".
Reattaches layout.
Storing and retrieving layout
Checkpoint: PROC [cellType: CellType, withCuteFonts: BOOLFALSE];
Assumes that the cellType is decorated with layout.
Stores the layout on the file named "<nameOfCellType>Layout.dale".
Stores a shell of the layout on the file named "<nameOfCellType>Shell.dale".
Flushes layout properties for cellType and its descendants.
Does a SetFromCheckpoint.
SetFromCheckpoint: PROC [cellType: CellType];
Attaches a LayoutProc that will retrieve a cell named "<nameOfCellType>" from the file named "<nameOfCellType>Layout.dale".
Decorates cellType with pins properties issued from a cell named "<nameOfCellType>" from the file named "<nameOfCellType>Shell.dale".
Flushing Layout Properties
Warning: it is dangerous to use this function without being aware of PWCore implementation details.
FlushLayoutProperties: PROC [cellType: CellType];
END.