<> <> <<>> <> <> 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: BOOLEAN _ TRUE, box: Mask]; <> 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.