Imager8bitDisplay.mesa
This interface provides access to the low level routines for the color display at 8 bits per pixel.
Last Edited by:
Crow, June 10, 1983 1:28 pm
DIRECTORY
ImagerBasic USING [TransformRecord, ClipperRecord, IntRectangle, IntVec, RGBValue,
       PxlValue, PixelArray, ByteSequence, DeviceProcs];
Imager8bitDisplay: CEDAR DEFINITIONS
= BEGIN
OPEN ImagerBasic;
SetUp: PROC [] RETURNS [TransformRecord, ClipperRecord, DeviceProcs]; -- get memory, pin it, set transform and clipper
ShutDown: PROC [];         -- free memory in case the last user has left
OpenPixelBuffer: PROC [buffer: PixelArray ← NIL] RETURNS [PixelArray]; -- redirect writes for double-buffer
ClosePixelBuffer: PROC [];        -- drop pixel buffer ref
RGBtoPixel: PROC [color: RGBValue] RETURNS [PxlValue];  -- Color to device transform
PixeltoRGB: PROC [pxlValue: PxlValue] RETURNS [RGBValue];
HilitePxls: PROC [area: IntRectangle];     -- Device dependent highlighting scheme
MovePxls: PROC [source: IntRectangle, destination: IntVec];     -- move on display
StorePxls: PROC [source: IntRectangle] RETURNS [PixelArray];
LoadPxls: PROC [source: PixelArray ← NIL, destination: IntVec];
StoreScanSeg: PROC [x, y, length: CARDINAL] RETURNS [ByteSequence];
LoadScanSeg: PROC [x, y, length: CARDINAL, segment: ByteSequence];
LoadTrapezoid: PROC [top, bottom, leftTop, leftBot, rightTop, rightBot: CARDINAL, pxlValue: PxlValue];             -- Scan convert trapezoid, constant color
SetPxl: PROC [x, y: CARDINAL, pxlValue: PxlValue];
GetPxl: PROC [x, y: CARDINAL] RETURNS [PxlValue];
DrawLine: PROC [a, b: IntVec, pxlValue: PxlValue];   -- draw a fast line, constant color
END.