! IMP dummies for the Fortran routines in the Versaplot Colour Random Library

external routine AUTHOR (integer name ITEXT, NC)
   integer I
   byte name B
   B == Byte (Addr (Itext))
   Print string ("AUTHOR: ")
   Print symbol (B) and B == B[1] for I = 1, 1, NC
   Newline
end

external routine CIRCLE (real name X, Y, RADIUS,
                           integer name IWIDTH)
   Print string ("CIRCLE: ")
   if RADIUS = 0 start
      Print string ("Radius = 0  =>  Ignored")
      Newline
      return
   finish
   if RADIUS > 0 start
       Print string ("(solid)")
   else
       Print string ("(outline)")
   finish
   Print string (" X=")
   Print (x,0,3)
   Print string (" Y=")
   Print (y,0,3)
   Print string (" Rad=")
   Print (|radius|,0,3)
   Print string (" Iwidth=")
   Write (Iwidth,0)
   Newline
end

external routine CONVEX (real name X, Y, integer name NPT)
   Print string ("CONVEX polygon of ".Itos(Npt,0)." sides")
   Newline
end

external routine DASHLN (real name X, Y, integer name NPTS,
                           real name ONLTH, OFFLTH)
   Print string ("DASHLN")
   Newline
end

external routine DEFCLR (integer name ICLRX, ICPAT, NPWRD)
   Print string ("DEFCLR")
   Newline
end

external routine DEFPAT (integer name IP, JPAT, NTP)
   integer I
   Print string ("DEFPAT".ItoS(IP,1)." (".ItoS(NTP,0).")")
   Write (Integer(Addr(Jpat)+I), 1) for I = 0, 4, 15*4
   Newline
end

external routine DEFPEN (integer name IPEN, JWIDTH, NBON1, NBOFF1,
                                                        NBON2, NBOFF2)
   Print string ("DEFPEN".Itos(Ipen,1).Itos(Jwidth,1).Itos(NBon1,1).-
                          Itos(NBOff1,1).Itos(NBon2,1).Itos(NBOff2,1))
   Newline
end

external routine FACTOR (real name FACT)
   Print string ("FACTOR: ".RtoS(Fact,0,3))
   Newline
end

external routine GRID   (real name X, Y, integer name NX,
                           real name XD, integer name NY,
                           real name YD, integer name LMASK)
   Print string ("GRID")
   Newline
end

external routine NEWPEN (integer name INP)
   Print string ("NEWPEN: ".ItoS(INP,0))
   Newline
end

external routine PAPER  (real name PXMIN, PYMIN, PXMAX, PYMAX)
   Print string ("PAPER")
   Newline
end

external routine PENCLR (integer name ICPEN, NUMCLR)
   Print string ("PENCLR")
   Newline
end

external routine PLOT   (real name X, Y, integer name IPEN)
   Print string ("PLOT: ".Rtos(x,0,2).Rtos(y,1,2).Itos(ipen,1))
   Newline
end

external routine PLOTS  (integer name ISF, INDEX, LDEV)
   Print string ("PLOTS: ".Itos(ISF,0).ItoS(Index,1).ItoS(Ldev,1))
   Newline
end

external routine RECT   (real name X1, X2, Y1, Y2,
                           integer name IFLG)
   Print string ("RECT: ".Rtos(x1,4,2).Rtos(y1,1,2).RtoS(x2,4,2).RtoS(y2,1,2))
   if Iflg = 0 start
      print string (" No outline")
   else
      print string (" with outline")
   finish
   Newline
end

external routine SETPAT (integer name IARG)
   Print string ("SETPAT: ".ItoS(IARG,0))
   Newline
end

external routine TONCLR (integer name NCOLOR)
   Print string ("TONCLR: ".ItoS(NCOLOR,0))
   Newline
end

external routine TONE   (real name X, Y, integer name NE, NA)
   Print string ("TONE")
end

external routine TONFLG (integer name IPTFLG)
   Print string ("TONFLG: ".ItoS(IPTFLG,0))
   Newline
end

external routine VPOPT  (integer name ICODE, IARG, real name RARG,
                           integer name IERROR)
   IArg = -1
   Print string ("VPOPT ")
   if Icode < 0 start
       print string ("Getting option ".Itos(-Icode,0))
   else
       print string ("Setting option ".Itos(Icode,0))
   finish
   Newline
end

external routine VPORT  (real name VXMIN, VYMIN, VXMAX, VYMAX)
   Print string ("VPORT")
   Print (VXmin, 1, 3); print symbol (','); Print (VYmin, 0, 3)
   Print (VXmax, 1, 3); print symbol (','); Print (VYmax, 0, 3)
   Newline
end

external routine VTEC   (integer name IDEN, IBYTES)
   Print string ("VTEC")
   Newline
end

external routine WINDOW (real name WXMIN, WYMIN, WXMAX, WYMAX)
   Print string ("WINDOW")
   Print (WXmin, 1, 3); print symbol (','); Print (WYmin, 0, 3)
   Print (WXmax, 1, 3); print symbol (','); Print (WYmax, 0, 3)
   Newline
end

end of file