DIRECTORY Imager USING [ColorOperator, Context, PixelArray, Transformation], IO USING [STREAM], Rope USING [ROPE]; ImagerInterpressFragment: CEDAR DEFINITIONS ~ BEGIN Ref: TYPE ~ REF Rep; Rep: TYPE; Create: PROC [fileName: Rope.ROPE, header: Rope.ROPE _ NIL] RETURNS [Ref]; CreateFromStream: PROC [stream: IO.STREAM, header: Rope.ROPE] RETURNS [Ref]; PushInt: PROC [self: Ref, n: INT]; VectorProc: TYPE ~ PROC [ putIdentifier: PROC [ATOM], putString: PROC [Rope.ROPE], putInt: PROC [INT], putReal: PROC [REAL], putTransformation: PROC [Imager.Transformation], putVector: PROC [vecProc: PROC], putImageOp: PROC [action: PROC [Imager.Context]] ]; PushVector: PROC [self: Ref, vectorProc: VectorProc]; PushPixelArray: PROC [self: Ref, pa: Imager.PixelArray]; PushColorOperator: PROC [self: Ref, op: Imager.ColorOperator]; Close: PROC [self: Ref]; Finish: PROC [self: Ref]; END. ˜ImagerInterpressFragment.mesa Copyright c 1985 by Xerox Corporation. All rights reserved. Doug Wyatt, October 18, 1985 6:21:01 pm PDT Michael Plass, April 8, 1986 12:33:42 pm PST Rick Beach, June 18, 1986 5:00:36 pm PDT Imager clients can use this interface to create fragments of Interpress masters. Creates a file with the given name. If header=NIL, a header of "Interpress/Xerox/3.0 " is supplied. Returns a handle aimed at stream; header is inserted verbatim at beginning. Pushes an integer on the stack. Pushes a vector on the stack created in the preamble. vectorProc should not call PushVector, but should use its putVector proc to create any nested vectors. Pushes a pixel array on the stack created in the preamble. Pushes a color operator on the stack created in the preamble. Finishes the master and closes the underlying stream. Finishes the master without closing the underlying stream. Κ˜codešœ™Kšœ Οmœ1™K™=K™—š œžœ ˜K™5K™—š œžœ ˜K™:K™—K˜K™Kšžœ˜—…—p '