-- CGBandDevice.mesa
-- Last changed by Ken Pier, October 26, 1982 12:33 pm

DIRECTORY
GraphicsBasic USING [DeviceRef],
CGBandStream USING [BandStreamHandle],
CGMatrix USING [Ref];

CGBandDevice: DEFINITIONS = {
OPEN BStream: CGBandStream, GB: GraphicsBasic;

BandDevice: TYPE = MACHINE DEPENDENT {screen(0), hornet(1), platemaker(2), end(3), last(77B) --more in future--};

New: PROC[BandDevice] RETURNS[GB.DeviceRef];

Close: PROC[GB.DeviceRef];

GetBParameters: PROC[BandDevice] RETURNS [base: LONG POINTER, raster, height: CARDINAL,
matrix: CGMatrix.Ref, bandCount: CARDINAL,
brickloadSize, fontloadSize: CARDINAL];

SetSeparation: PROC[s: Separation];
Separation: TYPE = {red, green, blue, none};

BandRef: TYPE = REF BandsRep;
BandsRep: TYPE = RECORD [
count: CARDINAL,--number of bands in this list
 height: CARDINAL,--height of each band in scanlines
 width: CARDINAL,--width of each band in words
 list: SEQUENCE size: NAT OF Band
 ];

Band: TYPE = RECORD[
ymin, ymax: REAL, --y boundary for band
 stream: BStream.BandStreamHandle --stream associated with band
 ];

CGBandDeviceImpl: PROGRAM;

}.--CGBandDevice

LOG


completely redone for new band file formats, 2/11/82
BandDevice: MACHINE DEPENDENT TYPE, 3/14/82
removed singleFile, 3/30/82
added fontloadSize, 5/24/82
added brickloadSize, 7/13/82