ImagerPrintContext.mesa
Copyright Ó 1987 by Xerox Corporation. All rights reserved.
Michael Plass, July 9, 1987 8:34:45 am PDT
This interface provides contexts that are meant to create medium-to-high resolution bitmaps (halftoned separations) suitable for printing.
DIRECTORY
Imager USING [Context],
ImagerSample USING [SampleMap],
ImagerTransformation USING [ScanMode],
PrintColor USING [ColorCorrection, HalftoneProperties, LogicalDevice, Toner],
SF USING [Vec],
Vector2 USING [VEC];
ImagerPrintContext: CEDAR DEFINITIONS
~ BEGIN
Create: PROC [deviceSpaceSize: SF.Vec, scanMode: ImagerTransformation.ScanMode, surfaceUnitsPerInch: Vector2.VEC, logicalDevice: PrintColor.LogicalDevice, halftoneProperties: PrintColor.HalftoneProperties, correction: PrintColor.ColorCorrection ← NIL, interpolate: BOOLFALSE] RETURNS [Imager.Context];
deviceSpaceSize gives the slow and fast dimensions of the entire device space.
scanMode specifies the scan direction information
surfaceUnitsPerInch specifies the resolution in the slow(x) and fast(y) directions
logicalDevice is a code that specifies the particular logical device
halftoneProperties specify the halftoning characteristics for each separation
correction provides a hook for doing color correction
interpolate specifies whether or not to interpolate sampled images
Call SetBitmap and SetSeparation before using the context.
SimpleCreate: PROC [deviceSpaceSize: SF.Vec, scanMode: ImagerTransformation.ScanMode, surfaceUnitsPerInch: Vector2.VEC, logicalDevice: PrintColor.LogicalDevice, pixelsPerHalftoneDot: REAL] RETURNS [Imager.Context];
A convenience proc, using default screen angles and dot shapes. Production applications would generate the logicalDevice, halftoneProperties, correction, and interpolate parameters from a parameter file, and call Create.
SetBitmap: PROC [context: Imager.Context, bitmap: ImagerSample.SampleMap];
Sets a bitmap under the context; the bitmap does not have to cover all of the device space.
SetSeparation: PROC [context: Imager.Context, toner: PrintColor.Toner];
Selects a toner; should be done at the start of each separation.
END.