#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);
}
}
}
}