20 |
|
|
21 |
|
#define FILTER "pfilt -1 -x %d -y %d -p %f %s",NCOLS,NROWS,ASPECT |
22 |
|
|
23 |
– |
#ifdef BSD |
24 |
– |
#define clearlbuf() bzero((char *)lpat, sizeof(lpat)) |
25 |
– |
#else |
26 |
– |
#define clearlbuf() (void)memset((char *)lpat, 0, sizeof(lpat)) |
27 |
– |
#endif |
28 |
– |
|
23 |
|
long lpat[NCOLS]; |
24 |
|
|
25 |
|
int dofilter = 0; /* filter through pfilt first? */ |
89 |
|
} |
90 |
|
/* set line spacing (overlap for knitting) */ |
91 |
|
fputs("\0333\042\022", stdout); |
98 |
– |
/* clear line buffer */ |
99 |
– |
clearlbuf(); |
92 |
|
/* put out scanlines */ |
93 |
|
for (i = yres-1; i >= 0; i--) { |
94 |
|
if (freadcolrs(scanline, xres, input) < 0) { |
149 |
|
putchar(c>>16); |
150 |
|
putchar(c>>8 & 255); |
151 |
|
putchar(c & 255); |
152 |
< |
/* repeat this row next time */ |
153 |
< |
lpat[i] = (c & 1) << 23; |
152 |
> |
if (y) /* repeat this row next time */ |
153 |
> |
lpat[i] = (c & 1) << 23; |
154 |
> |
else /* or clear for next image */ |
155 |
> |
lpat[i] = 0L; |
156 |
|
} |
157 |
|
putchar('\r'); |
158 |
|
putchar('\n'); |