-- PrintOps.mesa, Edit: Johnsson 16-Apr-81 8:13:05 -- Edit: Paul Rovner 6-Jan-82 19:07:07 -- Edit: Warren Teitelman June 18, 1982 12:04 pm DIRECTORY Press USING [FontIndex, FontSlope, FontWeight, Mica, micasPerInch, Mode], IO USING[STREAM]; PrintOps: DEFINITIONS = BEGIN DataEnd: SIGNAL; Direction: TYPE = {left, right, top, bottom}; Margins: TYPE = ARRAY Direction OF Press.Mica; Parameters: TYPE = RECORD [ copies, tab: CARDINAL, margins: ARRAY Direction OF Press.Mica, betweenColumns: Press.Mica ← Press.micasPerInch/2, columns: CARDINAL, mail: BOOLEAN ← FALSE, wrap: BOOLEAN ← TRUE, nonprog: BOOLEAN ← FALSE, headers: BOOLEAN ← TRUE, trailers: BOOLEAN ← TRUE, weight: Press.FontWeight, slope: Press.FontSlope, mode: Press.Mode]; ParametersHandle: TYPE = POINTER TO Parameters; PressProcsObject: TYPE = RECORD [ Character: PROCEDURE [CHARACTER], GetWidthOfCharacter: PROCEDURE [CHARACTER] RETURNS [Press.Mica], PieceOfLine: PROCEDURE [s: LONG STRING, width: Press.Mica], SetCurrentFont: PROCEDURE [Press.FontIndex, Press.FontWeight, Press.FontSlope], SkipSomeSpace: PROCEDURE [Press.Mica], -- for indenting SetCurrentPosition: PROCEDURE [x, y: Press.Mica], GetCurrentPosition: PROCEDURE RETURNS [x, y: Press.Mica], GetCurrentPageNumber: PROCEDURE RETURNS [CARDINAL], SetCurrentPageNumber: PROCEDURE [CARDINAL], GetHeightOfFont: PROCEDURE [Press.FontIndex] RETURNS [Press.Mica] ]; PressProcsHandle: TYPE = POINTER TO PressProcsObject; printerName: LONG STRING; out: IO.STREAM; Format: PROCEDURE [ getChar: PROCEDURE RETURNS [CHARACTER], procs: PressProcsHandle, p: ParametersHandle] RETURNS [lastPage: CARDINAL]; GetStatus: PROCEDURE RETURNS [BOOLEAN]; END. June 18, 1982 12:04 pm converted to 3.2. IOStream -> IO.