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