<> <> <> <<>> DIRECTORY Basics, Draw2d, Imager, ImagerColorMap, ImagerColorOperator, ImagerPixelArray, ImagerPixelMap, ImagerSample, InterminalBackdoor, Interpress, IO, Rope, Terminal; <<>> ColorTrixBasics: CEDAR DEFINITIONS IMPORTS Imager ~ BEGIN DeviceRectangle: TYPE ~ ImagerPixelMap.DeviceRectangle; PixelMap: TYPE ~ ImagerPixelMap.PixelMap; PixelMapMisc: TYPE ~ RECORD [ bpp: INTEGER, -- 8 or 24 bits per pixel bw, rg, b: PixelMap, -- black/white, red/green and blue 8 bit pixel maps x, y, w, h: INTEGER -- the window ]; VtMode: TYPE ~ {dither, gray, none}; CdType: TYPE ~ {gray, smooth, color}; PixelProc: TYPE ~ Draw2d.PixelProc; ValueProc: TYPE ~ PROC [x, y: INTEGER, data: REF ANY _ NIL] RETURNS [value: CARDINAL]; RGBProc: TYPE ~ PROC [x, y: INTEGER, data: REF ANY _ NIL] RETURNS [r, g, b: CARDINAL]; <> InsureColorDisplayOn: PUBLIC PROC [bpp: NAT]; <> <<>> GetColorDisplayPmMisc: PROC RETURNS [pmMisc: PixelMapMisc]; <> <<>> ShowPmMisc: PROC [pmMisc: PixelMapMisc]; <> <<8 Bit Pixel Map Operations>> GetColorDisplayPm: PROC RETURNS [pm: PixelMap]; <> <<>> ShowPm: PROC [pm: PixelMap]; <> <<>> FillPm: PROC [pm: PixelMap, color: CARDINAL]; <> <<>> PutPixel: PROC [pm: PixelMap, x, y: INTEGER, value: CARDINAL]; <> <<>> GetPixel: PROC [pm: PixelMap, x, y: INTEGER] RETURNS [value: CARDINAL]; <> <<>> PutBox: PROC [pm: PixelMap, x0, y0, x1, y1: INTEGER, value: CARDINAL]; <> <<>> PutLine: PROC [pm: PixelMap, x0, y0, x1, y1: INTEGER, value: CARDINAL]; <> <<>> PutScanLine: PROC [pm: PixelMap, y: INTEGER, proc: ValueProc, data: REF ANY _ NIL]; <> <<>> PutFrame: PROC [pm: PixelMap, proc: ValueProc, data: REF ANY _ NIL]; <> <> <<24 Bit Pixel Map Operations>> FillRGBPm: PROC [pmMisc: PixelMapMisc, r, g, b: CARDINAL]; <> <<>> PutRGBPixel: PROC [pmMisc: PixelMapMisc, x, y: INTEGER, r, g, b: CARDINAL]; <> <<>> GetRGBPixel: PROC [pmMisc: PixelMapMisc, x, y: INTEGER] RETURNS [r, g, b: CARDINAL]; <> PutRGBBox: PROC [pmMisc: PixelMapMisc, x0, x1, y0, y1: INTEGER, r, g, b: CARDINAL]; <> <<>> PutRGBLine: PROC [pmMisc: PixelMapMisc, x0, x1, y0, y1: INTEGER, r, g, b: CARDINAL]; <> <<>> PutRGBScanLine: PROC [ pmMisc: PixelMapMisc, y: INTEGER, proc: RGBProc, data: REF ANY _ NIL]; <> <> PutRGBFrame: PROC [pmMisc: PixelMapMisc, proc: RGBProc, data: REF ANY _ NIL]; <> <> <> <> SetPmMiscWindow: PROC [pm: PixelMapMisc, x, y, w, h: NAT] RETURNS [PixelMapMisc]; <> FillPmMisc: PROC [pm: PixelMapMisc, r, g, b: CARDINAL _ 0]; <> WindowFromPmMisc: PROC [pm: PixelMapMisc] RETURNS [DeviceRectangle]; <> CreatePmMisc: PROC [bpp: NAT, x, y, w, h: NAT] RETURNS [p: PixelMapMisc]; <> CopyPmMisc: PROC [src, dst: PixelMapMisc]; <> CopyClippedPmMisc: PROC [src, dst: PixelMapMisc, xSrc, ySrc, w, h: NAT]; <> <> InitCd: PROC [ type: CdType, pixelUnits: BOOL _ TRUE, clear: BOOL _ FALSE, cmapInit: BOOL _ TRUE] RETURNS [Imager.Context]; ClearCd: PROC [cd: Imager.Context, color: Imager.ConstantColor _ Imager.black]; <> ClearVt: PROC [vt: Terminal.Virtual _ NIL, val: INTEGER _ 0]; <> <> SetVtMode: PUBLIC PROC [vtMode: VtMode] RETURNS [Terminal.Virtual]; <> <<8pp. All 24bpp displays must be dither displays. The color display status is set and the>> <> END.