DIRECTORY CD, Rope USING [ROPE]; CDOps: CEDAR DEFINITIONS = BEGIN CreateDesign: PROC [technology: CD.Technology] RETURNS [design: CD.Design]; ResetDesign: PROC [design: CD.Design]; IncludeInstance: PROC [design: CD.Design, inst: CD.Instance, draw: BOOL _ TRUE]; IncludeInstanceList: PROC [design: CD.Design, il: CD.InstanceList, draw: BOOL _ TRUE]; RemoveInstance: PROC [design: CD.Design, inst: CD.Instance, draw: BOOL _ TRUE]; ReOrderInstance: PROC [design: CD.Design, inst: CD.Instance]; AddAnObject: PROC[design: CD.Design, ob: CD.Object, location: CD.Position, orientation: CD.Orientation _ CD.original]; QuickDrawDesign: PROC [design: CD.Design, pr: CD.DrawRef]; DrawDesign: PROC [design: CD.Design, pr: CD.DrawRef]; Redraw: PROC [design: CD.Design, r: CD.Rect_all, eraseFirst: BOOL_TRUE]; DelayedRedraw: PROC [design: CD.Design, r: CD.Rect_all, eraseFirst: BOOL_TRUE]; all: PRIVATE CD.Rect = [FIRST[CD.Number], FIRST[CD.Number], LAST[CD.Number], LAST[CD.Number]]; DoTheDelayedRedraws: PROC [design: CD.Design]; SetInstList: PROC [design: CD.Design, appList: CD.InstanceList _ NIL] = INLINE { design^.actual.first.specific.contents _ appList }; InstList: PROC [design: CD.Design] RETURNS [CD.InstanceList] = INLINE { RETURN[design^.actual.first.specific.contents] }; PointedInstance: PROC [design: CD.Design, pos: CD.Position] RETURNS [CD.Instance]; SelectedInstance: PROC [design: CD.Design] RETURNS [first: CD.Instance, multiple: BOOL]; Info: PROC[ob: CD.Object] RETURNS [Rope.ROPE]; LayerName: PROC[lev: CD.Layer] RETURNS [Rope.ROPE]; END. bCDOps.mesa (part of ChipNDale) Copyright c 1983, 1984 by Xerox Corporation. All rights reserved. by Christian Jacobi, February 24, 1984 2:03 pm last edited by Christian Jacobi, September 19, 1985 3:28:37 am PDT simple operation on ChipNDale designs. All procedures do not queue; proper synchronization by the caller is assumed. (Except DelayedRedraw.) --does not open a viewer --conveniant procedure; sets selection according to internal mode --shortcuts are taken; suits the implementation of viewers --inclusive selection --ommit selection --no shortcuts, useful on abstract devices --Refreshes the the area r in all viewers --Refreshes the the area r in all viewers --Is delayed until the current command is finished --efficiency hint: if a lot of small rectangles need to be redrawn, it can be more efficiant -- to call a redraw of a big rectangle first. --does the DelayedRedraw's which have not yet been done --should be called from the command sequencer --first: returns ref to any selected application if there is one or more, otherwise nil. --multiple: more than one application is selected ΚQ˜codešœ%™%Kšœ Οmœ7™BKšœ0™0KšœC™C—K˜šΟk ˜ Kšžœ˜Kšœžœžœ˜K˜—KšΟnœžœž œ˜Kšž˜K˜™&Kšœf™fK™—K˜š Ÿ œžœžœ žœ žœ ˜KKšœ™—KšŸ œžœ žœ ˜&K˜Kš Ÿœžœ žœžœžœžœ˜PKš Ÿœžœ žœ žœžœžœ˜VKš Ÿœžœ žœžœžœžœ˜OšŸœžœ žœžœ ˜=K˜—šŸ œžœ žœ žœžœžœžœ ˜vKšœA™A—K˜šŸœžœ žœ žœ ˜:Kšœ:™:Kšœ™K˜—šŸ œžœ žœ žœ ˜5Kšœ™Kšœ*™*—K˜š Ÿœžœ žœ žœžœžœ˜HKšœ)™)—š Ÿ œžœ žœ žœžœžœ˜OKšœ)™)Kšœ2™2Kšœ]™]Kšœ.™.Kšœžœžœ žœžœ žœžœ žœžœ žœžœ ˜^K˜—šŸœžœ žœ ˜.Kšœ7™7Kšœ-™-K˜—K˜š Ÿ œžœ žœ$žœžœ˜PKšœ0˜0Kšœ˜K˜—š Ÿœžœ žœ žœžœ˜GKšžœ(˜.Kšœ˜—K˜Kš Ÿœžœ žœžœ žœžœ ˜Rš Ÿœžœ žœ žœ žœžœ˜XKšœX™XKšœ1™1—K˜Kš Ÿœžœžœ žœžœž˜.Kš Ÿ œžœžœžœžœ˜3K˜Kšžœ˜K˜—…— Σ