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
ANY ←
NIL
]
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];
}.