DisplayClassRep:
TYPE ~
RECORD[
deviceType: ATOM,
SetUp: PROC [displayContext: ContextData, pin: BOOLEAN ← TRUE, box: Mask],
ShutDown: PROC [displayContext: ContextData],
ColortoPixel: PROC [color: CIEColor] RETURNS [LONG CARDINAL],
PixeltoColor: PROC [pxlValue: LONG CARDINAL] RETURNS [CIEColor],
HilitePxls: PROC [area: IntRectangle],
MovePxls: PROC [context: ContextData, source: IntRectangle, destination: IntPair],
TransferPxls: PROC [source, destination: ContextData],
StoreScanSeg: PROC [source: ContextData, x, y, length: CARDINAL]
RETURNS [ByteSequence],
LoadScanSeg: PROC [destination: ContextData, x, y, length: CARDINAL,
segment: ByteSequence],
LoadTrapezoid: PROC [destination: ContextData,
top, bottom, leftTop, leftBot, rightTop, rightBot: CARDINAL,
pxlValue: LONG CARDINAL],
LoadRectangle: PROC [destination: ContextData, area: ImagerBasic.IntRectangle,
pxlValue: LONG CARDINAL],
SetAnyPixel: PROC [destination: ContextData, x, y: CARDINAL,
pxlValue: LONG CARDINAL, newDirection: Direction ← none],
GetAnyPixel: PROC [source: ContextData, x, y: CARDINAL,
newDirection: Direction ← none] RETURNS [LONG CARDINAL],
SetNextPixel: PROC [pxlValue: LONG CARDINAL],
GetNextPixel: PROC [] RETURNS [LONG CARDINAL],
DrawLine: PROC [destination: ContextData, a, b: IntPair, pxlValue: LONG CARDINAL],
Tiler: PROC [destination: ContextData, vtxCount: NAT, vertices: VtxSequence]
];