home *** CD-ROM | disk | FTP | other *** search
/ Photo CD Demo 1 / Demo.bin / gle / gle / dviepson.c < prev    next >
C/C++ Source or Header  |  1992-11-29  |  876b  |  44 lines

  1. #define XSIZECM 19        /* at 120 DPI  */
  2. #define YSIZECM 27        /* at 72 DPI */
  3. #ifdef __TURBOC__
  4. #define NXBITS 904
  5. #define NYBITS 768
  6. #else
  7. #define NXBITS 300    /* because vax cant cope with one huge record */
  8. #define NYBITS 400
  9. #endif
  10. #include "bitmap.h"
  11. dvitype(void)
  12. {
  13.     printf("Epson");
  14. }
  15. bitmap_print()
  16. {
  17.     int y;
  18.     for (y=nybits-8 ; y>=0 ; y-=8)
  19.         print_row(y);
  20. }
  21. print_row(int y)
  22. {
  23.     unsigned char savechar,temp;
  24.     static unsigned char out_buff[NXBITS+10]="\x1bL";
  25.     unsigned int r,i,j,newy,x,z;
  26.     unsigned char *line;
  27.     dbg printf("row %d\n",y);
  28.     for (r=4;r<(NXBITS+5);r++) out_buff[r] = 0;
  29.     for (r=0; r<8; r++,y++) {
  30.         line = bitmap_line(y);
  31.         for (x=0,j = 4; x<NXBITS;x++,j++) {
  32.             z = 1 << (x % 8);
  33.             if ((z & line[x/8]) != 0) {
  34.                  out_buff[j] |= 1 << r;
  35.             }
  36.         }
  37.     }
  38.     out_buff[2] = (j-4) & 255;
  39.     out_buff[3] = (j-4) / 256;
  40.     printmem(out_buff,j);
  41.     pprintf("\x0d\x1bJ\x18");
  42. }
  43.  
  44.