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

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

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

revision 1.7 by mkoch, Mon May 31 21:11:48 2004 UTC revision 1.8 by mark, Thu Jul 22 19:45:38 2004 UTC
# Line 41  package java.awt.image; Line 41  package java.awt.image;
41  import java.awt.Image;  import java.awt.Image;
42  import java.util.Enumeration;  import java.util.Enumeration;
43  import java.util.Hashtable;  import java.util.Hashtable;
44    import java.util.Vector;
45    
46  public class MemoryImageSource implements ImageProducer  public class MemoryImageSource implements ImageProducer
47  {  {
# Line 49  public class MemoryImageSource implement Line 50  public class MemoryImageSource implement
50      private int pixeli[], width, height, offset, scansize;      private int pixeli[], width, height, offset, scansize;
51      private byte pixelb[];      private byte pixelb[];
52      private ColorModel cm;      private ColorModel cm;
53      private Hashtable props, consumers = new Hashtable();      private Hashtable props = new Hashtable();
54        private Vector consumers = new Vector();
55    
56      /**      /**
57         Constructs an ImageProducer from memory         Constructs an ImageProducer from memory
# Line 126  public class MemoryImageSource implement Line 128  public class MemoryImageSource implement
128       * <code>ImageProducer</code>.         * <code>ImageProducer</code>.  
129       */       */
130      public synchronized void addConsumer(ImageConsumer ic) {      public synchronized void addConsumer(ImageConsumer ic) {
131          if (consumers.containsKey(ic))          if (consumers.contains(ic))
132              return;              return;
133    
134          consumers.put(ic, ic);          consumers.addElement(ic);
135      }      }
136    
137      /**      /**
# Line 137  public class MemoryImageSource implement Line 139  public class MemoryImageSource implement
139       * already registered with this <code>ImageProducer</code>.         * already registered with this <code>ImageProducer</code>.  
140       */       */
141      public synchronized boolean isConsumer(ImageConsumer ic) {      public synchronized boolean isConsumer(ImageConsumer ic) {
142          if (consumers.containsKey(ic))          if (consumers.contains(ic))
143              return true;              return true;
144          return false;          return false;
145      }      }
# Line 147  public class MemoryImageSource implement Line 149  public class MemoryImageSource implement
149       * registered consumers for this <code>ImageProducer</code>.         * registered consumers for this <code>ImageProducer</code>.  
150       */       */
151      public synchronized void removeConsumer(ImageConsumer ic) {      public synchronized void removeConsumer(ImageConsumer ic) {
152          consumers.remove(ic);          consumers.removeElement(ic);
153      }      }
154    
155      /**      /**
# Line 157  public class MemoryImageSource implement Line 159  public class MemoryImageSource implement
159       * registered consumers.         * registered consumers.  
160       */       */
161      public void startProduction(ImageConsumer ic) {      public void startProduction(ImageConsumer ic) {
162          if (!(consumers.containsKey(ic))) {          if (!(consumers.contains(ic))) {
163              consumers.put(ic, ic);              consumers.addElement(ic);
164          }                  }        
165          Enumeration e = consumers.elements();  
166          for( ; e.hasMoreElements(); ) {          Vector list = (Vector) consumers.clone();
167                  ic = (ImageConsumer)e.nextElement();          for(int i = 0; i < list.size(); i++) {
168                ic = (ImageConsumer) list.elementAt(i);
169                  sendPicture( ic );                  sendPicture( ic );
170                  ic.imageComplete( ImageConsumer.SINGLEFRAME );              ic.imageComplete( ImageConsumer.STATICIMAGEDONE );
171              }                }  
   
172      }      }
173    
174      /**      /**
# Line 210  public class MemoryImageSource implement Line 212  public class MemoryImageSource implement
212      {      {
213          if( animated == true ) {          if( animated == true ) {
214                  ImageConsumer ic;                  ImageConsumer ic;
215                  Enumeration e = consumers.elements();                  Vector list = (Vector) consumers.clone();
216                  for( ; e.hasMoreElements(); ) {                  for(int i = 0; i < list.size(); i++) {
217                          ic = (ImageConsumer)e.nextElement();                          ic = (ImageConsumer) list.elementAt(i);
218                          sendPicture( ic );                          sendPicture( ic );
219                          ic.imageComplete( ImageConsumer.SINGLEFRAME );                          ic.imageComplete( ImageConsumer.SINGLEFRAME );
220                      }                        }  
# Line 227  public class MemoryImageSource implement Line 229  public class MemoryImageSource implement
229              ic.setProperties( props );              ic.setProperties( props );
230          }          }
231          ic.setDimensions(width, height);          ic.setDimensions(width, height);
232            ic.setColorModel(cm);
233          if( pixeli != null ) {          if( pixeli != null ) {
234              ic.setPixels( 0, 0, width, height, cm, pixeli, offset, scansize );              ic.setPixels( 0, 0, width, height, cm, pixeli, offset, scansize );
235          } else {          } else {
# Line 249  public class MemoryImageSource implement Line 252  public class MemoryImageSource implement
252                      newPixels();                      newPixels();
253                  } else {                  } else {
254                      ImageConsumer ic;                      ImageConsumer ic;
255                      Enumeration e = consumers.elements();                      Vector list = (Vector) consumers.clone();
256                      for( ; e.hasMoreElements(); ) {                      for(int i = 0; i < list.size(); i++) {
257                              ic = (ImageConsumer)e.nextElement();                              ic = (ImageConsumer) list.elementAt(i);
258                              ic.setHints( ImageConsumer.TOPDOWNLEFTRIGHT );                              ic.setHints( ImageConsumer.TOPDOWNLEFTRIGHT );
259                              if( props != null ) {                              if( props != null ) {
260                                  ic.setProperties( props );                                  ic.setProperties( props );
# Line 294  public class MemoryImageSource implement Line 297  public class MemoryImageSource implement
297                      newPixels();                      newPixels();
298                  } else {                  } else {
299                      ImageConsumer ic;                      ImageConsumer ic;
300                      Enumeration e = consumers.elements();                      Vector list = (Vector) consumers.clone();
301                      for( ; e.hasMoreElements(); ) {                      for(int i = 0; i < list.size(); i++) {
302                              ic = (ImageConsumer)e.nextElement();                              ic = (ImageConsumer) list.elementAt(i);
303                              ic.setHints( ImageConsumer.TOPDOWNLEFTRIGHT );                              ic.setHints( ImageConsumer.TOPDOWNLEFTRIGHT );
304                              if( props != null ) {                              if( props != null ) {
305                                  ic.setProperties( props );                                  ic.setProperties( props );

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