DIRECTORY CD USING [DesignRect, DesignPosition, Design], Rope USING [ROPE], ViewerClasses USING [Viewer]; CDViewer: CEDAR DEFINITIONS = BEGIN ViewerList: TYPE = LIST OF ViewerClasses.Viewer; ViewersOf: PROC[design: REF] RETURNS [ViewerList]; DesignOf: PROC[viewer: ViewerClasses.Viewer] RETURNS [isDesign: BOOL, design: CD.Design, rect: CD.DesignRect]; ShowPosition: PROC[viewer: ViewerClasses.Viewer, pos: CD.DesignPosition]; ShowAndScale: PROC[viewer: ViewerClasses.Viewer, rect: CD.DesignRect]; CreateViewer: PROC [design: CD.Design] RETURNS [ViewerClasses.Viewer]; ShowArrow: PROC [design: CD.Design, pos: CD.DesignPosition]; RemoveArrow: PROC[design: CD.Design]; FindDesign: PROC[name: Rope.ROPE, case: BOOL _ TRUE] RETURNS [CD.Design]; END. ’CDViewer.mesa (part of Chipndale) by Christian Jacobi October 13, 1983 2:51 pm last edited by Christian Jacobi November 21, 1983 3:28 pm --returns the viewers which might display the design; --if viewer is not open, rect is undefined --design gets NIL if NOT isDesign --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 --... and displays the design, --visible on viewers only --only designs with viewers can be found; --if multiple designs have the same name, find arbitrary one ÊƘJšœ(™(J˜Jšœ/™/Jšœ;™;J˜šÏk ˜ Jšœœ&˜.Jšœœœ˜Jšœœ ˜J˜—JšÏnœœ œ˜Jš˜J˜Jšœ œœœ˜0J˜šž œœ œœ˜2Jšœ5™5—J˜šžœœ˜-Jšœ œ œœ ˜AJšœ*™*Jšœ!™!J˜—šž œœ$œ˜IJšœM™MJšœ™J˜—šž œœ%œ ˜FJšœY™YJšœ™J˜—šž œœ œ œ˜FJšœ™—J˜šž œœ œœ˜