Imager8bitDisplay.mesa
This interface provides access to the low level routines for the color display at 8 bits per pixel.
Last Edited by:
Crow, September 1, 1983 3:17 pm
DIRECTORY
ImagerBasic   USING [IntRectangle, IntPair, CIEColor],
ImagerDisplay USING [Mask, ByteSequence, VtxSequence, ContextData,
        Direction];
Imager8bitDisplay: CEDAR DEFINITIONS
= BEGIN
OPEN ImagerBasic, ImagerDisplay;
SetUp: PUBLIC PROC [ displayContext: ContextData, pin: BOOLEANTRUE, box: Mask];
Get memory, pin it if pin = TRUE, set transform and clipper
ShutDown: PROC [displayContext: ContextData];
ColortoPixel: PROC [color: CIEColor] RETURNS [LONG CARDINAL];  -- Color to device transform
PixeltoColor: PROC [pxlValue: LONG CARDINAL] RETURNS [CIEColor];
HilitePxls: PROC [area: IntRectangle];     -- Device dependent highlighting scheme
MovePxls: PUBLIC PROC [context: ContextData,
        source: IntRectangle, destination: IntPair]; -- move within context
TransferPxls: PUBLIC PROC [source, destination: ContextData];
StoreScanSeg: PUBLIC PROC [source: ContextData,
         x, y, length: CARDINAL] RETURNS [ByteSequence];
LoadScanSeg: PUBLIC PROC [destination: ContextData,
         x, y, length: CARDINAL, segment: ByteSequence];
LoadTrapezoid: PUBLIC PROC [destination: ContextData,
          top, bottom, leftTop, leftBot, rightTop, rightBot: CARDINAL,
          pxlValue: LONG CARDINAL];
LoadRectangle: PUBLIC PROC [destination: ContextData, area: ImagerBasic.IntRectangle,
           pxlValue: LONG CARDINAL];
SetAnyPxl: PUBLIC PROC [destination: ContextData, x, y: CARDINAL, pxlValue: LONG CARDINAL,
        newDirection: Direction ← none];
GetAnyPxl: PUBLIC PROC [source: ContextData, x, y: CARDINAL, newDirection: Direction ← none]
      RETURNS [LONG CARDINAL];
SetNextPxl: PUBLIC PROC [pxlValue: LONG CARDINAL];
GetNextPxl: PUBLIC PROC [] RETURNS [LONG CARDINAL];
DrawLine: PUBLIC PROC [destination: ContextData, a, b: IntPair,
        pxlValue: LONG CARDINAL];  -- fast line, constant color
Tiler: PUBLIC PROC [destination: ContextData,
      vtxCount: NAT, vertices: VtxSequence]; -- smooth shaded, convex poly
ConstantTiler: PUBLIC PROC [destination: ContextData, vtxCount: NAT, -- constant shade
         vertices: VtxSequence, pxlValue: LONG CARDINAL];
END.