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]; IncludeObjectI: PROC[design: CD.Design, ob: CD.Object, location: CD.Position _ [0, 0], 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]; RedrawInstance: PROC [design: CD.Design, inst: CD.Instance_NIL, erase: BOOL_TRUE]; SetInstList: PROC [design: CD.Design, instList: CD.InstanceList _ NIL] = INLINE { design^.actual.first.specific.contents _ instList }; 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]; ObjectInfo: PROC[ob: CD.Object] RETURNS [Rope.ROPE]; LayerName: PROC[layer: CD.Layer] RETURNS [Rope.ROPE]; END. €CDOps.mesa (part of ChipNDale) Copyright c 1983, 1986 by Xerox Corporation. All rights reserved. by Christian Jacobi, February 24, 1984 2:03 pm last edited by Christian Jacobi, March 14, 1986 10:15:51 am PST 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, usefull 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 --redraws the instance (delayed) --first: returns ref to any selected application if there is one or more, otherwise nil. --multiple: more than one application is selected Κ}˜codešœ%™%Kšœ Οmœ7™BKšœ0™0Kšœ@™@—K˜šΟk ˜ Kšžœ˜Kšœžœžœ˜K˜—KšΟnœžœž œ˜Kšž˜K˜™&Kšœf™fK™—K˜š Ÿ œžœžœ žœ žœ ˜KKšœ™—KšŸ œžœ žœ ˜&K˜Kš Ÿœžœ žœžœžœžœ˜PKš Ÿœžœ žœ žœžœžœ˜VKš Ÿœžœ žœžœžœžœ˜OšŸœžœ žœžœ ˜=K˜—šŸœžœ žœ žœžœ!žœžœ ˜‚KšœA™A—K˜šŸœžœ žœ žœ ˜:Kšœ:™:Kšœ™K˜—šŸ œžœ žœ žœ ˜5Kšœ™Kšœ+™+—K˜š Ÿœžœ žœ žœžœžœ˜HKšœ)™)—K˜š Ÿ œžœ žœ žœžœžœ˜OKšœ)™)Kšœ2™2Kšœ]™]Kšœ.™.Kšœžœžœ žœžœ žœžœ žœžœ žœžœ ˜^K˜—šŸœžœ žœ ˜.Kšœ7™7Kšœ-™-K˜—K˜šŸœžœ žœžœ žœ žœžœ˜RK™ —K˜š Ÿ œžœ žœ%žœžœ˜QKšœ1˜1Kšœ˜K˜—š Ÿœžœ žœ žœžœ˜GKšžœ(˜.Kšœ˜—K˜Kš Ÿœžœ žœžœ žœžœ ˜Rš Ÿœžœ žœ žœ žœžœ˜XKšœX™XKšœ1™1—K˜Kš Ÿ œžœžœ žœžœž˜4Kš Ÿ œžœžœžœžœ˜5K˜Kšžœ˜K˜—…—Œ‰