Interpress.mesa
Copyright © 1985, 1986 by Xerox Corporation.  All rights reserved.
Michael Plass, June 7, 1985 3:31:24 pm PDT
Doug Wyatt, May 30, 1986 3:03:19 pm PDT
Allan Wax: January 20, 1987 12:37:38 pm PST
 
Interpress: 
CEDAR 
DEFINITIONS
~ BEGIN
ROPE: TYPE ~ Rope.ROPE;
STREAM: TYPE ~ IO.STREAM;
LogProc: TYPE ~ PROC [class: INT, code: ATOM, explanation: ROPE];
InstructionsRecord: TYPE;
Instructions: TYPE = REF InstructionsRecord;
CredentialsRecord: TYPE;
Credentials: TYPE ~ REF CredentialsRecord;
classMasterError: INT ~ 0;
classMasterWarning: INT ~ 10;
classAppearanceError: INT ~ 50;
classAppearanceWarning: INT ~ 60;
classComment: INT ~ 100;
Master: TYPE ~ REF MasterRep;
MasterRep: 
TYPE ~ 
RECORD [
pages: INT, -- number of pages in the master
impl: REF MasterImplRep, -- implementation details
copies: INT ← 1 -- max. copies referenced
];
 
MasterImplRep: TYPE;
Open: 
PROCEDURE [fileName: 
ROPE, log: LogProc, credentials: Credentials ← 
NIL, instructionsHandle: Instructions ← 
NIL] 
RETURNS [Master];
Opens the named Interpress master and executes the preamble.
 
FromStream: 
PROCEDURE [stream: 
STREAM, log: LogProc, credentials: Credentials ← 
NIL, instructionsHandle: Instructions ← 
NIL] 
RETURNS [Master];
Same as Open but takes stream as input
 
DoPage: 
PROCEDURE [master: Master, page: 
INT, context: Imager.Context, log: LogProc, copy: 
INT ← 1];
Executes a page of the master; page IN[1..master.pages].
 
Close: 
PROCEDURE [master: Master];
Destroys the master and any Inserted Files associated with it.