home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / listings / v_11_09 / smithlt1.c < prev    next >
Text File  |  1993-03-28  |  1KB  |  43 lines

  1. /***************************************************/
  2.  * HPLTIT - For plotting hardcopy on the HP LaserJet.
  3.  ***************************************************/
  4. void hpltit(FILE *hpfile)
  5. { int i,j,k,m;
  6.   unsigned char ch, ch1, bcn[]={
  7.   /* Reset and position cursor at 600,400 dots x,y.  
  8.            bcn[0] - bcn[12])  */
  9.      0x1B,0x45,0x1B,0X2A,0x70,0x36,0x30,0x30,0x78,
  10.              0x34,0x30,0x30,0x59,
  11.   /* Initiate raster graphics at 150 dots per inch.
  12.            bcn[13] - bcn[19] */
  13.      0x1B,0x2A,0x74,0x31,0x35,0x30,0x52,
  14.   /* Start a row of graphics at current left margin.
  15.            bcn[20] - bcn[24] */
  16.      0x1B,0x2A,0x72,0x31,0x41,
  17.   /* Transfer 80 bytes of raster graphics data.
  18.            bcn[25] - bcn[30] */
  19.      0x1B,0x2A,0x62,0x38,0x30,0x57,
  20.   /* End graphics and reset printer
  21.            bcn[31] - bcn[37] */
  22.      0x1B,0x2A,0x72,0x42,0x1B,0x45};
  23.  
  24.   /* HP graphics header */
  25.   for (k=0; k<20; ++k) fputc(bcn[k],hpfile);
  26.   for (j=0; j<480; ++j)
  27.   /* HP graphics row */
  28.   { for (k=20; k<31; ++k) fputc(bcn[k],hpfile); 
  29.     for (k=0; k<80; ++k)
  30.     { ch=0;
  31.       for (i=0; i<8; ++i) 
  32.       { if (getpixel(k*8+i,j)) ch1 = 0x80 >> i; 
  33.         else ch1=0;
  34.         ch=ch1 | ch;
  35.       }
  36.       fputc(ch,hpfile); 
  37.     } 
  38.   }
  39.   /* End HP graphics, reset printer with formfeed */
  40.   for (k=31; k<37; ++k) fputc(bcn[k],hpfile); 
  41. }  /* End HPLTIT */
  42.  
  43.