DifferenceAveragers.Mesa
Spreitzer, June 17, 1986 2:38:28 pm PDT
DIRECTORY Rope, ViewerClasses;
DifferenceAveragers: CEDAR DEFINITIONS = {
ROPE: TYPE = Rope.ROPE;
Viewer: TYPE = ViewerClasses.Viewer;
Seconds: TYPE = INT;
Averager: TYPE = REF AveragerPrivate;
AveragerPrivate: TYPE;
Create: PROC
[
viewerInfo: ViewerClasses.ViewerRec ← [],
samplePeriod, halfLife: Seconds,
logMin, logMax: INT,
Sample: PROC [clientData: REF ANY] RETURNS [add, subtract: REAL],
clientData: REF ANYNIL
]
RETURNS [Averager];
AsViewer: PROC [Averager] RETURNS [Viewer];
GetLayout: PROC [a: Averager, ancestor: Viewer] RETURNS [samplePeriodButton, halfLifeButton, bars: XRange --in client coords of ancestor (screen if NIL)--];
XRange: TYPE = RECORD [left, width: INTEGER];
}.