home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume8 / gnuplot1.10A / part04 / regis.trm < prev    next >
Encoding:
Text File  |  1989-09-09  |  2.1 KB  |  113 lines

  1. #define REGISXMAX 800             
  2. #define REGISYMAX 440
  3.  
  4. #define REGISXLAST (REGISXMAX - 1)
  5. #define REGISYLAST (REGISYMAX - 1)
  6.  
  7. #define REGISVCHAR        20      
  8. #define REGISHCHAR        8        
  9. #define REGISVTIC        8
  10. #define REGISHTIC        6
  11.  
  12. REGISinit()
  13. {
  14.     fprintf(outfile,"\033[r\033[24;1H");
  15. /*                   1     2
  16.     1. reset scrolling region
  17.     2. locate cursor on bottom line
  18. */
  19. }
  20.  
  21.  
  22. /* thanks to calmasd!dko (Dan O'Neill) for adding S(E) for vt125s */
  23. REGISgraphics()
  24. {
  25.     fprintf(outfile,"\033[2J\033P1pS(C0)S(E)");
  26. /*                   1      2      3    4
  27.     1. clear screen
  28.     2. enter ReGIS graphics
  29.     3. turn off graphics diamond cursor
  30.     4. clear graphics screen
  31. */
  32. }
  33.  
  34.  
  35. REGIStext()
  36. {
  37.     fprintf(outfile,"\033\\\033[24;1H");
  38. /*                       1    2
  39.     1. Leave ReGIS graphics mode
  40.      2. locate cursor on last line of screen
  41. */
  42. }
  43.  
  44.  
  45. REGISlinetype(linetype)
  46. int     linetype;
  47. {
  48.       /* This will change color in order G,R,B,G-dot,R-dot,B-dot */
  49. static int in_map[9 + 2] = {2, 2, 3, 2, 1, 3, 2, 1, 3, 2, 1};
  50. static int lt_map[9 + 2] = {1, 4, 1, 1, 1, 4, 4, 4, 6, 6, 6};
  51.  
  52.     if (linetype >= 9)
  53.         linetype %= 9;
  54.     fprintf(outfile, "W(I%d)", in_map[linetype + 2]);
  55.     fprintf(outfile, "W(P%d)", lt_map[linetype + 2]);
  56. }
  57.  
  58.  
  59. REGISmove(x,y)
  60. int x,y;
  61. {
  62.     fprintf(outfile,"P[%d,%d]",x,REGISYLAST-y,x,REGISYLAST-y);
  63. }
  64.  
  65.  
  66. REGISvector(x,y)
  67. int x,y;
  68. {
  69.     fprintf(outfile,"v[]v[%d,%d]",x,REGISYLAST - y);
  70. /* the initial v[] is needed to get the first pixel plotted */
  71. }
  72.  
  73.  
  74. REGISlrput_text(row,str)
  75. int row;
  76. char *str;
  77. {
  78.     REGISmove(REGISXMAX-REGISHTIC-REGISHCHAR*(strlen(str)+3),
  79.         REGISVTIC+REGISVCHAR*(row+1));
  80.     (void) putc('T',outfile); (void) putc('\'',outfile);
  81.     while (*str) {
  82.         (void) putc(*str,outfile);
  83.         if (*str == '\'')
  84.             (void) putc('\'',outfile);    /* send out another one */
  85.         str++;
  86.     }
  87.     (void) putc('\'',outfile);
  88. }
  89.  
  90.  
  91. REGISulput_text(row,str)
  92. int row;
  93. char *str;
  94. {
  95.     REGISmove(REGISVTIC,REGISYMAX-REGISVTIC*2-REGISVCHAR*row);
  96.     (void) putc('T',outfile); (void) putc('\'',outfile);
  97.     while (*str) {
  98.         (void) putc(*str,outfile);
  99.         if (*str == '\'')
  100.             (void) putc('\'',outfile);    /* send out another one */
  101.         str++;
  102.     }
  103.     (void) putc('\'',outfile);
  104. }
  105.  
  106.  
  107. REGISreset()
  108. {
  109.     fprintf(outfile,"\033[2J\033[24;1H");
  110. }
  111.  
  112.  
  113.