/[classpath]/classpath/javax/imageio/ImageWriter.java
ViewVC logotype

Diff of /classpath/javax/imageio/ImageWriter.java

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

revision 1.1 by brawer, Tue Apr 13 13:54:13 2004 UTC revision 1.2 by mkoch, Tue Oct 5 07:07:53 2004 UTC
# Line 1  Line 1 
1  /* ImageWriter.java -- Encodes raster images.  /* ImageWriter.java -- Encodes raster images.
2     Copyright (C) 2004 Free Software Foundation, Inc.     Copyright (C) 2004  Free Software Foundation, Inc.
3    
4  This file is part of GNU Classpath.  This file is part of GNU Classpath.
5    
# Line 38  exception statement from your version. * Line 38  exception statement from your version. *
38    
39  package javax.imageio;  package javax.imageio;
40    
41    import java.util.Iterator;
42    import java.util.List;
43    import java.util.Locale;
44    
45    import javax.imageio.event.IIOWriteProgressListener;
46    import javax.imageio.event.IIOWriteWarningListener;
47    import javax.imageio.metadata.IIOMetadata;
48    
49    import javax.imageio.spi.ImageWriterSpi;
50    
51  public abstract class ImageWriter  public abstract class ImageWriter
52    implements ImageTranscoder    implements ImageTranscoder
53  {  {
54    // FIXME: Incomplete. This class is merely present in order to allow    protected Locale[] availableLocales;
55    // compilation of the javax.imageio.spi package, for which GNU    protected Locale locale;
56    // Classpath does provide an implementation.    protected ImageWriterSpi originatingProvider;
57      protected Object output;
58      protected List progressListeners;
59      protected List warningListeners;
60      protected List warningLocales;
61    
62      protected ImageWriter(ImageWriterSpi originatingProvider)
63      {
64        this.originatingProvider = originatingProvider;
65      }
66    
67      public void addIIOWriteProgressListener(IIOWriteProgressListener listener)
68      {
69        if (listener == null)
70          return;
71        
72        progressListeners.add(listener);
73      }
74      
75      public void addIIOWriteWarningListener (IIOWriteWarningListener listener)
76      {
77        if (listener == null)
78          return;
79        
80        warningListeners.add(listener);
81      }
82    
83      public Locale[] getAvailableLocales()
84      {
85        return availableLocales;
86      }
87    
88      public abstract IIOMetadata getDefaultImageMetadata (ImageTypeSpecifier imageType, ImageWriteParam param);
89    
90      public abstract IIOMetadata getDefaultStreamMetadata (ImageWriteParam param);
91    
92      public Locale getLocale()
93      {
94        return locale;
95      }
96    
97      public ImageWriterSpi getOriginatingProvider()
98      {
99        return originatingProvider;
100      }
101    
102      protected void processImageComplete()
103      {
104        Iterator it = progressListeners.iterator();
105    
106        while (it.hasNext())
107          {
108            IIOWriteProgressListener listener = (IIOWriteProgressListener) it.next();
109            listener.imageComplete(this);
110          }
111      }
112    
113      protected void processImageProgress(float percentageDone)
114      {
115        Iterator it = progressListeners.iterator();
116    
117        while (it.hasNext())
118          {
119            IIOWriteProgressListener listener = (IIOWriteProgressListener) it.next();
120            listener.imageProgress(this, percentageDone);
121          }
122      }
123    
124      protected void processImageStarted(int imageIndex)
125      {
126        Iterator it = progressListeners.iterator();
127    
128        while (it.hasNext())
129          {
130            IIOWriteProgressListener listener = (IIOWriteProgressListener) it.next();
131            listener.imageStarted(this, imageIndex);
132          }
133      }
134    
135      protected void processThumbnailComplete()
136      {
137        Iterator it = progressListeners.iterator();
138    
139        while (it.hasNext())
140          {
141            IIOWriteProgressListener listener = (IIOWriteProgressListener) it.next();
142            listener.thumbnailComplete(this);
143          }
144      }
145    
146      protected void processThumbnailProgress(float percentageDone)
147      {
148        Iterator it = progressListeners.iterator();
149    
150        while (it.hasNext())
151          {
152            IIOWriteProgressListener listener = (IIOWriteProgressListener) it.next();
153            listener.thumbnailProgress(this, percentageDone);
154          }
155      }
156    
157      protected void processThumbnailStarted(int imageIndex, int thumbnailIndex)
158      {
159        Iterator it = progressListeners.iterator();
160    
161        while (it.hasNext())
162          {
163            IIOWriteProgressListener listener = (IIOWriteProgressListener) it.next();
164            listener.thumbnailStarted(this, imageIndex, thumbnailIndex);
165          }
166      }
167    
168      protected void processWarningOccurred(int imageIndex, String warning)
169      {
170        Iterator it = warningListeners.iterator();
171    
172        while (it.hasNext())
173          {
174            IIOWriteWarningListener listener = (IIOWriteWarningListener) it.next();
175            listener.warningOccurred(this, imageIndex, warning);
176          }
177      }
178    
179      protected void processWriteAborted()
180      {
181        Iterator it = progressListeners.iterator();
182    
183        while (it.hasNext())
184          {
185            IIOWriteProgressListener listener = (IIOWriteProgressListener) it.next();
186            listener.writeAborted(this);
187          }
188      }
189    
190      public void removeAllIIOWriteProgressListeners()
191      {
192        progressListeners.clear();
193      }
194    
195      public void removeAllIIOWriteWarningListeners()
196      {
197        progressListeners.clear();
198      }
199      
200      public void removeIIOWriteProgressListener (IIOWriteProgressListener listener)
201      {
202        if (listener == null)
203          return;
204        
205        progressListeners.remove(listener);
206      }
207      
208      public void removeIIOWriteWarningListener (IIOWriteWarningListener listener)
209      {
210        if (listener == null)
211          return;
212        
213        warningListeners.remove(listener);
214      }
215  }  }

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

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