-- 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[];
  };


}.