File: CKViewerButtonsImpl.mesa
Last Edited by: Pier, July 21, 1983 2:23 pm
DIRECTORY
Buttons,
UserExec,
Process,
CKViewerButtons;
CKViewerButtonsImpl: PROGRAM IMPORTS CKViewerButtons, Buttons, Process, UserExec
EXPORTS CKViewerButtons = BEGIN
CKViewer: TYPE = CKViewerButtons.CKViewer;
CKViewerData:
TYPE = CKViewerButtons.CKViewerData;
Quit:
PUBLIC Buttons.ButtonProc =
TRUSTED {
ckv: CKViewer ← NARROW[clientData];
ckv.state.quit ← TRUE;
};
Bpp24:
PUBLIC Buttons.ButtonProc =
TRUSTED {
ckv: CKViewer ← NARROW[clientData];
ckv.state.bpp ← 24;
ResetBPPButtons[ckv];
Buttons.SetDisplayStyle[ckv.buttons.twentyfourButton, $WhiteOnBlack];
Bpp8:
PUBLIC Buttons.ButtonProc =
TRUSTED {
ckv: CKViewer ← NARROW[clientData];
ckv.state.bpp ← 8;
ResetBPPButtons[ckv];
Buttons.SetDisplayStyle[ckv.buttons.eightButton, $WhiteOnBlack];
};
Bpp4:
PUBLIC Buttons.ButtonProc =
TRUSTED {
ckv: CKViewer ← NARROW[clientData];
ckv.state.bpp ← 4;
ResetBPPButtons[ckv];
Buttons.SetDisplayStyle[ckv.buttons.fourButton, $WhiteOnBlack];
Bpp2:
PUBLIC Buttons.ButtonProc =
TRUSTED {
ckv: CKViewer ← NARROW[clientData];
ckv.state.bpp ← 2;
ResetBPPButtons[ckv];
Buttons.SetDisplayStyle[ckv.buttons.twoButton, $WhiteOnBlack];
};
Bpp1:
PUBLIC Buttons.ButtonProc =
TRUSTED {
ckv: CKViewer ← NARROW[clientData];
ckv.state.bpp ← 1;
ResetBPPButtons[ckv];
Buttons.SetDisplayStyle[ckv.buttons.oneButton, $WhiteOnBlack];
};
AChan:
PUBLIC Buttons.ButtonProc =
TRUSTED {
ckv: CKViewer ← NARROW[clientData];
ckv.state.aToggle ← TRUE;
};
BChan:
PUBLIC Buttons.ButtonProc =
TRUSTED {
ckv: CKViewer ← NARROW[clientData];
ckv.state.bToggle ← TRUE;
};
Slow:
PUBLIC Buttons.ButtonProc =
TRUSTED {
ckv: CKViewer ← NARROW[clientData];
ckv.state.slow ← NOT ckv.state.slow;
};
Freeze:
PUBLIC Buttons.ButtonProc =
TRUSTED {
ckv: CKViewer ← NARROW[clientData];
ckv.state.freeze ← NOT ckv.state.freeze;
};
Scramble:
PUBLIC Buttons.ButtonProc =
TRUSTED {
ckv: CKViewer ← NARROW[clientData];
ckv.state.freeze ← TRUE;
ckv.state.scramble ← TRUE;
};
Roll:
PUBLIC Buttons.ButtonProc =
TRUSTED {
ckv: CKViewer ← NARROW[clientData];
ckv.state.freeze ← TRUE;
ckv.state.roll ← TRUE;
};
CKRandom:
PUBLIC Buttons.ButtonProc =
TRUSTED {
ckv: CKViewer ← NARROW[clientData];
ckv.state.random ← TRUE;
};
Symmetric:
PUBLIC Buttons.ButtonProc =
TRUSTED {
ckv: CKViewer ← NARROW[clientData];
ckv.state.symmetric ← TRUE;
};
TestPattern:
PUBLIC Buttons.ButtonProc =
TRUSTED {
ckv: CKViewer ← NARROW[clientData];
ckv.state.testPattern ← TRUE;
};
CBars:
PUBLIC Buttons.ButtonProc =
TRUSTED {
ckv: CKViewer ← NARROW[clientData];
ckv.state.cbars ← TRUE;
};
Converge:
PUBLIC Buttons.ButtonProc =
TRUSTED {
ckv: CKViewer ← NARROW[clientData];
ckv.state.converge ← TRUE;
};
BigRed:
PUBLIC Buttons.ButtonProc =
TRUSTED {
ckv: CKViewer ← NARROW[clientData];
ckv.state.bigRed ← TRUE;
};
BigGreen:
PUBLIC Buttons.ButtonProc =
TRUSTED {
ckv: CKViewer ← NARROW[clientData];
ckv.state.bigGreen ← TRUE;
};
BigBlue:
PUBLIC Buttons.ButtonProc =
TRUSTED {
ckv: CKViewer ← NARROW[clientData];
ckv.state.bigBlue ← TRUE;
};
SmallRed:
PUBLIC Buttons.ButtonProc =
TRUSTED {
ckv: CKViewer ← NARROW[clientData];
ckv.state.smallRed ← TRUE;
};
SmallGreen:
PUBLIC Buttons.ButtonProc =
TRUSTED {
ckv: CKViewer ← NARROW[clientData];
ckv.state.smallGreen ← TRUE;
};
SmallBlue:
PUBLIC Buttons.ButtonProc =
TRUSTED {
ckv: CKViewer ← NARROW[clientData];
ckv.state.smallBlue ← TRUE;
};
ResetBPPButtons:
PROC [ckv: CKViewer] =
TRUSTED {
Buttons.SetDisplayStyle[button: ckv.buttons.twentyfourButton, style: $BlackOnWhite];
Buttons.SetDisplayStyle[button: ckv.buttons.eightButton, style: $BlackOnWhite];
Buttons.SetDisplayStyle[button: ckv.buttons.fourButton, style: $BlackOnWhite];
Buttons.SetDisplayStyle[button: ckv.buttons.twoButton, style: $BlackOnWhite];
Buttons.SetDisplayStyle[button: ckv.buttons.oneButton, style: $BlackOnWhite];
};
ForkInit: UserExec.CommandProc =
TRUSTED {
ckViewer: CKViewer;
ckViewer ← CKViewerButtons.CreateCKViewer[];
Process.Detach[FORK CKViewerButtons.Go[ckViewer]];
UserExec.RegisterCommand[name: "CKViewer", proc: ForkInit, briefDoc: "ColorKinetic with viewer control panel"];
END.