HistogramsPrivate.mesa
Mike Spreitzer September 26, 1986 6:53:10 pm PDT
DIRECTORY BiScrollers, IO, Rope, ViewerClasses;
HistogramsPrivate: CEDAR DEFINITIONS = {OPEN BS:BiScrollers;
ROPE: TYPE = Rope.ROPE;
Viewer: TYPE = ViewerClasses.Viewer;
BiScroller: TYPE = BS.BiScroller;
Dim: TYPE = {X, Y};
Range2: TYPE = ARRAY Dim OF Range1;
Range1: TYPE = RECORD [min, max: INT];
nullRange1: Range1 = [INT.LAST, INT.FIRST];
fullRange1: Range1 = [INT.FIRST, INT.LAST];
nullRange2: Range2 = ALL[nullRange1];
fullRange2: Range2 = ALL[fullRange1];
DataRef: TYPE = REF Data;
Data: TYPE = RECORD [counts: SEQUENCE length:NAT OF Count];
Count: TYPE = CARDINAL;
Histogram: TYPE = REF HistogramRep;
HistogramRep: TYPE = MONITORED RECORD [
dimensionality: [1 .. 2],
data: DataRef,
iMin, iMax, jMin, jMax, nI, nJ: INT ← 0,
iFactor, iOffset, jFactor, jOffset: REAL,
maxCount: Count ← 0,
maxValid: BOOLTRUE,
views: HistogramViewList ← NIL
];
HistogramViewList: TYPE = LIST OF HistogramView;
HistogramView: TYPE = REF HistogramViewRep;
HistogramViewRep: TYPE = RECORD [
h: Histogram,
bs: BS.BiScroller,
ctr, bsOuter: Viewer,
shown: DataRef,
iFormat: ROPE,
iChars, minHLabSep, iFreq: NAT ← 0,
vFreq, vFreqForR, maxCountForR: Count ← 0,
dHeight: REAL,
dWidth: NAT ← 0,
cWidth: REAL ← 0,
rxmin, rxmax: REAL ← 0,
finding: BOOLFALSE,
findFirstI, findFirstJ: INT ← 0,
shownMax: Count ← 0,
bad: Range2 ← fullRange2,
updatePeriod: REAL,
tracker: PROCESS
];
}.