#include "defn.h"
#define MAXBUFSIZE 100
textps(type)
int type;
{
char string[4];
char buffer[MAXBUFSIZE];
float Xch, Ych;
int intval;
int i;
end_draw();
if (type == TEXT)
{
for (i = 0 ; i < MAXBUFSIZE; i++) /* Clear buffer */
buffer[i] = NULL;
i = 0; /* Reset buffer counter */
while (((ch = getc(stream)) != EOF)
&& ch != CR && ch != LF && ch != EOL)
{
buffer[i++] = ch;
/* printf("%g %g 1 %g (%c) Text\n", absX, absY, char_angle, ch);
* absX += (char_width + char_space) * cos(char_angle * deg_rad);
* absY += (char_width + char_space) * sin(char_angle * deg_rad);
*/
}
printf("%g %g 1 %g (%s) Text\n", absX, absY, char_angle, buffer);
} else /* Must be a MARK */
{
int symb_num;
if (SIGNED_NUMERIC)
symb_num = getval();
else
{
fprintf(stderr,
"Error: expecting a symbol number not %c (%d)",
symb_num, symb_num);
exit(1);
}
intval = (int)(getval() + 0.5);
switch (intval)
{
case 0:
strcpy(string, "*");
break;
case 1:
strcpy(string, "+");
break;
case 2:
strcpy(string, "#");
break;
case 3:
strcpy(string, "@");
break;
case 4:
strcpy(string, "%");
break;
case 5:
strcpy(string, "|");
break;
case 6:
strcpy(string, "=");
break;
case 7:
strcpy(string, "&");
break;
case 9:
strcpy(string, "O");
break;
case 10:
strcpy(string, "0");
break;
case 11:
strcpy(string, "Y");
break;
case 12:
strcpy(string, "X");
break;
case 13:
strcpy(string, "Z");
break;
case 14:
strcpy(string, "S");
break;
case 15:
strcpy(string, "Q");
break;
default:
fprintf(stderr, "Warning symbol number is %d\n", symb_num);
strcpy(string, "*");
break;
}
printf("%g %g 5 %g (%s) Text\n", absX, absY, char_angle, string);
}
}