DIRECTORY ChoiceButtons, PieViewers, Process, Rope, ViewerClasses, ViewerSpecs; PressScreen: CEDAR DEFINITIONS = BEGIN ROPE: TYPE = Rope.ROPE; Side: TYPE = {leftSide, bothSides, rightSide}; PressScreen: PROCEDURE [pressFileName: ROPE, which: Side]; MagnificationType: TYPE = {fullPage, halfPage, useMagnification}; AISPressScreen: PROCEDURE [ pressFileName: ROPE, sourceHeight: NAT _ ViewerSpecs.screenH, sourceWidth: NAT _ ViewerSpecs.screenW, sourceBottom: NAT _ 0, sourceLeft: NAT _ 0, magnification: REAL _ 0.5, scaleToFit: MagnificationType _ useMagnification, leftMarginInches, rightMarginInches: REAL _ 0.75, landscape: BOOLEAN _ FALSE, borderWidth: REAL _ 2.0, lockViewers: BOOLEAN _ TRUE, displayCursor: BOOLEAN _ FALSE, displayCarets: BOOLEAN _ FALSE] RETURNS[fileName: ROPE]; MagnificationFactorTooLarge: SIGNAL; AISPageAlignmentHackFailed: SIGNAL; NewPressName: PROCEDURE RETURNS [pressFileName: ROPE]; NewAISPressName: PROCEDURE RETURNS [pressFileName: ROPE]; PressScreenTool: TYPE = REF PressScreenToolRec; PressScreenToolRec: TYPE = RECORD[ stateSaved: BOOLEAN _ FALSE, destroyed: BOOLEAN _ FALSE, screenAreaChoice: ChoiceButtons.EnumTypeRef, screenAreaRope: ROPE, magnificationChoice: ChoiceButtons.EnumTypeRef, magnificationRope: ROPE, magnificationViewer: ViewerClasses.Viewer, -- magnification factor magnificationFactor: REAL, ulx, uly, lrx, lry: ViewerClasses.Viewer, -- upper left, lower right coordinates ulX, ulY, lrX, lrY: REAL, formatViewer: ChoiceButtons.EnumTypeRef, formatRope: ROPE, borderViewer: ViewerClasses.Viewer, -- border width borderWidth: REAL, pageMarginViewer: ViewerClasses.Viewer, pageMargin: REAL, countDownTimerViewer: ViewerClasses.Viewer, countDownTime: Process.Ticks, countDownPieViewer: PieViewers.PieViewer, lockViewersTriState: ChoiceButtons.ThreeStateRef, lockViewers: BOOLEAN, displayCursorTriState: ChoiceButtons.ThreeStateRef, displayCursor: BOOLEAN, displayCaretsTriState: ChoiceButtons.ThreeStateRef, displayCarets: BOOLEAN, logViewer: ViewerClasses.Viewer, logMessage: ROPE ]; NewPressScreenTool: PROCEDURE [serverName: ROPE] RETURNS[psTool: PressScreenTool]; END. PressScreen.mesa Interface to make AIS/press file of display Last edited by Michael Plass on November 15, 1982 1:50 pm Last Edited by: Beach, May 7, 1984 1:34:16 pm PDT Old interface to convert part or all of the bit mapped screen into a press file. Converts the specified region of the bit mapped screen into a combination AIS and Press file. Such files can be used by CedarGraphics or printed by the TSetter. AISPressScreen can raise two signals: MagnificationFactorTooLarge when the specified rectangle will not fit on an 8.5 by 11 inch page with the supplied margins and magnifications; and AISPageAlignmentHackFailed for an internal error expected when the size of SirPress record definitions change (low probability). The specified rectangle will not fit on an 8.5 by 11 inch page with the supplied margins and magnifications An internal error expected when the size of SirPress record definitions change (low probability) Returns a file name like "Screen1.press", "Screen2.press", etc. Returns a file name like "Screen1.ais", "Screen2.ais", etc. Creates a PressScreen tool viewer. Edited on May 7, 1984 1:34:16 pm PDT, by Beach changes to: move PressScreenToolRec into the interface eliminating an opaque TYPE, DIRECTORY, PressScreenTool, PressScreenToolRec, END Κξ˜šœ™Jšœ+™+Jšœ9™9™1J˜——šΟk ˜ J˜J˜ J˜Jšœ˜Jšœ˜Jšœ ˜ J˜—Jšœ œ˜ Jš˜J˜Jšœœœ˜Jšœœ$˜.J˜šΟn œ œœ˜:J™P—J˜šœœ*˜AJ˜—š(žœ œœœ%œ&œœœ_œœœœœœœœœœœ œ˜ΧJ™]J™BJšœΈ™ΈJ˜—šžœœ˜$Jšœk™kJ˜—šžœœ˜#Jšœ`™`J˜—šž œ œœœ˜6Jšœ?™?J™—šžœ œœœ˜9Jšœ;™;—J˜Jšœœœ˜/unitšœœœ˜"Jšœ œœ˜Jšœ œœ˜Jšœ,˜,Jšœœ˜Jšœ/˜/Jšœœ˜Jšœ,Οc˜CJšœœ˜Jšœ+Ÿ&˜QJšœœ˜Jšœ(˜(Jšœ œ˜Jšœ%Ÿ˜4Jšœ œ˜Jšœ'˜'Jšœ œ˜Jšœ+˜+Jšœ˜Jšœ)˜)J˜1Jšœ œ˜J˜3Jšœœ˜J˜3Jšœœ˜J˜ Jšœ ˜J˜J˜—šžœ œœœ˜RJ™"J˜—Jšœ˜™.JšœΟeœ*Οr5™†—J™J™—…—\J