-- definitions for command interpreter part of silicon (pretty picture) program
-- last modified by McCreight, December 16, 1982  10:34 AM
-- written by P. Petit, December 13, 1981  5:54 PM

DIRECTORY
  multiGraphicsDefs,ppddefs,ppdddefs,ppdefs;

ppfeeddefs: DEFINITIONS =
  BEGIN OPEN ppddefs,ppdddefs,ppdefs;

cx,cy:INTEGER;

dProc:TYPE = PROCEDURE[p:POINTER,x,y,code:INTEGER, parm: POINTER TO fbParmR]
  RETURNS[INTEGER];
modProc:TYPE = PROCEDURE[p:POINTER,max,min,code:INTEGER,
  parm: POINTER TO fbParmR];
setProc:TYPE = PROCEDURE[p:POINTER,max,min,code:INTEGER,s:STRING,si:CARDINAL,
  parm: POINTER TO fbParmR];

fbParmR:TYPE = RECORD[sx,sy:INTEGER,s1:STRING,prm:POINTER,s2:STRING,
	dspPrm:dProc,tx1,ty1,tx2,ty2:INTEGER,rbP,ybP,bbP:modProc
	,m,n,code:INTEGER,chgC,chgB:BOOLEAN←FALSE,setStr:STRING,setP:setProc];

fbC:CARDINAL=44;

fbAr:POINTER TO ARRAY [0..fbC) OF fbParmR;
fbAr2:ARRAY [0..fbC) OF fbParmR;

setInt,setBool,setCmx,setScl:setProc;

findCTab:PUBLIC PROCEDURE[x,y:INTEGER] RETURNS[INTEGER];

rmButt: modProc;

dspCMix:dProc;
setCMix:modProc;
resetCMix:modProc;
moveCMix:modProc;
dspCPat:dProc;
setCPat:modProc;
resetCPat:modProc;
moveCPat:modProc;

nullMP:modProc;
nullDP:dProc;
nullST:setProc;

dspLevVisible: dProc;
dspLam:dProc ;
dspCore:dProc ;
dspName:dProc ;
dspLM:dProc ;
dspFL:dProc ;
setFL:modProc ;
flipLevVisible: modProc;
dspCM:dProc ;
setCM:modProc ;
dspScl:dProc ;
tyScl:modProc ;
incScl:modProc ;
decScl:modProc ;
dspBool:dProc ;
incBool:modProc ;
decBool:modProc ;
cmpBool:modProc ;
dspMode:dProc ;
dspInt:dProc ;
incInt:modProc ;
decInt:modProc ;
tyInt:modProc ;
displayParameters:PROCEDURE ;
doRfeed:PROCEDURE RETURNS[BOOLEAN,BOOLEAN] ;
doYfeed:PROCEDURE RETURNS[BOOLEAN,BOOLEAN] ;
doBfeed:PROCEDURE RETURNS[BOOLEAN,BOOLEAN] ;
feedTrack:PROCEDURE RETURNS[b:BOOLEAN,n:CARDINAL];
Surround: PROC [p: Point, s: STRING, box, gray: BOOLEAN ← FALSE,
  font: multiGraphicsDefs.StrikeFontPtr ← NIL];


  END.