1 
2 #include "psdriver.h"
3 
PS_Bitmap(int ncols,int nrows,int threshold,const unsigned char * buf)4 void PS_Bitmap(int ncols, int nrows, int threshold,
5 	       const unsigned char *buf)
6 {
7     int i, j;
8 
9     output("%d %d %d %d BITMAP\n", cur_x, cur_y, ncols, nrows);
10 
11     for (j = 0; j < nrows; j++) {
12 	unsigned int bit = 0x80;
13 	unsigned int acc = 0;
14 
15 	for (i = 0; i < ncols; i++) {
16 	    unsigned int k = buf[j * ncols + i];
17 
18 	    if (k > threshold)
19 		acc |= bit;
20 
21 	    bit >>= 1;
22 
23 	    if (!bit) {
24 		output("%02X", acc);
25 		bit = 0x80;
26 		acc = 0;
27 	    }
28 	}
29 
30 	if (bit != 0x80)
31 	    output("%02X", acc);
32 
33 	output("\n");
34     }
35 }
36