SCRowUtil:
CEDAR
DEFINITIONS =
BEGIN
sideName:
ARRAY
SC.SideOrNone
OF Rope.
ROPE;
find the max row length
FindMaxRow:
PROCEDURE [handle:
SC.Handle]
RETURNS [maxRowWidth:
SC.Number, numMaxRows: SCPrivate.ZMaxRowSr];
audit the row lengths
AuditRowLengths:
PROCEDURE[handle:
SC.Handle];
compute height of row height is max of component heights on row
ComputeRowHeight:
PROCEDURE[handle:
SC.Handle, row: SCPrivate
.MaxRowSr];
compute height of side height is max of component heights on side
ComputeSideHeight:
PROCEDURE[handle:
SC.Handle, side:
SC.Side];
get widths of side or row
find rows that these comps are on
RowsForInsts:
PROCEDURE[insts: SCPrivate.InstanceList]
RETURNS [onSide: SCPrivate.SideSet, onRow: SCPrivate.RowSet];
EnumerateRows:
PROC [handle:
SC.Handle, eachRow: EachRowProc]
RETURNS [quit:
BOOL];
EachRowProc: TYPE = PROC [row: SCPrivate.MaxRowSr, lgRow: SCPrivate.LgRow] RETURNS [quit: BOOL ← FALSE];
EnumerateSides:
PROC [handle:
SC.Handle, eachSide: EachSideProc]
RETURNS [quit:
BOOL];
EachSideProc: TYPE = PROC [side: SC.Side, bpRow: SCPrivate.BpRow] RETURNS [quit: BOOL ← FALSE];
EnumerateAllInstsOnRow:
PROC [handle:
SC.Handle, row: SCPrivate
.MaxRowSr, eachInstance: EachInstProc]
RETURNS [quit:
BOOL];
EnumerateInstsOnRow: PROC [handle: SC.Handle, row: SCPrivate.MaxRowSr, startPos, endPos: SCPrivate.ZMaxPosSr, eachInstance: EachInstProc] RETURNS [quit: BOOL];
EnumerateInstsOnRowDecreasing:
PROC [handle:
SC.Handle, row: SCPrivate
.MaxRowSr, startPos, endPos: SCPrivate.ZMaxPosSr, eachInstance: EachInstProc]
RETURNS [quit:
BOOL];
EachInstProc: TYPE = PROC [pos: NAT, instance: SCPrivate.Instance] RETURNS [quit: BOOL ← FALSE];
EnumerateAllInstsOnSide: PROC [handle: SC.Handle, side: SC.Side, eachInstance: EachInstProc] RETURNS [quit: BOOL];
EnumerateInstsOnSide:
PROC [handle:
SC.Handle, side:
SC.Side, startPos, endPos: SCPrivate.ZMaxPosSr, eachInstance: EachInstProc]
RETURNS [quit:
BOOL];
EnumerateInstsOnSideDecreasing:
PROC [handle:
SC.Handle, side:
SC.Side, startPos, endPos: SCPrivate.ZMaxPosSr, eachInstance: EachInstProc]
RETURNS [quit:
BOOL];
END.