ImagerPrintContext.mesa
Copyright Ó 1987, 1991, 1992 by Xerox Corporation. All rights reserved.
Michael Plass, September 24, 1991 11:21 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],
ImagerMaskCache USING [Parameters],
ImagerTransformation USING [ScanMode],
PrintColor USING [ColorCorrection, HalftoneProperties, LogicalDevice, Toner, TonerUniverse],
SF USING [Vec],
Vector2 USING [VEC];
ImagerPrintContext: CEDAR DEFINITIONS
~ BEGIN
SetMaskCacheTradeoffs: PROC [fontCacheName: ATOM];
This should be called for each font cache passed to Create to set the appropriate rasterCost and runsCost functions.
Create: PROC [deviceSpaceSize: SF.Vec, scanMode: ImagerTransformation.ScanMode, surfaceUnitsPerInch: Vector2.VEC, logicalDevice: PrintColor.LogicalDevice, halftoneProperties: PrintColor.HalftoneProperties, correction: PrintColor.ColorCorrection ¬ NIL, interpolate: BOOL ¬ FALSE, fontCacheName: ATOM ¬ $Print, parameters: ImagerMaskCache.Parameters ¬ NIL] 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
fontCacheName is the name of the font cache to use
parameters specifies how masks are to be adusted (e.g., stroke thickening)
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.
END.