DIRECTORY IPCTG USING[Channel], IP USING [OrientationTypes], IPCoTab, IPCB USING [Side]; IPEditPrimitives: CEDAR DEFINITIONS = BEGIN OPEN CTG: IPCTG, CoTab: IPCoTab, CB: IPCB; InvalidArgs: ERROR[editPrim: ATOM]; BreakCross: PROC[refCh, chToBreak, newCh1: CTG.Channel]; BreakCrossChk: PROC[refCh, chToBreak: CTG.Channel] RETURNS [BOOL]; FormCross: PROC[refCh, negCh, posCh: CTG.Channel]; FormCrossChk: PROC[refCh, negCh, posCh: CTG.Channel] RETURNS [BOOL]; FormZ: PROC[refCh: CTG.Channel, negComp, posComp: CoTab.Component, zType: CB.Side, newCh1, newCh2: CTG.Channel]; FormZChk: PROC[refCh: CTG.Channel, negComp, posComp: CoTab.Component, zType: CB.Side] RETURNS [BOOL]; RemoveZ: PROC[zSpine: CTG.Channel] RETURNS [negCh, posCh: CTG.Channel, negComp, posComp: CoTab.Component, zType: CB.Side]; RemoveZChk: PROC[zSpine: CTG.Channel] RETURNS [BOOL]; TtoL: PROC [refCh: CTG.Channel, whichEnd, lType: CB.Side, endCo: CoTab.Component, newCh1: CTG.Channel]; TtoLChk: PROC [refCh: CTG.Channel, whichEnd, lType: CB.Side, endCo: CoTab.Component] RETURNS [BOOL]; LtoT: PROC[refCh: CTG.Channel, whichEnd: CB.Side] RETURNS [posCh: CTG.Channel, lType: CB.Side, endCo: CoTab.Component]; LtoTChk: PROC[refCh: CTG.Channel, whichEnd: CB.Side] RETURNS [BOOL]; FlexKnee: PROC [leg, floor: CTG.Channel, whichEnd, whichDirection: CB.Side, newCh1: CTG.Channel]; FlexKneeChk: PROC [leg, floor: CTG.Channel, whichEnd, whichDirection: CB.Side] RETURNS [BOOL]; ExtendKnee: PROC [shin: CTG.Channel] RETURNS [leg, floor: CTG.Channel, whichEnd, whichDirection: CB.Side]; ExtendKneeChk: PROC[shin: CTG.Channel] RETURNS [BOOL]; InsertCoAtCorner: PUBLIC PROC[host, co: CoTab.Component, corner: CoTab.CornerTypes, newHCh1, newVCh1: CTG.Channel]; InsertCoAtCornerChk: PROC [host, co: CoTab.Component, corner: CoTab.CornerTypes] RETURNS [BOOL]; RemoveCoAtCorner: PROC[host: CoTab.Component, corner: CoTab.CornerTypes] RETURNS [co: CoTab.Component, horCh, verCh: CTG.Channel]; RemoveCoAtCornerChk: PROC[host: CoTab.Component, corner: CoTab.CornerTypes] RETURNS [BOOL]; InsertCo1: PROC[co: CoTab.Component, chToSplit, negBnd, posBnd: CTG.Channel, sideToOpHint: CB.Side, newCh1: CTG.Channel] RETURNS [sideToClHint: CB.Side]; InsertCo1Chk: PROC[co: CoTab.Component, chToSplit, negBnd, posBnd: CTG.Channel] RETURNS [BOOL]; RemoveCo1: PROC[co: CoTab.Component, shrinkDirectn: IP.OrientationTypes, sideToClHint: CB.Side] RETURNS [mainCh, negBnd, posBnd, sideCh: CTG.Channel, sideToOpHint: CB.Side]; RemoveCo1Chk: PROC[co: CoTab.Component, shrinkDirectn: IP.OrientationTypes] RETURNS [BOOL]; InsertCo2: PROC[co: CoTab.Component, chToSplit, negBnd, posBnd: CTG.Channel, sideToOpHint: CB.Side, newCh1: CTG.Channel] RETURNS [sideToClHint: CB.Side]; InsertCo2Chk: PROC[co: CoTab.Component, chToSplit, negBnd, posBnd: CTG.Channel] RETURNS [BOOL]; RemoveCo2: PROC[co: CoTab.Component, shrinkDirectn: IP.OrientationTypes, sideToClHint: CB.Side] RETURNS [mainCh, negBnd, posBnd, sideCh: CTG.Channel, sideToOpHint: CB.Side]; RemoveCo2Chk: PROC[co: CoTab.Component, shrinkDirectn: IP.OrientationTypes] RETURNS [BOOL]; END. b-- File: IPEditPrimitives.mesa -- Last Edited by: CSChow, February 1, 1985 11:16:36 am PST --Intro: This is the piece of code beneath IPTopEditOps and IPTopEditOpsExtra. Again I won't try -- to describe the individual operations here. -- General Comment: At this level the operations are inverse of each other (eg. BreakCross and -- FormCross.) Κ˜Jšœ™Jšœ;™;J˜J™`J™/J™JšœPΟn œ™^Jšœ œ™J˜šΟk ˜ Icode– "Cedar" stylešžœžœ ˜K– "Cedar" stylešžœžœ˜K– "Cedar" stylešœ˜K– "Cedar" stylešžœžœ˜—J˜šœžœž œžœžœžœžœžœžœ˜WJšœ žœ žœ˜#J˜Jš œžœžœ ˜8Kš  œžœžœ žœžœ˜BJš œžœžœ ˜2Jš  œžœžœ žœžœ˜DJ˜Jš œžœžœ4žœžœ ˜pJš œžœžœ4žœžœžœ˜eJš œžœ žœ žœžœ4žœ˜zKš  œžœ žœ žœžœ˜5J˜Jš œžœ žœžœ'žœ ˜gJ˜Kš œžœ žœžœžœžœ˜dKšœžœžœžœžœ žœžœ˜wKš œžœžœžœžœžœ˜DK˜Kš œžœžœ$žœžœ ˜aKš  œžœžœ$žœžœžœ˜^Kš  œžœžœ žœžœ$žœ˜jKš  œžœžœ žœžœ˜6J˜JšœžœžœIžœ ˜sKšœžœ8žœžœ˜`Kšœžœ3žœ%žœ ˜‚Kšœžœ3žœžœ˜[K˜Kš œžœ1žœžœžœ žœžœ˜™Kš  œžœ1žœ žœžœ˜_Kš œžœ%žœ!žœžœ"žœžœ˜­Kš  œžœ%žœžœžœ˜[K˜Kš œžœ1žœžœžœ žœžœ˜™Kš  œžœ1žœ žœžœ˜_Kš œžœ%žœ!žœžœ"žœžœ˜­Kš  œžœ%žœžœžœ˜[K˜Jšžœ˜——…— v