<> <> <> <<>> DIRECTORY Imager USING [Context], ImagerPixelMap USING [PixelMap], PrincOps USING [wordsPerPage], Rope USING [ROPE]; RavenDriver: DEFINITIONS ~ BEGIN GetPrinterPixelMap: PUBLIC PROC RETURNS [pixelMap: ImagerPixelMap.PixelMap]; <> ContextFromPixelMap: PUBLIC PROC [pixelMap: ImagerPixelMap.PixelMap, fontTunerParms: Rope.ROPE _ NIL] RETURNS [context: Imager.Context]; <> PaperFeed: TYPE ~ {bottom, top, alternating}; PrintFromPixelMap: PUBLIC PROC [pixelMap: ImagerPixelMap.PixelMap, copies: CARDINAL _ 1, paperFeed: PaperFeed _ alternating] RETURNS [endingStatus: PrinterStatus, type: StatusType]; <> PrinterStatus: TYPE = Rope.ROPE; StatusProc: TYPE = PROC [status: PrinterStatus, type: StatusType]; StatusType: TYPE = {normal, error}; SetScanLineLength: PUBLIC PROCEDURE [scanLineLength: (0..PrincOps.wordsPerPage]]; RegisterStatusProc: PUBLIC PROC [sp: StatusProc]; UnRegisterStatusProc: PUBLIC PROC [sp: StatusProc]; RavenRegistration: TYPE = RECORD [ --applies to raven engine long: RavenRegLong, short: RavenRegShort ]; RavenRegLong: TYPE = RegistrationTab [10..43]; -- fMargin RavenRegShort: TYPE = RegistrationTab [1..30]; -- sMargin RegistrationTab: TYPE = CARDINAL; --unit is registrationTabSize registrationTabSize: CARDINAL = 6; -- Dictated by Alignment Test Pattern (unit: 6 pixels) SetRegistration: PUBLIC PROCEDURE [registration: RavenRegistration]; WakeUp: PUBLIC PROCEDURE[]; END.