C*****************************************************************************
C
C  INTRFACE.FOR
C
C  This file contains the FORTRAN interface statements for Fastgraph V3.03.
C
C  Copyright (c) 1991-1993 Ted Gruber Software.  All rights reserved.
C
C*****************************************************************************

      INTERFACE TO INTEGER*2 FUNCTION FG_ALLOCATE[C](PAGE)
      INTEGER*2 PAGE
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_ALLOCCMS[C](PAGE)
      INTEGER*2 PAGE
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_ALLOCEMS[C](PAGE)
      INTEGER*2 PAGE
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_ALLOCXMS[C](PAGE)
      INTEGER*2 PAGE
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_AUTOMODE[C]()
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_BESTMODE[C](HORIZ,VERT,PAGES)
      INTEGER*2 HORIZ,VERT,PAGES
      END

      INTERFACE TO SUBROUTINE FG_BOX[C](MINX,MAXX,MINY,MAXY)
      INTEGER*2 MINX,MINY,MAXX,MAXY
      END

      INTERFACE TO SUBROUTINE FG_BOXDEPTH[C](XDEPTH,YDEPTH)
      INTEGER*2 XDEPTH,YDEPTH
      END

      INTERFACE TO SUBROUTINE FG_BOXW[C](XMIN,XMAX,YMIN,YMAX)
      REAL*8 XMIN,XMAX,YMIN,YMAX
      END

      INTERFACE TO SUBROUTINE FG_BOXX[C](MINX,MAXX,MINY,MAXY)
      INTEGER*2 MINX,MINY,MAXX,MAXY
      END

      INTERFACE TO SUBROUTINE FG_BOXXW[C](XMIN,XMAX,YMIN,YMAX)
      REAL*8 XMIN,XMAX,YMIN,YMAX
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_BUTTON[C](N)
      INTEGER*2 N
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_CAPSLOCK[C]()
      END

      INTERFACE TO SUBROUTINE FG_CHGATTR[C](N)
      INTEGER*2 N
      END

      INTERFACE TO SUBROUTINE FG_CHGTEXT[C](STRING,N)
      CHARACTER STRING[REFERENCE]
      INTEGER*2 N
      END

      INTERFACE TO SUBROUTINE FG_CIRCLE[C](RADIUS)
      INTEGER*2 RADIUS
      END

      INTERFACE TO SUBROUTINE FG_CIRCLEF[C](RADIUS)
      INTEGER*2 RADIUS
      END

      INTERFACE TO SUBROUTINE FG_CIRCLEFW[C](RADIUS)
      REAL*8 RADIUS
      END

      INTERFACE TO SUBROUTINE FG_CIRCLEW[C](RADIUS)
      REAL*8 RADIUS
      END

      INTERFACE TO SUBROUTINE FG_CLIPMASK[C](BITMAP,RUNS,WIDTH)
      INTEGER*1 BITMAP[REFERENCE]
      INTEGER*2 RUNS,WIDTH
      END

      INTERFACE TO SUBROUTINE FG_CLPIMAGE[C](BITMAP,WIDTH,HEIGHT)
      INTEGER*1 BITMAP[REFERENCE]
      INTEGER*2 WIDTH,HEIGHT
      END

      INTERFACE TO SUBROUTINE FG_CLPRECT[C](MINX,MAXX,MINY,MAXY)
      INTEGER*2 MINX,MINY,MAXX,MAXY
      END

      INTERFACE TO SUBROUTINE FG_CLPRECTW[C](XMIN,XMAX,YMIN,YMAX)
      REAL*8 XMIN,XMAX,YMIN,YMAX
      END

      INTERFACE TO SUBROUTINE FG_COPYPAGE[C](SOURCE,DEST)
      INTEGER*2 SOURCE,DEST
      END

      INTERFACE TO SUBROUTINE FG_CURSOR[C](STATE)
      INTEGER*2 STATE
      END

      INTERFACE TO SUBROUTINE FG_DASH[C](IX,IY,PATTERN)
      INTEGER*2 IX,IY,PATTERN
      END

      INTERFACE TO SUBROUTINE FG_DASHREL[C](IX,IY,PATTERN)
      INTEGER*2 IX,IY,PATTERN
      END

      INTERFACE TO SUBROUTINE FG_DASHRW[C](X,Y,PATTERN)
      REAL*8 X,Y
      INTEGER*2 PATTERN
      END

      INTERFACE TO SUBROUTINE FG_DASHW[C](X,Y,PATTERN)
      REAL*8 X,Y
      INTEGER*2 PATTERN
      END

      INTERFACE TO SUBROUTINE FG_DEFCOLOR[C](NUMBER,VALUE)
      INTEGER*2 NUMBER,VALUE
      END

      INTERFACE TO SUBROUTINE FG_DEFPAGES[C](SOURCE,DEST)
      INTEGER*2 SOURCE,DEST
      END

      INTERFACE TO SUBROUTINE FG_DISPFILE[C](FILENAME,WIDTH,PACKED)
      CHARACTER FILENAME[REFERENCE]
      INTEGER*2 WIDTH,PACKED
      END

      INTERFACE TO SUBROUTINE FG_DISPLAY[C](BITMAP,RUNS,WIDTH)
      INTEGER*1 BITMAP[REFERENCE]
      INTEGER*2 RUNS,WIDTH
      END

      INTERFACE TO SUBROUTINE FG_DISPLAYP[C](BITMAP,RUNS,WIDTH)
      INTEGER*1 BITMAP[REFERENCE]
      INTEGER*2 RUNS,WIDTH
      END

      INTERFACE TO SUBROUTINE FG_DRAW[C](IX,IY)
      INTEGER*2 IX,IY
      END

      INTERFACE TO SUBROUTINE FG_DRAWMAP[C](BITMAP,WIDTH,HEIGHT)
      INTEGER*1 BITMAP[REFERENCE]
      INTEGER*2 WIDTH,HEIGHT
      END

      INTERFACE TO SUBROUTINE FG_DRAWMASK[C](BITMAP,RUNS,WIDTH)
      INTEGER*1 BITMAP[REFERENCE]
      INTEGER*2 RUNS,WIDTH
      END

      INTERFACE TO SUBROUTINE FG_DRAWREL[C](IX,IY)
      INTEGER*2 IX,IY
      END

      INTERFACE TO SUBROUTINE FG_DRAWRELX[C](IX,IY)
      INTEGER*2 IX,IY
      END

      INTERFACE TO SUBROUTINE FG_DRAWRW[C](X,Y)
      REAL*8 X,Y
      END

      INTERFACE TO SUBROUTINE FG_DRAWRXW[C](X,Y)
      REAL*8 X,Y
      END

      INTERFACE TO SUBROUTINE FG_DRAWW[C](X,Y)
      REAL*8 X,Y
      END

      INTERFACE TO SUBROUTINE FG_DRAWX[C](IX,IY)
      INTEGER*2 IX,IY
      END

      INTERFACE TO SUBROUTINE FG_DRAWXW[C](X,Y)
      REAL*8 X,Y
      END

      INTERFACE TO SUBROUTINE FG_DRECT[C](MINX,MAXX,MINY,MAXY,MATRIX)
      INTEGER*2 MINX,MINY,MAXX,MAXY
      INTEGER*1 MATRIX[REFERENCE]
      END

      INTERFACE TO SUBROUTINE FG_DRECTW[C](XMIN,XMAX,YMIN,YMAX,MATRIX)
      REAL*8 XMIN,XMAX,YMIN,YMAX
      INTEGER*1 MATRIX[REFERENCE]
      END

      INTERFACE TO SUBROUTINE FG_DRWIMAGE[C](BITMAP,WIDTH,HEIGHT)
      INTEGER*1 BITMAP[REFERENCE]
      INTEGER*2 WIDTH,HEIGHT
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_EGACHECK[C]()
      END

      INTERFACE TO SUBROUTINE FG_ELLIPSE[C](HORIZ,VERT)
      INTEGER*2 HORIZ,VERT
      END

      INTERFACE TO SUBROUTINE FG_ELLIPSEF[C](HORIZ,VERT)
      INTEGER*2 HORIZ,VERT
      END

      INTERFACE TO SUBROUTINE FG_ELLIPSEW[C](HORIZ,VERT)
      REAL*8 HORIZ,VERT
      END

      INTERFACE TO SUBROUTINE FG_ELLIPSFW[C](HORIZ,VERT)
      REAL*8 HORIZ,VERT
      END

      INTERFACE TO SUBROUTINE FG_ERASE[C]()
      END

      INTERFACE TO SUBROUTINE FG_FADEIN[C](DELAY)
      INTEGER*2 DELAY
      END

      INTERFACE TO SUBROUTINE FG_FADEOUT[C](DELAY)
      INTEGER*2 DELAY
      END

      INTERFACE TO SUBROUTINE FG_FILLPAGE[C]()
      END

      INTERFACE TO SUBROUTINE FG_FLIPMASK[C](BITMAP,RUNS,WIDTH)
      INTEGER*1 BITMAP[REFERENCE]
      INTEGER*2 RUNS,WIDTH
      END

      INTERFACE TO SUBROUTINE FG_FLOOD[C](IX,IY)
      INTEGER*2 IX,IY
      END

      INTERFACE TO SUBROUTINE FG_FLOODW[C](X,Y)
      REAL*8 X,Y
      END

      INTERFACE TO SUBROUTINE FG_FLPIMAGE[C](BITMAP,WIDTH,HEIGHT)
      INTEGER*1 BITMAP[REFERENCE]
      INTEGER*2 WIDTH,HEIGHT
      END

      INTERFACE TO SUBROUTINE FG_FONTSIZE[C](SIZE)
      INTEGER*2 SIZE
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_FREEPAGE[C](PAGE)
      INTEGER*2 PAGE
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_GETADDR[C]()
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_GETATTR[C](ROW,COLUMN)
      INTEGER*2 ROW,COLUMN
      END

      INTERFACE TO SUBROUTINE FG_GETBLOCK[C](BUFFER,MINX,MAXX,MINY,MAXY)
      INTEGER*1 BUFFER[FAR,REFERENCE]
      INTEGER*2 MINX,MAXX,MINY,MAXY
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_GETCHAR[C](ROW,COLUMN)
      INTEGER*2 ROW,COLUMN
      END

      INTERFACE TO INTEGER*4 FUNCTION FG_GETCLOCK[C]()
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_GETCOLOR[C]()
      END

      INTERFACE TO SUBROUTINE FG_GETDACS[C](START,COUNT,VALUES)
      INTEGER*2 START,COUNT
      INTEGER*1 VALUES[REFERENCE]
      END

      INTERFACE TO SUBROUTINE FG_GETENTRY[C](NUMBER,ADDR,TYPE)
      INTEGER*2 NUMBER
      INTEGER*2 ADDR[REFERENCE]
      INTEGER*2 TYPE[REFERENCE]
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_GETHPAGE[C]()
      END

      INTERFACE TO SUBROUTINE FG_GETIMAGE[C](BITMAP,WIDTH,HEIGHT)
      INTEGER*1 BITMAP[REFERENCE]
      INTEGER*2 WIDTH,HEIGHT
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_GETINDEX[C](INDEX)
      INTEGER*2 INDEX
      END

      INTERFACE TO SUBROUTINE FG_GETKEY[C](KEY,AUX)
      INTEGER*1 KEY[REFERENCE]
      INTEGER*1 AUX[REFERENCE]
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_GETLINES[C]()
      END

      INTERFACE TO SUBROUTINE FG_GETMAP[C](BITMAP,WIDTH,HEIGHT)
      INTEGER*1 BITMAP[REFERENCE]
      INTEGER*2 WIDTH,HEIGHT
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_GETMAXX[C]()
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_GETMAXY[C]()
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_GETMODE[C]()
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_GETPAGE[C]()
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_GETPIXEL[C](IX,IY)
      INTEGER*2 IX,IY
      END

      INTERFACE TO SUBROUTINE FG_GETRGB[C](NUMBER,RED,GREEN,BLUE)
      INTEGER*2 NUMBER
      INTEGER*2 RED[REFERENCE]
      INTEGER*2 GREEN[REFERENCE]
      INTEGER*2 BLUE[REFERENCE]
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_GETVPAGE[C]()
      END

      INTERFACE TO SUBROUTINE FG_GETWORLD[C](XMIN,XMAX,YMIN,YMAX)
      REAL*8 XMIN[REFERENCE]
      REAL*8 XMAX[REFERENCE]
      REAL*8 YMIN[REFERENCE]
      REAL*8 YMAX[REFERENCE]
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_GETXJOY[C](N)
      INTEGER*2 N
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_GETXPOS[C]()
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_GETYJOY[C](N)
      INTEGER*2 N
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_GETYPOS[C]()
      END

      INTERFACE TO SUBROUTINE FG_HUSH[C]()
      END

      INTERFACE TO SUBROUTINE FG_HUSHNEXT[C]()
      END

      INTERFACE TO SUBROUTINE FG_IMAGEBUF[C](BUFFER,SIZE)
      INTEGER*1 BUFFER[FAR,REFERENCE]
      INTEGER*2 SIZE
      END

      INTERFACE TO INTEGER*4 FUNCTION FG_IMAGESIZ[C](WIDTH,HEIGHT)
      INTEGER*2 WIDTH,HEIGHT
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_INITEMS[C]()
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_INITJOY[C](N)
      INTEGER*2 N
      END

      INTERFACE TO SUBROUTINE FG_INITW[C]()
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_INITXMS[C]()
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_INSIDE[C](VERTEX_ARRAY,N,IX,IY)
      INTEGER*2 VERTEX_ARRAY[REFERENCE]
      INTEGER*2 N,IX,IY
      END

      INTERFACE TO SUBROUTINE FG_INTJOY[C](N,KEY,AUX)
      INTEGER*2 N
      INTEGER*1 KEY[REFERENCE]
      INTEGER*1 AUX[REFERENCE]
      END

      INTERFACE TO SUBROUTINE FG_INTKEY[C](KEY,AUX)
      INTEGER*1 KEY[REFERENCE]
      INTEGER*1 AUX[REFERENCE]
      END

      INTERFACE TO SUBROUTINE FG_JUSTIFY[C](XJUST,YJUST)
      INTEGER*2 XJUST,YJUST
      END

      INTERFACE TO SUBROUTINE FG_KBINIT[C](STATE)
      INTEGER*2 STATE
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_KBTEST[C](SCAN_CODE)
      INTEGER*2 SCAN_CODE
      END

      INTERFACE TO SUBROUTINE FG_LOCATE[C](ROW,COLUMN)
      INTEGER*2 ROW,COLUMN
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_MAKEGIF[C](MINX,MAXX,MINY,MAXY,
     +                                              FILENAME)
      INTEGER*2 MINX,MAXX,MINY,MAXY
      CHARACTER FILENAME[REFERENCE]
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_MAKEPCX[C](MINX,MAXX,MINY,MAXY,
     +                                              FILENAME)
      INTEGER*2 MINX,MAXX,MINY,MAXY
      CHARACTER FILENAME[REFERENCE]
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_MAKEPPR[C](MINX,MAXX,MINY,MAXY,
     +                                              FILENAME)
      INTEGER*2 MINX,MAXX,MINY,MAXY
      CHARACTER FILENAME[REFERENCE]
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_MAKESPR[C](MINX,MAXX,MINY,MAXY,
     +                                              FILENAME)
      INTEGER*2 MINX,MAXX,MINY,MAXY
      CHARACTER FILENAME[REFERENCE]
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_MAPRGB[C](RED,GREEN,BLUE)
      INTEGER*2 RED,GREEN,BLUE
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_MEASURE[C]()
      END

      INTERFACE TO INTEGER*4 FUNCTION FG_MEMAVAIL[C]()
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_MEMORY[C]()
      END

      INTERFACE TO SUBROUTINE FG_MOUSEBUT[C](NUMBER,COUNT,LASTX,LASTY)
      INTEGER*2 NUMBER
      INTEGER*2 COUNT[REFERENCE]
      INTEGER*2 LASTX[REFERENCE]
      INTEGER*2 LASTY[REFERENCE]
      END

      INTERFACE TO SUBROUTINE FG_MOUSECUR[C](SCREEN,CURSOR)
      INTEGER*2 SCREEN,CURSOR
      END

      INTERFACE TO SUBROUTINE FG_MOUSEFIN[C]()
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_MOUSEINI[C]()
      END

      INTERFACE TO SUBROUTINE FG_MOUSELIM[C](MINX,MAXX,MINY,MAXY)
      INTEGER*2 MINX,MAXX,MINY,MAXY
      END

      INTERFACE TO SUBROUTINE FG_MOUSEMOV[C](IX,IY)
      INTEGER*2 IX,IY
      END

      INTERFACE TO SUBROUTINE FG_MOUSEPOS[C](IX,IY,BUTTONS)
      INTEGER*2 IX[REFERENCE]
      INTEGER*2 IY[REFERENCE]
      INTEGER*2 BUTTONS[REFERENCE]
      END

      INTERFACE TO SUBROUTINE FG_MOUSEPTR[C](MASKS,XOFFSET,YOFFSET)
      INTEGER*2 MASKS[REFERENCE]
      INTEGER*2 XOFFSET,YOFFSET
      END

      INTERFACE TO SUBROUTINE FG_MOUSESPD[C](XMICKEYS,YMICKEYS)
      INTEGER*2 XMICKEYS,YMICKEYS
      END

      INTERFACE TO SUBROUTINE FG_MOUSEVIS[C](STATE)
      INTEGER*2 STATE
      END

      INTERFACE TO SUBROUTINE FG_MOVE[C](IX,IY)
      INTEGER*2 IX,IY
      END

      INTERFACE TO SUBROUTINE FG_MOVEREL[C](IX,IY)
      INTEGER*2 IX,IY
      END

      INTERFACE TO SUBROUTINE FG_MOVERW[C](X,Y)
      REAL*8 X,Y
      END

      INTERFACE TO SUBROUTINE FG_MOVEW[C](X,Y)
      REAL*8 X,Y
      END

      INTERFACE TO SUBROUTINE FG_MUSIC[C](STRING)
      CHARACTER STRING[REFERENCE]
      END

      INTERFACE TO SUBROUTINE FG_MUSICB[C](STRING,NTIMES)
      CHARACTER STRING[REFERENCE]
      INTEGER*2 NTIMES
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_NUMLOCK[C]()
      END

      INTERFACE TO INTEGER*4 FUNCTION FG_PAGESIZE[C]()
      END

      INTERFACE TO SUBROUTINE FG_PAINT[C](IX,IY)
      INTEGER*2 IX,IY
      END

      INTERFACE TO SUBROUTINE FG_PAINTW[C](X,Y)
      REAL*8 X,Y
      END

      INTERFACE TO SUBROUTINE FG_PALETTE[C](NUMBER,COLOR)
      INTEGER*2 NUMBER,COLOR
      END

      INTERFACE TO SUBROUTINE FG_PALETTES[C](COLOR_ARRAY)
      INTEGER*2 COLOR_ARRAY[REFERENCE]
      END

      INTERFACE TO SUBROUTINE FG_PAN[C](IX,IY)
      INTEGER*2 IX,IY
      END

      INTERFACE TO SUBROUTINE FG_PANW[C](X,Y)
      REAL*8 X,Y
      END

      INTERFACE TO SUBROUTINE FG_PATTERN[C](NUMBER,DASH_PATTERN)
      INTEGER*2 NUMBER,DASH_PATTERN
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_PCXHEAD[C](FILENAME,HEADER)
      CHARACTER FILENAME[REFERENCE]
      INTEGER*1 HEADER[REFERENCE]
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_PCXMODE[C](HEADER)
      INTEGER*1 HEADER[REFERENCE]
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_PLAYING[C]()
      END

      INTERFACE TO SUBROUTINE FG_POINT[C](IX,IY)
      INTEGER*2 IX,IY
      END

      INTERFACE TO SUBROUTINE FG_POINTW[C](X,Y)
      REAL*8 X,Y
      END

      INTERFACE TO SUBROUTINE FG_POINTX[C](IX,IY)
      INTEGER*2 IX,IY
      END

      INTERFACE TO SUBROUTINE FG_POINTXW[C](X,Y)
      REAL*8 X,Y
      END

      INTERFACE TO SUBROUTINE FG_POLYFILL[C](VERTEX_ARRAY,WORK_ARRAY,N)
      INTEGER*2 VERTEX_ARRAY[REFERENCE]
      INTEGER*2 WORK_ARRAY[REFERENCE]
      INTEGER*2 N
      END

      INTERFACE TO SUBROUTINE FG_POLYGON[C](IX_ARRAY,IY_ARRAY,N)
      INTEGER*2 IX_ARRAY[REFERENCE]
      INTEGER*2 IY_ARRAY[REFERENCE]
      INTEGER*2 N
      END

      INTERFACE TO SUBROUTINE FG_POLYGONW[C](X_ARRAY,Y_ARRAY,N)
      REAL*8 X_ARRAY[REFERENCE]
      REAL*8 Y_ARRAY[REFERENCE]
      INTEGER*2 N
      END

      INTERFACE TO SUBROUTINE FG_POLYLINE[C](VERTEX_ARRAY,N)
      INTEGER*2 VERTEX_ARRAY[REFERENCE]
      INTEGER*2 N
      END

      INTERFACE TO SUBROUTINE FG_POLYOFF[C](IX,IY)
      INTEGER*2 IX,IY
      END

      INTERFACE TO SUBROUTINE FG_PRINT[C](STRING,N)
      CHARACTER STRING[REFERENCE]
      INTEGER*2 N
      END

      INTERFACE TO SUBROUTINE FG_PUTBLOCK[C](BUFFER,MINX,MAXX,MINY,MAXY)
      INTEGER*1 BUFFER[FAR,REFERENCE]
      INTEGER*2 MINX,MAXX,MINY,MAXY
      END

      INTERFACE TO SUBROUTINE FG_PUTIMAGE[C](BITMAP,WIDTH,HEIGHT)
      INTEGER*1 BITMAP[REFERENCE]
      INTEGER*2 WIDTH,HEIGHT
      END

      INTERFACE TO SUBROUTINE FG_QUIET[C]()
      END

      INTERFACE TO SUBROUTINE FG_RECT[C](MINX,MAXX,MINY,MAXY)
      INTEGER*2 MINX,MINY,MAXX,MAXY
      END

      INTERFACE TO SUBROUTINE FG_RECTW[C](XMIN,XMAX,YMIN,YMAX)
      REAL*8 XMIN,XMAX,YMIN,YMAX
      END

      INTERFACE TO SUBROUTINE FG_RESET[C]()
      END

      INTERFACE TO SUBROUTINE FG_RESIZE[C](WIDTH,HEIGHT)
      INTEGER*2 WIDTH,HEIGHT
      END

      INTERFACE TO SUBROUTINE FG_RESTORE[C](MINX,MAXX,MINY,MAXY)
      INTEGER*2 MINX,MINY,MAXX,MAXY
      END

      INTERFACE TO SUBROUTINE FG_RESTOREW[C](XMIN,XMAX,YMIN,YMAX)
      REAL*8 XMIN,XMAX,YMIN,YMAX
      END

      INTERFACE TO SUBROUTINE FG_RESUME[C]()
      END

      INTERFACE TO SUBROUTINE FG_REVIMAGE[C](BITMAP,WIDTH,HEIGHT)
      INTEGER*1 BITMAP[REFERENCE]
      INTEGER*2 WIDTH,HEIGHT
      END

      INTERFACE TO SUBROUTINE FG_REVMASK[C](BITMAP,RUNS,WIDTH)
      INTEGER*1 BITMAP[REFERENCE]
      INTEGER*2 RUNS,WIDTH
      END

      INTERFACE TO SUBROUTINE FG_SAVE[C](MINX,MAXX,MINY,MAXY)
      INTEGER*2 MINX,MINY,MAXX,MAXY
      END

      INTERFACE TO SUBROUTINE FG_SAVEW[C](XMIN,XMAX,YMIN,YMAX)
      REAL*8 XMIN,XMAX,YMIN,YMAX
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_SCRLOCK[C]()
      END

      INTERFACE TO SUBROUTINE FG_SCROLL[C](MINX,MAXX,MINY,MAXY,
     +                                     JUMP,WRAP)
      INTEGER*2 MINX,MAXX,MINY,MAXY,JUMP,WRAP
      END

      INTERFACE TO SUBROUTINE FG_SETANGLE[C](ANGLE)
      REAL*8 ANGLE
      END

      INTERFACE TO SUBROUTINE FG_SETATTR[C](FORE,BACK,BLINK)
      INTEGER*2 FORE,BACK,BLINK
      END

      INTERFACE TO SUBROUTINE FG_SETCAPS[C](STATE)
      INTEGER*2 STATE
      END

      INTERFACE TO SUBROUTINE FG_SETCLIP[C](MINX,MAXX,MINY,MAXY)
      INTEGER*2 MINX,MAXX,MINY,MAXY
      END

      INTERFACE TO SUBROUTINE FG_SETCLIPW[C](XMIN,XMAX,YMIN,YMAX)
      REAL*8 XMIN,XMAX,YMIN,YMAX
      END

      INTERFACE TO SUBROUTINE FG_SETCOLOR[C](COLOR)
      INTEGER*2 COLOR
      END

      INTERFACE TO SUBROUTINE FG_SETDACS[C](START,COUNT,VALUES)
      INTEGER*2 START,COUNT
      INTEGER*1 VALUES[REFERENCE]
      END

      INTERFACE TO SUBROUTINE FG_SETENTRY[C](NUMBER,ADDR,TYPE)
      INTEGER*2 NUMBER,ADDR,TYPE
      END

      INTERFACE TO SUBROUTINE FG_SETFUNC[C](MODE)
      INTEGER*2 MODE
      END

      INTERFACE TO SUBROUTINE FG_SETHPAGE[C](PAGE)
      INTEGER*2 PAGE
      END

      INTERFACE TO SUBROUTINE FG_SETLINES[C](LINES)
      INTEGER*2 LINES
      END

      INTERFACE TO SUBROUTINE FG_SETMODE[C](MODE)
      INTEGER*2 MODE
      END

      INTERFACE TO SUBROUTINE FG_SETNUM[C](STATE)
      INTEGER*2 STATE
      END

      INTERFACE TO SUBROUTINE FG_SETPAGE[C](PAGE)
      INTEGER*2 PAGE
      END

      INTERFACE TO SUBROUTINE FG_SETRATIO[C](RATIO)
      REAL*8 RATIO
      END

      INTERFACE TO SUBROUTINE FG_SETRGB[C](NUMBER,RED,GREEN,BLUE)
      INTEGER*2 NUMBER,RED,GREEN,BLUE
      END

      INTERFACE TO SUBROUTINE FG_SETSIZE[C](ISIZE)
      INTEGER*2 ISIZE
      END

      INTERFACE TO SUBROUTINE FG_SETSIZEW[C](SIZE)
      REAL*8 SIZE
      END

      INTERFACE TO SUBROUTINE FG_SETVPAGE[C](PAGE)
      INTEGER*2 PAGE
      END

      INTERFACE TO SUBROUTINE FG_SETWORLD[C](XMIN,XMAX,YMIN,YMAX)
      REAL*8 XMIN,XMAX,YMIN,YMAX
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_SHOWGIF[C](FILENAME,FLAGS)
      CHARACTER FILENAME[REFERENCE]
      INTEGER*2 FLAGS
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_SHOWPCX[C](FILENAME,FLAGS)
      CHARACTER FILENAME[REFERENCE]
      INTEGER*2 FLAGS
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_SHOWPPR[C](FILENAME,WIDTH)
      CHARACTER FILENAME[REFERENCE]
      INTEGER*2 WIDTH
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_SHOWSPR[C](FILENAME,WIDTH)
      CHARACTER FILENAME[REFERENCE]
      INTEGER*2 WIDTH
      END

      INTERFACE TO SUBROUTINE FG_SOUND[C](FREQUENCY,DURATION)
      INTEGER*2 FREQUENCY,DURATION
      END

      INTERFACE TO SUBROUTINE FG_SOUNDS[C](ARRAY,NTIMES)
      INTEGER*2 ARRAY[REFERENCE]
      INTEGER*2 NTIMES
      END

      INTERFACE TO SUBROUTINE FG_STALL[C](DELAY)
      INTEGER*2 DELAY
      END

      INTERFACE TO SUBROUTINE FG_SUSPEND[C]()
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_SVGAINIT[C](METHOD)
      INTEGER*2 METHOD
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_SVGASTAT[C]()
      END

      INTERFACE TO SUBROUTINE FG_SVGAVER[C](MAJOR,MINOR)
      INTEGER*2 MAJOR[REFERENCE]
      INTEGER*2 MINOR[REFERENCE]
      END

      INTERFACE TO SUBROUTINE FG_SWCHAR[C](STRING,N,JUSTIFY)
      CHARACTER STRING[REFERENCE]
      INTEGER*2 N,JUSTIFY
      END

      INTERFACE TO REAL*8 FUNCTION FG_SWLENGTH[C](STRING,N)
      CHARACTER STRING[REFERENCE]
      INTEGER*2 N
      END

      INTERFACE TO SUBROUTINE FG_SWTEXT[C](STRING,N,JUSTIFY)
      CHARACTER STRING[REFERENCE]
      INTEGER*2 N,JUSTIFY
      END

      INTERFACE TO SUBROUTINE FG_TCDEFINE[C](INDEX,ATTRIBUTE)
      INTEGER*2 INDEX,ATTRIBUTE
      END

      INTERFACE TO SUBROUTINE FG_TCMASK[C](MASK)
      INTEGER*2 MASK
      END

      INTERFACE TO SUBROUTINE FG_TCXFER[C](MINX,MAXX,MINY,MAXY,
     +                                  NEWX,NEWY,SOURCE,DEST)
      INTEGER*2 MINX,MAXX,MINY,MAXY,NEWX,NEWY,SOURCE,DEST
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_TESTMODE[C](MODE,PAGES)
      INTEGER*2 MODE,PAGES
      END

      INTERFACE TO SUBROUTINE FG_TEXT[C](STRING,N)
      CHARACTER STRING[REFERENCE]
      INTEGER*2 N
      END

      INTERFACE TO SUBROUTINE FG_TRANSFER[C](MINX,MAXX,MINY,MAXY,
     +                                    NEWX,NEWY,SOURCE,DEST)
      INTEGER*2 MINX,MAXX,MINY,MAXY,NEWX,NEWY,SOURCE,DEST
      END

      INTERFACE TO SUBROUTINE FG_VERSION[C](MAJOR,MINOR)
      INTEGER*2 MAJOR[REFERENCE]
      INTEGER*2 MINOR[REFERENCE]
      END

      INTERFACE TO SUBROUTINE FG_VOICE[C](NUMBER,FREQ,VOLUME,DURATION)
      INTEGER*2 NUMBER,FREQ,VOLUME,DURATION
      END

      INTERFACE TO SUBROUTINE FG_VOICES[C](ARRAY,NTIMES)
      INTEGER*2 ARRAY[REFERENCE]
      INTEGER*2 NTIMES
      END

      INTERFACE TO SUBROUTINE FG_WAITFOR[C](NCYCLES)
      INTEGER*2 NCYCLES
      END

      INTERFACE TO SUBROUTINE FG_WAITKEY[C]()
      END

      INTERFACE TO SUBROUTINE FG_WAITVR[C](STATE)
      INTEGER*2 STATE
      END

      INTERFACE TO SUBROUTINE FG_WHERE[C](ROW,COLUMN)
      INTEGER*2 ROW[REFERENCE]
      INTEGER*2 COLUMN[REFERENCE]
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_XALPHA[C](IX)
      INTEGER*2 IX
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_XCONVERT[C](COLUMN)
      INTEGER*2 COLUMN
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_XSCREEN[C](X)
      REAL*8 X
      END

      INTERFACE TO REAL*8 FUNCTION FG_XWORLD[C](IX)
      INTEGER*2 IX
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_YALPHA[C](IY)
      INTEGER*2 IY
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_YCONVERT[C](ROW)
      INTEGER*2 ROW
      END

      INTERFACE TO INTEGER*2 FUNCTION FG_YSCREEN[C](Y)
      REAL*8 Y
      END

      INTERFACE TO REAL*8 FUNCTION FG_YWORLD[C](IY)
      INTEGER*2 IY
      END
