DIRECTORY CD USING [DesignRect, DesignPosition, Design], CDSequencer USING [Command], Rope USING [ROPE], ViewerClasses USING [Viewer]; CDViewer: CEDAR DEFINITIONS = BEGIN CreateViewer: PROC [design: CD.Design] RETURNS [ViewerClasses.Viewer]; GetViewer: PROC [comm: CDSequencer.Command] RETURNS [ViewerClasses.Viewer]; LastViewer: PROC [] RETURNS [ViewerClasses.Viewer]; ShowPosition: PROC [viewer: ViewerClasses.Viewer, pos: CD.DesignPosition]; ShowAndScale: PROC [viewer: ViewerClasses.Viewer, rect: CD.DesignRect]; VisibleRect: PROC [viewer: ViewerClasses.Viewer] RETURNS [r: CD.DesignRect]; ShowArrow: PROC [design: CD.Design, pos: CD.DesignPosition]; RemoveArrow: PROC[design: CD.Design]; ViewerList: TYPE = LIST OF ViewerClasses.Viewer; ViewersOf: PROC [design: REF] RETURNS [ViewerList]; DesignOf: PROC [viewer: ViewerClasses.Viewer] RETURNS [design: CD.Design]; FindDesign: PROC [name: Rope.ROPE, case: BOOL _ FALSE] RETURNS [design: CD.Design]; END. ,CDViewer.mesa (part of ChipNDale) Copyright c 1983, 1985 by Xerox Corporation. All rights reserved. by Christian Jacobi, October 13, 1983 2:51 pm last edited by Christian Jacobi, April 22, 1985 1:36:16 pm PST --Accessing viewers of ChipNDale designs --... and displays the design, --this is a split, if already a viewer exists --returns the design viewer from which the command was issued, if detectable --might return NIL --the last ChipNDale design viewer which had the input focus --might return NIL --Scaling and paning --moves viewer such that pos is in visible area (does not open closed viewer) --approximative only --moves and scales viewer such that rect is in visible area (does not open closed viewer) --approximative only --undefined if viewer not open or not ChipNDale design --Arrow pointing to some position --visible on viewers only --Transfer --returns the viewers which might display the design; --NIL if not a ChipNDale design --only designs with viewers can be found; --if multiple designs have the same name, find arbitrary one ÊI˜šœ(™(Jšœ Ïmœ7™BJšœ.™.Jšœ>™>—J˜šÏk ˜ Jšžœžœ&˜.Jšœ žœ ˜Jšœžœžœ˜Jšœžœ ˜J˜—JšÏnœžœž œ˜Jšž˜J˜J™(J˜šŸ œžœ žœ žœ˜FJšœ™J™-—J˜šŸ œžœžœ žœ˜KJšœL™LJ™—J˜šŸ œžœžœ˜4J™