DIRECTORY
Buttons USING [ButtonProc, Button],
Labels USING [Label],
ViewerClasses USING [Viewer];
MonitorToolButtons:
CEDAR DEFINITIONS = {
Handle: TYPE = REF MTViewerRec;
MTViewerRec:
TYPE =
RECORD [
height:
NAT ← 0,
container: ViewerClasses.Viewer,
screenWidth: EntryViewer,
screenHeight: EntryViewer,
refresh: EntryViewer,
hBlank: EntryViewer,
vBlank: EntryViewer,
bpp: EntryViewer,
position: EntryViewer,
fieldTime, fieldFreq, lineTime, lineFreq: ResultViewer,
pixelTime, pixelFreq, MUL, DIV: ResultViewer,
vControl, hControl: ResultViewer
];
EntryViewer: TYPE = REF EntryViewerRec;
EntryViewerRec:
TYPE =
RECORD [
button: Buttons.Button, --not strictly needed for computations
input: ViewerClasses.Viewer, -- the Text Box for user input
units: Labels.Label ]; -- units for input; e.g. pixels, microseconds, ...
ResultViewer: TYPE = REF ResultViewerRec;
ResultViewerRec:
TYPE =
RECORD [
left: Labels.Label,
data: ViewerClasses.Viewer,
right: Labels.Label];
ScreenWidth: Buttons.ButtonProc;
ScreenHeight: Buttons.ButtonProc;
Refresh: Buttons.ButtonProc;
HBlank: Buttons.ButtonProc;
VBlank: Buttons.ButtonProc;
BitsPerPixel: Buttons.ButtonProc;
Position: Buttons.ButtonProc;
}.