DIRECTORY PDFileFormat USING [Toner, DeviceCode], PDFileWriter USING [TonerSet], CD USING [Design, Rect, ContextFilter, Layer, Instance], Rope USING [ROPE]; CDPDPlot: CEDAR DEFINITIONS = BEGIN TonerKeys: TYPE = ARRAY PDFileFormat.Toner OF REF; PageMode: TYPE = {fixedPage, finiteStripe, anyStripe}; DeviceDesc: TYPE = RECORD [ deviceCode: PDFileFormat.DeviceCode _ last, sResolution: CARDINAL, fResolution: CARDINAL, imageSSize: CARDINAL, imageFSize: CARDINAL, bandSSize: CARDINAL, copies: CARDINAL _ 1, leftOverMode: BOOLEAN _ TRUE, maxLoadWords: INT _ 60000, maxPixPerLambda: INT _ -1, stippleKey: ATOM, name: Rope.ROPE _ NIL, toners: PDFileWriter.TonerSet _ ALL[FALSE], pageMode: PageMode, pageSlowSize: CARDINAL, overlap: CARDINAL _ 30, -- number of pixels by which to overlap strips tonerToKey: REF TonerKeys _ NIL, --key to get color stipples as properties of the layer contextFilter: REF CD.ContextFilter, unusedYet: REF _ NIL ]; TaskDesc: PUBLIC TYPE = RECORD [ design: CD.Design, instance: CD.Instance _ NIL, dd: REF DeviceDesc _ NIL, fileName: Rope.ROPE _ NIL, clip: CD.Rect _ [0, 0, -1, -1], substituteFonts: BOOL _ TRUE, scale: REAL _ -1, abort: REF BOOL _ NIL, strips: NAT _ 1 ]; MakeDevice: PROC [key: ATOM] RETURNS [dd: REF DeviceDesc]; Plot: PROC [task: REF TaskDesc]; fiddleDevice: REF DeviceDesc; Start: PROC[tech, device, b, c, m, y: ATOM, text: Rope.ROPE_NIL, invert: BOOL_FALSE]; End: PROC []; Layer: PROC [uniqueKey: ATOM]; LayerNumber: PROC [layer: CD.Layer]; Color1: PROC [key: ATOM]; Color4: PROC [key: ATOM, i0, i1, i2, i3: [0..16)]; Color8: PROC [key: ATOM, i0, i1, i2, i3, i4, i5, i6, i7: [0..256)]; END. .CDPDPlot.mesa Copyright c 1986 by Xerox Corporation. All rights reserved. Created by Christian Jacobi, July 31, 1986 10:51:04 am PDT Last Edited by: Christian Jacobi, December 8, 1986 6:57:22 pm PST THIS MODULE MAY CHANGE OUTSIDE THE RELEASE CYCLE --fields for PDFileWriter.Create --fields for this module --Uses design if instance defaulted to NIL --Instance and object will be plotted, but not modified --Assumes clip and instance to be in same coordinate system --returns a new DeviceDesc, may be edited --side effects, overwrites task and DeviceDesc --for interpreter usage --may be provided by client, is returned by MakeDevice[$PDPlotUserDevice] --must be reset somehow, because MakeDevice allowed edits... --start and end privide protection against multiple set up processes interfering ΚŒ˜codešœ™Kšœ Οmœ1™