DEFINITION VDIInput; (* SJ *)


TYPE proc = PROCEDURE();

PROCEDURE VexButv*(Handle : INTEGER; Proc : proc);

PROCEDURE VexCurv*(Handle : INTEGER; Proc : proc);

PROCEDURE VexMotv*(Handle : INTEGER; Proc : proc);

PROCEDURE VexTimv*(Handle : INTEGER; Proc : proc);

PROCEDURE VsinMode*(Handle,DevType,Mode : INTEGER) : INTEGER;

PROCEDURE VrqChoice*(Handle,ChoiceIn : INTEGER) : INTEGER;

PROCEDURE VsmChoice*(Handle : INTEGER; VAR Choice : INTEGER) : BOOLEAN;

PROCEDURE VsmLocator*(Handle,x,y : INTEGER; VAR xout,yout,Term : INTEGER) : SET;

PROCEDURE VrqLocator*(Handle,x,y : INTEGER; VAR xout,yout,Term : INTEGER);

PROCEDURE VsmString*(Handle : INTEGER; Echo : BOOLEAN; x,y : INTEGER;
                     VAR String : ARRAY OF CHAR) : INTEGER;

PROCEDURE VrqString*(Handle : INTEGER; Echo : BOOLEAN; x,y : INTEGER;
                     VAR String : ARRAY OF CHAR);

PROCEDURE VsmValuator*(Handle,ValIn : INTEGER; VAR ValOut,Term : INTEGER)
                       : INTEGER;

PROCEDURE VrqValuator*(Handle,ValIn : INTEGER; VAR ValOut,Term : INTEGER);

PROCEDURE VscForm*(Handle : INTEGER; VAR MouseForm : ARRAY OF INTEGER);

PROCEDURE VShowC*(Handle : INTEGER; Normal : BOOLEAN);

PROCEDURE VHideC*(Handle : INTEGER);

PROCEDURE VqMouse*(Handle : INTEGER; VAR Buttons : SET; VAR Mx,My : INTEGER);

PROCEDURE VqKeyS*(Handle : INTEGER) : SET;

PROCEDURE CallPrevBut*;

PROCEDURE CallPrevCur*;

PROCEDURE CallPrevMot*;

PROCEDURE CallPrevTim*;

END VDIInput.
