-- ChipUserInt.mesa
-- the definitions for an improved user interface for text
-- to Chipmonk.

-- last modified by E. McCreight, March 8, 1983  9:30 AM
-- written by E. McCreight, November 19, 1981  2:43 PM

DIRECTORY
  ppdefs;

ChipUserInt: DEFINITIONS =
  BEGIN

  Punt: SIGNAL;

  Explain: PROCEDURE [what, why, explanation: LONG STRING ← NIL];

  FixExtension: PROCEDURE [s, ext: STRING] RETURNS [se: STRING];

  RequestString: PROCEDURE[s1, s2, s3: LONG STRING ← NIL,
    lowerCaseOK: BOOLEAN ← FALSE,
    flashColor: BOOLEAN ← TRUE,
    breakChars: LONG STRING ← NIL,
    appendBreakChar: BOOLEAN ← FALSE,
    initResult: LONG STRING ← NIL]
    RETURNS[sResult: STRING];

  RequestInteger: PROCEDURE[s1, s2: LONG STRING ← NIL]
    RETURNS[INTEGER];

  HeSaysYes: PROCEDURE[s1, s2, s3: LONG STRING ← NIL]
    RETURNS[BOOLEAN];

  RemarkAtPoint, DebugAtPoint:
    PROCEDURE[p: ppdefs.Point, s: LONG STRING];

  GridPoint: PROCEDURE[p: ppdefs.Point] RETURNS[ppdefs.Point];
    -- returns nearby point on-grid.

  MoveToXY: PROCEDURE[x, y: ppdefs.locNum];
    -- mainly for debugger

  ColorOn, ColorOff: PROCEDURE[];

  ColorIsOn: PROCEDURE RETURNS[BOOLEAN];

  END. -- of ChipUserInt