<> <> <> <<>> DIRECTORY CD, Imager, ImagerPD, PDFileFormat, PDFileWriter, Rope; CDPlot: CEDAR DEFINITIONS = BEGIN PrinterType: TYPE = ImagerPD.PrinterType; PrinterLTS: TYPE = ARRAY PrinterType OF REF LayerTonerSipples; LayerTonerSipples: TYPE = RECORD[SEQUENCE size: CD.Layer OF ARRAY Toner OF REF]; Toner: TYPE = PDFileFormat.Toner[black..yellow]; --black cyan magenta yellow Stipple16: TYPE = ARRAY[0..16) OF CARDINAL; Stipple8: TYPE = ARRAY[0.. 8) OF [0..256); Stipple4: TYPE = ARRAY[0.. 4) OF [0.. 16); LayerTonerLoadRef: TYPE = ARRAY CD.Layer OF REF TonerLoadRef _ ALL[NIL]; TonerLoadRef: TYPE = ARRAY Toner OF PDFileWriter.LoadReference; <<>> <> c400PageX: REAL = 0.292; c400PageY: REAL = 0.419; standardPageX: REAL = 0.216; -- (72*8.5; points) US standard page width standardPageY: REAL = 0.277; -- (72*11.0; points) IPScaleType: TYPE = {variable, fixed, stripe}; IPBorderType: TYPE = {yes, mosaic, no}; IPControlRec: TYPE = RECORD [ pageNumX: INT _ 1, -- number of columns pageNumY: INT _ 1, -- number of rows clip: CD.Rect _ [0,0,0,0], -- area to be printed type: IPScaleType _ variable, -- scaling type borders: IPBorderType _ yes, -- border type altFonts: BOOL _ FALSE, -- font translation BOOL altFontsFile: Rope.ROPE _ NIL, -- font translation file name special: BOOL _ FALSE, -- temp used by dialog routines specialMults: BOOL _ FALSE, -- temp used by dialog routines pageX: REAL _ standardPageX, -- adjusted by scale routines pageY: REAL _ standardPageY, -- adjusted by scale routines transPos: Imager.VEC _ [0, 0], -- adjusted by scale routines sizePerPage: CD.Position _ [0, 0], -- adjusted by scale routines scale: REAL _ 1.0 ]; -- adjusted by scale routines PDControlRec: TYPE = RECORD [ ipType: PrinterType _ nil, stripes: INT _ 1, clip: CD.Rect _ [0,0,0,0] ]; PrinterDesc: TYPE = RECORD[ name: Rope.ROPE _ NIL, color: BOOL _ FALSE, pgType: {page, stripe} _ stripe, iFace: {peach, tsetter} _ peach, ipType: PrinterType _ nil ]; combined: CD.Layer = CD.undefLayer; highlight: CD.Layer = CD.shadeLayer; error: CD.Layer = CD.errorLayer; comment: CD.Layer = CD.commentLayer; NEW4: PROC[stipple: Stipple4] RETURNS[REF]; NEW8: PROC[stipple: Stipple8] RETURNS[REF]; NEWLayerTonerSipples: PROC[size: CD.Layer] RETURNS[lts: REF LayerTonerSipples]; GetTechnologyStipple: PROC [tech: ATOM ] RETURNS [ REF LayerTonerSipples]; SetTechnologyStipple: PROC [tech: ATOM, stipples: REF LayerTonerSipples]; GetDesignStipple: PROC [design: CD.Design ] RETURNS [ REF LayerTonerSipples]; SetDesignStipple: PROC [design: CD.Design, stipples: REF LayerTonerSipples]; SwapSipples: PROC[stipples: REF LayerTonerSipples]; -- for init of color400 stipples GetStipples: PROC[design: CD.Design, printerType: PrinterType] RETURNS [stipples: REF LayerTonerSipples]; InitSil: PROC; InitCMosA: PROC; InitCMosB: PROC; InitNMos: PROC; CDIPPlot: PROC[design: CD.Design, ipc: REF IPControlRec]; CDPDPlot: PROC[design: CD.Design, pdc: REF PDControlRec]; END.