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

  1. /* thanks to hplvlch!ch (Chuck Heller) for the HP2623A driver */
  2. #define HP26_XMAX 512
  3. #define HP26_YMAX 390
  4.  
  5. #define HP26_XLAST (HP26_XMAX - 1)
  6. #define HP26_YLAST (HP26_XMAX - 1)
  7.  
  8. /* Assume a character size of 1, or a 7 x 10 grid. */
  9. #define HP26_VCHAR    10
  10. #define HP26_HCHAR    7
  11. #define HP26_VTIC    4
  12. #define HP26_HTIC    4
  13.  
  14. HP26_init()
  15. {
  16.     /*    The HP2623A needs no initialization. */
  17. }
  18.  
  19.  
  20. HP26_graphics()
  21. {
  22.     /*    Clear and enable the display */
  23.  
  24.     fputs("\033*daZ\033*dcZ",outfile);
  25. }
  26.  
  27.  
  28. HP26_text()
  29. {
  30.     fputs("\033*dT",outfile);    /* back to text mode */
  31. }
  32.  
  33.  
  34. HP26_linetype(linetype)
  35. int linetype;
  36. {
  37. #define    SOLID    1
  38. #define LINE4    4
  39. #define LINE5    5
  40. #define LINE6    6
  41. #define LINE8    8
  42. #define    DOTS    7
  43. #define LINE9    9
  44. #define LINE10    10
  45.  
  46. static int map[2+9] = {    SOLID,    /* border */
  47.                         DOTS,    /* axes */
  48.                         SOLID,    /* plot 0 */
  49.                         LINE4,    /* plot 1 */
  50.                         LINE5,    /* plot 2 */
  51.                         LINE6,    /* plot 3 */
  52.                         LINE8,    /* plot 4 */
  53.                         LINE9,    /* plot 5 */
  54.                         LINE10,    /* plot 6 */
  55.                         DOTS,    /* plot 7 */
  56.                         SOLID    /* plot 8 */ };
  57.  
  58.     if (linetype >= 9)
  59.         linetype %= 9;
  60.     fprintf(outfile,"\033*m%dB",map[linetype + 2]);
  61. }
  62.  
  63.  
  64. HP26_move(x,y)
  65. int x,y;
  66. {
  67.     fprintf(outfile,"\033*pa%d,%dZ",x,y);
  68. }
  69.  
  70.  
  71. HP26_vector(x,y)
  72. int x,y;
  73. {
  74.     fprintf(outfile,"\033*pb%d,%dZ",x,y);
  75. }
  76.  
  77.  
  78. HP26_lrput_text(row,str)
  79. int row;
  80. char str[];
  81. {
  82.     HP26_move(HP26_XMAX-HP26_HTIC*2,HP26_VTIC*2+HP26_VCHAR*row);
  83.     fputs("\033*dS",outfile);
  84.     fprintf(outfile,"\033*m7Q\033*l%s\n",str);
  85.     fputs("\033*dT",outfile);
  86. }
  87.  
  88.  
  89. HP26_ulput_text(row,str)
  90. int row;
  91. char str[];
  92. {
  93.     HP26_move(HP26_HTIC*2,HP26_YMAX-HP26_VTIC*2-HP26_VCHAR*row);
  94.     fputs("\033*dS",outfile);
  95.     fprintf(outfile,"\033*m3Q\033*l%s\n",str);
  96.     fputs("\033*dT",outfile);
  97. }
  98.  
  99.  
  100. HP26_reset()
  101. {
  102. }
  103.  
  104.  
  105.