-- ColorDisplayHeadDLion.mesa (stub version)
-- Last edited August 26, 1982 4:40 pm by Taft
DIRECTORY
ColorDisplayFace USING [Color, Mode],
Environment USING [Base, PageCount, PageNumber],
HeadStartChain USING [Start],
RuntimeInternal USING [WorryCallDebugger];
ColorDisplayHeadDLion: PROGRAM
IMPORTS RemainingHeads: HeadStartChain, RuntimeInternal
EXPORTS ColorDisplayFace, HeadStartChain = {
ErrorHalt: PROC = {RuntimeInternal.WorryCallDebugger["Error in ColorDisplayHeadDLion"L]};
RPtr: TYPE = Environment.Base RELATIVE POINTER; -- relative to absolute address 0
Mode: TYPE = ColorDisplayFace.Mode;
Color: TYPE = ColorDisplayFace.Color;
-- Interface variables
-- The following are valid as soon as the module start code has run (see Start)
globalStateSize: PUBLIC CARDINAL ← 0; -- for Initialize
displayType: PUBLIC CARDINAL ← 0; -- display type; 0 means display not available
oldRev: BOOLEAN ← FALSE; -- TRUE if color board has an old revision level (less than Cj)
pixelsPerInch: PUBLIC CARDINAL ← 0; -- Size of a pixel
mixedRG: PUBLIC BOOLEAN ← TRUE; -- in fullmode, red and green alternate in A bitmap
width,height: PUBLIC CARDINAL ← 0; -- Dimensions of current raster in pixels
baseA,baseB,baseC: PUBLIC LONG POINTER ← NIL; -- bitmap addresses
bplA,bplB,bplC: PUBLIC CARDINAL ← 0; -- bitmap bits per line
Initialize: PUBLIC PROC [globalState: RPtr] = {ErrorHalt[]};
HasMode: PUBLIC PROC[mode: Mode] RETURNS[BOOLEAN] = {RETURN[FALSE]}; -- no display
PagesForMode: PUBLIC PROC[mode: Mode] RETURNS[Environment.PageCount] = {
ErrorHalt[]; RETURN [0]};
Connect: PUBLIC PROC [mode: Mode,
firstPage: Environment.PageNumber, nPages: Environment.PageCount] = {ErrorHalt[]};
Disconnect: PUBLIC PROC = {ErrorHalt[]};
TurnOn: PUBLIC PROC = {};
TurnOff: PUBLIC PROC = {};
Show: PUBLIC PROC[a,b,c: BOOLEAN] = {ErrorHalt[]};
GetColor: PUBLIC PROC[pixelA,pixelB: CARDINAL] RETURNS[r,g,b: Color] = {ErrorHalt[]};
SetColor: PUBLIC PROC[pixelA,pixelB: CARDINAL, r,g,b: Color] = {ErrorHalt[]};
GetRedMap: PUBLIC PROC[in: Color] RETURNS[out: Color] = {ErrorHalt[]};
GetGreenMap: PUBLIC PROC[in: Color] RETURNS[out: Color] = {ErrorHalt[]};
GetBlueMap: PUBLIC PROC[in: Color] RETURNS[out: Color] = {ErrorHalt[]};
SetRedMap: PUBLIC PROC[in,out: Color] = {ErrorHalt[]};
SetGreenMap: PUBLIC PROC[in,out: Color] = {ErrorHalt[]};
SetBlueMap: PUBLIC PROC[in,out: Color] = {ErrorHalt[]};
-- Initialization
InitializeCleanup: PUBLIC PROC = {};
-- HeadStartChain
Start: PUBLIC PROC = {
RemainingHeads.Start[];
};
}.