-- definitions for command interpreter part of silicon (pretty picture) program
-- written by E. McCreight, August 7, 1981  1:14 PM
-- last modified by McCreight, December 15, 1982  11:21 AM
DIRECTORY
  ppdefs;

ppMainDefs: DEFINITIONS =
  BEGIN OPEN ppdefs;

  ii: CARDINAL;
  ss, fileName: STRING;
  ke: keyEvent;
  cp, cpp: LONG POINTER TO cList;
  lp, lpp, lqp: LONG POINTER TO list;

busMaking:BOOLEAN;
bmCount,bm2dx,bm2dy,bmNews:INTEGER;

  wClosestDisp: BOOLEAN ;
  wirePrevPnt: LONG POINTER TO list;
  wiringLev: level;
  wiringOrnSet: BOOLEAN;
  moving: BOOLEAN;
  copying: BOOLEAN;
  areaSel: BOOLEAN;
  moveMarked: BOOLEAN;

  markx, marky: INTEGER;

  wclLp: LONG POINTER TO list;
  wclNx, wclNy, oldNx, oldNy: INTEGER;
  currentLevel: level;
  curcol: INTEGER;


  doInput, doOutput, makeCif, defCell, getCell, doRunConfig, doAlter, doWAlter, doImplSel, doUnImplSel, doImplPnt: cmdProc;

  selLayer,makWCont,makCont,doOvg,doTub,doOvgR,doRectangle,doRepeatOb,doBurr,modParam,convToBus,
    convToBusDamnit,delPnt,delSel: cmdProc;
  flushOne: PROCEDURE ;
  doTheDelete: PROCEDURE [lpp: LONG POINTER TO list] ;
rotCompensate:PROCEDURE[p:LONG POINTER TO list] RETURNS[w,l,dw,dl:INTEGER] ;
findWhichWire:PROCEDURE [lp:LONG POINTER TO list] RETURNS[wNum:INTEGER,
	onTheWire:BOOLEAN,wl1,wl2,w,l,dw,dl:INTEGER];

doWidenSel,doWidenPnt,doNarwSel,doNarwPnt,doDefaultSel,doDefaultPnt: cmdProc;
doLenSel,doLenPnt,doShrtSel,doShrtPnt: cmdProc ;

doNormalize, doSelectAll: cmdProc;

  doParmSel: PROCEDURE [
    typ: parmType, earlyRect, lateRect: BOOLEAN, dx, dy: INTEGER] ;
  doParmPnt: PROCEDURE [
    typ: parmType, earlyRect, lateRect: BOOLEAN, dx, dy: INTEGER] ;

  setBusParms: PROCEDURE [big: BOOLEAN];

  END.