<> <> <> <> <> <> DIRECTORY ColorDisplayDefs USING [ChannelsVisible, ChannelValue, ColorDisplayType, ColorMode, ColorValue], ColorDisplayFace USING [ColorMap, nullMode]; ColorDisplayHeadDLion: PROGRAM EXPORTS ColorDisplayFace = BEGIN OPEN ColorDisplayFace, ColorDisplayDefs; ErrorHalt: PROC = {ERROR}; globalStateSize: PUBLIC NAT _ 0; -- number of words required by Initialize Initialize: PUBLIC PROC [globalState: LONG POINTER] = {ErrorHalt[]}; InitializeCleanup: PUBLIC PROC ~ {ErrorHalt[]}; displayType: PUBLIC ColorDisplayType _ none; -- sorry ... width: PUBLIC NAT _ 0; -- display width, in pixels height: PUBLIC NAT _ 0; -- display height, in pixels pixelsPerInch: PUBLIC NAT _ 0; -- Size of a pixel SetDisplayType: PUBLIC SAFE PROC [type: ColorDisplayType] RETURNS [ok: BOOL] ~ CHECKED { RETURN[type=none]; }; HasMode: PUBLIC SAFE PROC[mode: ColorMode] RETURNS[BOOL] = CHECKED { RETURN[FALSE]; -- nope }; NextMode: PUBLIC SAFE PROC [mode: ColorMode] RETURNS [ColorMode] = CHECKED { RETURN[nullMode]; }; wordsForColorMap: PUBLIC NAT _ 0; InitializeColorMap: PUBLIC PROC [mode: ColorMode, pointer: LONG POINTER] RETURNS [ColorMap] ~ { RETURN[NIL] }; SetColor: PUBLIC PROC [map: ColorMap, pixelA, pixelB: ChannelValue, r, g, b: ColorValue] ~ { }; GetColor: PUBLIC SAFE PROC[map: ColorMap, pixelA, pixelB: ChannelValue] RETURNS [r, g, b: ColorValue _ 0] ~ CHECKED { }; SetR: PUBLIC PROC [map: ColorMap, in: ChannelValue, out: ColorValue] ~ { }; SetG: PUBLIC PROC [map: ColorMap, in: ChannelValue, out: ColorValue] ~ { }; SetB: PUBLIC PROC [map: ColorMap, in: ChannelValue, out: ColorValue] ~ { }; GetR: PUBLIC SAFE PROC [map: ColorMap, in: ChannelValue] RETURNS [out: ColorValue _ 0] ~ CHECKED { }; GetG: PUBLIC SAFE PROC [map: ColorMap, in: ChannelValue] RETURNS [out: ColorValue _ 0] ~ CHECKED { }; GetB: PUBLIC SAFE PROC [map: ColorMap, in: ChannelValue] RETURNS [out: ColorValue _ 0] ~ CHECKED { }; <<>> Connect: PUBLIC PROC [mode: ColorMode, baseA, baseB: LONG POINTER, map: ColorMap] = { ErrorHalt[]; }; Disconnect: PUBLIC SAFE PROC = CHECKED { }; TurnOn: PUBLIC PROC = { ErrorHalt[] }; TurnOff: PUBLIC SAFE PROC = CHECKED { }; SetVisibility: PUBLIC SAFE PROC[visibility: ChannelsVisible] ~ CHECKED { }; END.