-- definitions for command interpreter part of silicon (pretty picture) program
-- last modified by McCreight, April 7, 1983  4:56 PM

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;


  delCnSel, unZee, ignore, unDo, doRestart, doStretch, doUnDel, doFlush,
    yellowUnButSeen, doESC, doQuit, flipWires, movColScrn, movMidScrn,
    movBWScrn, noBBbuttons, doMakBus, oneWire, doDeSel,
    doASel, doSelect, doSelectAll, doNormalize, doCnSelect, doAsel,
    doX, doTran, doATran, doPu, setFont: cmdProc;


  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;

  doSel, doDraw: 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 ;

  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.