public void produce(Vector v, FileInputStream is) throws IOException { reader = new BufferedReader(new InputStreamReader(is)); int width = -1, height = -1;
public void produce (Vector v, InputStream is) throws IOException { reader = new BufferedReader (new InputStreamReader (is)); int width = -1, height = -1;
	public void produce(Vector v, FileInputStream is) throws IOException {		reader = new BufferedReader(new InputStreamReader(is));		int width = -1, height = -1;		for (int i = 0; i < 2; i++) {			String line = reader.readLine();			StringTokenizer st = new StringTokenizer(line);			st.nextToken(); // #define			st.nextToken(); // name_[width|height]			if (i == 0)				width = Integer.parseInt(st.nextToken(), 10);			else				height = Integer.parseInt(st.nextToken(), 10);		}		for (int i = 0; i < v.size(); i++) {			ImageConsumer ic = (ImageConsumer) v.elementAt(i);			ic.setDimensions(width, height);			ic.setColorModel(cm);			ic.setHints(ImageConsumer.COMPLETESCANLINES | ImageConsumer.SINGLEFRAME | ImageConsumer.SINGLEPASS | ImageConsumer.TOPDOWNLEFTRIGHT);		}		/* skip to the byte array */		while (reader.read() != '{') {		}		/* loop through each scanline */		for (int line = 0; line < height; line++) {			int scanline[] = getScanline(reader, width);			for (int i = 0; i < v.size(); i++) {				ImageConsumer ic = (ImageConsumer) v.elementAt(i);				ic.setPixels(0, 0 + line, width, 1, cm, scanline, 0, width);			}		}		/* tell each ImageConsumer that we're finished */		for (int i = 0; i < v.size(); i++) {			ImageConsumer ic = (ImageConsumer) v.elementAt(i);			ic.imageComplete(ImageConsumer.STATICIMAGEDONE);		}	}