DoInterpress:
PROC [design:
CD.Design, chipNDaleWindow:
CD.Rect, clip, onlySel, singleLayer, register:
BOOL ←
FALSE, layer:
CD.Layer ←
CD.undefLayer, lambda:
REAL ← 0.0, firstPage, lastPage:
BOOL ←
TRUE, abortFlag:
REF
BOOL]
RETURNS [masterName: Rope.
ROPE, usedField: Imager.Rectangle];
Produces an Interpress master of the design. The master is scaled such that it fits a whole page. chipNDaleWindow is either the bounding box of the design or a window in it. In the latter case, clip must be set to TRUE, and objects completetly outside the window will be ommitted from the Interpress master (because of things like mitering, actual clipping can be performed only when a bitmap is created).
The usedField is specified in millimeters. It is useful for subsequent processing of the Interpress master as long as this field cannot be specified in the preamble of Interpress masters themselves.
If onlySel is true, only the selected object are included in the Interpress master.
If singleLayer is true, only objects in the layer layer are included in the Interpress master.
If lambda = 0 then scale such that the window fills the field, else scale such that 1 will be lambda mm in the Interpress master.
If not last page, the Interpress master is not closed, hence the next call of this procedure will add a page to the same master instead of creating a new document.
May return signal tooComplex if it is believed that there might be too many rectangles in a horizontal cross section. The used criterion is the width of the design; if you do not agree, use the Interpreter to increase the risk.
Print:
PROC [masterName: Rope.
ROPE, printerKey:
ATOM, copies:
INT ← 1, doNotScale:
BOOL ←
FALSE, mergeRegister:
BOOL ←
TRUE, sizeHint:
REF Imager.Rectangle ←
NIL, abortFlag:
REF
BOOL]
RETURNS [peachName: Rope.
ROPE]
Produces (if necessary) a PD file from an Interpress master and ships it to the printer. Valid printer keys are $NVersatec, $NColorVersatec, $NPeachExpand, $NBw400, $NColor400, $NRaven300, $NRaven384, $NPlateMaker. May return signals invalidPrinter.
If the image is in portrait format and the printer uses roll paper, the rectangle usedField from DoInterpress can be specified as a sizeHint to increase the scale so a to use the full roll width.
If doNotScale then Print does not fit the field to the medium.