DIRECTORY PaperTypes USING [PaperSize], PrintingTypes USING [Option]; PaperHandling: CEDAR DEFINITIONS = BEGIN PrintOrder: TYPE = {firstPageOutFirst, lastPageOutFirst}; Banner: TYPE = RECORD [ var: SELECT engine: PrintingTypes.Option FROM raven, fx3500, bansheeDl, feps9700, fax295, d1 => [banner: BannerMode], fax495 => [banner: Fax495BannerMode], unknown => [] ENDCASE ]; BannerMode: TYPE = {oncePerDocument, oncePerJob, suppressed}; Fax495BannerMode: TYPE = RECORD[ local: BannerMode, remote: BannerMode ]; PaperSupply: TYPE = RECORD [ var: SELECT engine: PrintingTypes.Option FROM raven => [paper: TwoPaperSizes], --size1 = bottom tray; size2 = top tray fax495, fax295 => [paperWidth: CARDINAL --millimeters--], unknown => [], ENDCASE ]; TwoPaperSizes: TYPE = RECORD --applies only to engines with 2 paper sources [size1, size2: PaperTypes.PaperSize]; ThreePaperSizes: TYPE = RECORD --applies only to engines with 3 paper sources [size1, size2, size3: PaperTypes.PaperSize]; Registration: TYPE = RECORD [ var: SELECT engine: PrintingTypes.Option FROM raven => [reg: RavenRegistration], fx3500 => [reg: FX3500Registration], d1 => [reg: D1Registration], bansheeDl, fax495, fax295, feps9700, unknown => [], ENDCASE ]; RavenRegistration: TYPE = RECORD [ --applies to raven engine long: RavenRegLong, short: RavenRegShort ]; FX3500Registration: TYPE = RECORD [ --applies to fx3500 engine long: FX3500RegLong, short: FX3500RegShort ]; D1Registration: TYPE = RECORD [ --applies to fx3500 engine long: D1RegLong, short: D1RegShort ]; RavenRegLong: TYPE = RegistrationTab [10..43]; RavenRegShort: TYPE = RegistrationTab [1..30]; FX3500RegLong, D1RegLong: TYPE = RegistrationTab [1..30]; FX3500RegShort, D1RegShort: TYPE = RegistrationTab [1..30]; RegistrationTab: TYPE = CARDINAL; --unit is registrationTabSize registrationTabSize: CARDINAL = 6; -- Dictated by Alignment Test Pattern (unit: 6 pixels) PaperFeed: TYPE = --applies only to engines with top and bottom paper trays {fromBottom, fromBottomBannerFromTop, fromBottomOrTop, fromTop, alternateBottomAndTop}; PaperStacking: TYPE = --applies only to engines equiped with stacking hardware {aligned, documentOffset, jobOffset}; END. --PaperHandling LOG 7-Nov-83 10:17:09 - Jacks - Created. Took code from PSState so that any module in Print Service may depend on this. 14-Dec-83 10:29:29 - Jacks - Added Banner and FaxBannerMode; removed PaperFeed variant record and renamed PaperFeedMode1 to PaperFeed adding 'alternateBottomAndTop'; moved PaperStacking and PaperFeed to engine dependent section; defined new variant for PaperSupply; redefined Registration (creating RavenRegistration and FX3500Registration) and moved it to variant rec section. 19-Sep-84 13:29:24 - Jacks - Added fax295, banshee and remote9700 variants; renamed PaperSupplyMode1 to TwoPaperSizes; renamed FaxBannerMode to Fax495BannerMode. 24-Jun-85 14:53:43 - Jacks - Added d1 variants; added ThreePaperSizes (for XSIS ravens); added registrationTabSize. 6PaperHandling.mesa Copyright Σ Xerox Corporation 1983, 1984, 1985, 1986, 1987. All rights reserved. Last edited by Jacks 24-Jun-85 14:53:43 Tim Diebert: March 31, 1987 8:43:20 am PST Engine independent paper handling: Paper handling where the option differs for different types of print engines; the records have variants for each different type of engine: The raven and the fax devices are the only engines that need the user to set the paper supply, so their paper size variants are defined here. Paper handling that only applies to certain print engines: Κ˜codešœ™KšœP™PKšœ'™'K™*—K˜šΟk ˜ Kšœ œ ˜Kšœœ ˜K˜—šΠln œœ œ˜(K˜Kšœ"™"Kšœ œ)˜9K˜KšœŒ™Œšœœœ˜šœœ˜-K˜GK˜%K˜ Kš˜K˜——Kšœ œ-˜=šœœœ˜ K˜K˜K˜K˜—Kšœ™šœ œœ˜šœœ˜-Kšœ!Οc'˜HKšœœŸœ˜9K˜Kš˜K˜——šœœœŸ.˜KK˜%K˜—šœœœŸ.˜MK˜,K˜—šœœœ˜šœœ˜-K˜"K˜$K˜K˜3Kš˜K˜——K˜šœœœŸ˜K˜K˜K˜—šœœœŸ˜:K˜K˜K˜K˜—Kšœœ˜.Kšœœ˜.Kšœœ˜9Kšœœ˜;K˜KšœœœŸ˜?KšœœŸ6˜ZK˜Kšœ:™:K˜šœ œŸ9˜KK˜WK˜—šœœŸ8˜NK˜%—KšœŸ˜K˜Kš˜—K˜tK˜ωK˜‘KšœKœ$˜s—…— °ƒ