ImagerPrintContext.mesa
Copyright Ó 1987 by Xerox Corporation. All rights reserved.
Michael Plass, July 13, 1987 5:17:02 pm 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, TonerUniverse],
SF USING [Vec],
Vector2 USING [VEC];
~
BEGIN
Create:
PROC [deviceSpaceSize:
SF.Vec, scanMode: ImagerTransformation.ScanMode, surfaceUnitsPerInch: Vector2.
VEC, logicalDevice: PrintColor.LogicalDevice, halftoneProperties: PrintColor.HalftoneProperties, correction: PrintColor.ColorCorrection ←
NIL, interpolate:
BOOL ←
FALSE]
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, toners: PrintColor.TonerUniverse]
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.