-- 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