#include "defn.h"

#define MAXDRAWPOINTS   100

plotps(type)
char   *type;
{
   if (type == MOVE || type == RMOVE)
   {
       while (SIGNED_NUMERIC)
       {
           if (type == MOVE)
           {
               end_draw();
               absX = lastXmove = getval() * XSCALE;
               absY = lastYmove = getval() * YSCALE;
           } else
           if (type == RMOVE)
           {
               end_draw();
               lastXmove = absX += getval() * XSCALE;
               lastYmove = absY += getval() * YSCALE;
           }
       }
   }
   else                        /* Must be a DRAW or RDRAW */
   {
       while (SIGNED_NUMERIC)
       {
           if (dcount++ >= MAXDRAWPOINTS)
           {
               end_draw();
               printf("newpath\n");
               printf("  %g %g %s\n", absX, absY, MOVE);
               DRAW_FLAG = 1;
               fprintf(stderr, "Warning exceeded 100 draw points\n");
           }
           xval = getval() * XSCALE;
           yval = getval() * YSCALE;
           if (!DRAW_FLAG)
           {
               printf("newpath\n");
               printf("  %g %g %s\n", absX, absY, MOVE);
               DRAW_FLAG = 1;
           }
           if (type == RDRAW)
           {
               absX += xval;
               absY += yval;
               printf("  %g %g %s\n", xval, yval, RDRAW);
           } else
           if (type == DRAW)
           {
               absX = xval;
               absY = yval;
               printf("  %g %g %s\n", absX, absY, DRAW);
           } else
           {
               fprintf(stderr, "Error: expecting draw command not %s\n", type);
               exit(1);
           }
       }
   }
}