448 |
{ |
{ |
449 |
return new ImageProducer() { |
return new ImageProducer() { |
450 |
|
|
451 |
HashSet consumers = new HashSet(); |
Vector consumers = new Vector(); |
452 |
|
|
453 |
public void addConsumer(ImageConsumer ic) |
public void addConsumer(ImageConsumer ic) |
454 |
{ |
{ |
455 |
consumers.add(ic); |
if(!consumers.contains(ic)) |
456 |
|
consumers.add(ic); |
457 |
} |
} |
458 |
|
|
459 |
public boolean isConsumer(ImageConsumer ic) |
public boolean isConsumer(ImageConsumer ic) |
463 |
|
|
464 |
public void removeConsumer(ImageConsumer ic) |
public void removeConsumer(ImageConsumer ic) |
465 |
{ |
{ |
466 |
consumers.remove(ic); |
consumers.remove(ic); |
467 |
} |
} |
468 |
|
|
469 |
public void startProduction(ImageConsumer ic) |
public void startProduction(ImageConsumer ic) |
481 |
|
|
482 |
consumers.add(ic); |
consumers.add(ic); |
483 |
|
|
484 |
Iterator i = consumers.iterator(); |
for(int i=0;i<consumers.size();i++) |
|
while(i.hasNext()) |
|
485 |
{ |
{ |
486 |
ImageConsumer c = (ImageConsumer) i.next(); |
ImageConsumer c = (ImageConsumer) consumers.elementAt(i); |
487 |
c.setHints(ImageConsumer.SINGLEPASS); |
c.setHints(ImageConsumer.SINGLEPASS); |
488 |
c.setDimensions(getWidth(), getHeight()); |
c.setDimensions(getWidth(), getHeight()); |
489 |
c.setPixels(x, y, width, height, model, pixels, offset, stride); |
c.setPixels(x, y, width, height, model, pixels, offset, stride); |