-- File: PressUtilities.mesa,  Edit: Johnsson October 1, 1980  10:03 AM
-- converted to Laurel by Ken Pier, July 29, 1981  10:01 PM 
-- converted to Laurel 6.1 by Ken Pier, 16-May-83 12:45:10

DIRECTORY
  Press USING [FontWeight, Mica, Points, FontSlope],
  VMDefs: FROM "VMDefs" USING [FileHandle],
  csD: FROM "CoreStreamDefs" USING [StreamHandle];

PressUtilities: DEFINITIONS =
  BEGIN
  
  -- User.cm stuff
  
  SetupFontsForBravo: PROCEDURE;
  SetupFontsForNonProgDisk: PROCEDURE;
  SetupHardCopyOptions: PROCEDURE;
  hardcopyUserName: STRING;
  hardcopyHost: STRING;
  
  -- file transmission stuff
  
  ServerBusy: SIGNAL;
  ServerTimeout: SIGNAL;
  ServerTrouble: ERROR [message: STRING];
  IsPressFile: PROCEDURE [fh: VMDefs.FileHandle]
    RETURNS [isPressFile: BOOLEAN, lastPage: CARDINAL];
  ParameterProc: TYPE = PROCEDURE [POINTER] RETURNS [CARDINAL];
  SendPressFile: PROCEDURE [
    fileName, host: STRING, copies: CARDINAL ← 1,
    parameterProc: ParameterProc ← NIL];
  SendPressStream: PROCEDURE [
    stream: csD.StreamHandle, nPages: CARDINAL, host: STRING,
    copies: CARDINAL ← 1, parameterProc: ParameterProc ← NIL];
  
  -- Fonts.widths stuff
  
  FindFontWidths: PROCEDURE [
    family: STRING, points: Press.Points, weight: Press.FontWeight,
    slope: Press.FontSlope, widths: POINTER TO ARRAY CHARACTER OF Press.Mica]
    RETURNS [fBBox, fBBoy, fBBdx, fBBdy: Press.Mica];
  
  END...

--Former Errors
  UserCmMixup: ERROR;
  FileNotPressFormat: ERROR;
  FontNotInFontsDotWidths: ERROR;
  ErrorReadingFontWidths: ERROR;