/[classpath]/classpath/java/awt/image/BufferedImage.java
ViewVC logotype

Diff of /classpath/java/awt/image/BufferedImage.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.7 by mkoch, Fri Mar 19 21:22:24 2004 UTC revision 1.8 by mark, Thu Jul 22 19:45:38 2004 UTC
# Line 47  import java.awt.Transparency; Line 47  import java.awt.Transparency;
47  import java.awt.color.ColorSpace;  import java.awt.color.ColorSpace;
48  import java.util.Hashtable;  import java.util.Hashtable;
49  import java.util.Vector;  import java.util.Vector;
50    import java.util.HashSet;
51    import java.util.Iterator;
52  import gnu.java.awt.ComponentDataBlitOp;  import gnu.java.awt.ComponentDataBlitOp;
53    
54  /**  /**
# Line 442  public class BufferedImage extends Image Line 444  public class BufferedImage extends Image
444            
445    public ImageProducer getSource()    public ImageProducer getSource()
446    {    {
447      throw new UnsupportedOperationException("not implemented");      return new ImageProducer() {
448            
449            HashSet consumers = new HashSet();
450    
451            public void addConsumer(ImageConsumer ic)
452            {
453              consumers.add(ic);
454            }
455    
456            public boolean isConsumer(ImageConsumer ic)
457            {
458              return consumers.contains(ic);
459            }
460    
461            public void removeConsumer(ImageConsumer ic)
462            {
463              consumers.remove(ic);
464            }
465    
466            public void startProduction(ImageConsumer ic)
467            {
468              int x = 0;
469              int y = 0;
470              int width = getWidth();
471              int height = getHeight();
472              int stride = width;
473              int offset = 0;
474              int[] pixels = getRGB(x, y,
475                                    width, height,
476                                    (int[])null, offset, stride);
477              ColorModel model = getColorModel();
478    
479              consumers.add(ic);
480    
481              Iterator i = consumers.iterator();
482              while(i.hasNext())
483                {
484                  ImageConsumer c = (ImageConsumer) i.next();
485                  c.setHints(ImageConsumer.SINGLEPASS);
486                  c.setDimensions(getWidth(), getHeight());
487                  c.setPixels(x, y, width, height, model, pixels, offset, stride);
488                  c.imageComplete(ImageConsumer.STATICIMAGEDONE);
489                }
490            }
491    
492            public void requestTopDownLeftRightResend(ImageConsumer ic)
493            {
494              startProduction(ic);
495            }
496    
497          };
498    }    }
499        
500    public Vector getSources()    public Vector getSources()

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26