/[classpath]/classpath/gnu/java/awt/peer/gtk/GtkToolkit.java
ViewVC logotype

Diff of /classpath/gnu/java/awt/peer/gtk/GtkToolkit.java

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

revision 1.52 by mark, Sat Jun 26 16:06:47 2004 UTC revision 1.53 by mark, Thu Jul 22 19:45:38 2004 UTC
# Line 44  import java.awt.dnd.DragGestureEvent; Line 44  import java.awt.dnd.DragGestureEvent;
44  import java.awt.dnd.peer.DragSourceContextPeer;  import java.awt.dnd.peer.DragSourceContextPeer;
45  import java.awt.font.TextAttribute;  import java.awt.font.TextAttribute;
46  import java.awt.im.InputMethodHighlight;  import java.awt.im.InputMethodHighlight;
47    import java.awt.image.BufferedImage;
48  import java.awt.image.ColorModel;  import java.awt.image.ColorModel;
49  import java.awt.image.ImageObserver;  import java.awt.image.ImageObserver;
50    import java.awt.image.ImageConsumer;
51  import java.awt.image.ImageProducer;  import java.awt.image.ImageProducer;
52  import java.awt.GraphicsEnvironment;  import java.awt.GraphicsEnvironment;
53  import java.awt.peer.*;  import java.awt.peer.*;
54  import java.net.URL;  import java.net.URL;
55    import java.util.HashSet;
56  import java.util.Hashtable;  import java.util.Hashtable;
57    import java.util.Iterator;
58  import java.util.Map;  import java.util.Map;
59  import java.util.MissingResourceException;  import java.util.MissingResourceException;
60  import java.util.Properties;  import java.util.Properties;
# Line 127  public class GtkToolkit extends gnu.java Line 131  public class GtkToolkit extends gnu.java
131      return status;      return status;
132    }    }
133    
134      /**
135       * A helper class to return to clients in cases where a BufferedImage is
136       * desired but its construction fails.
137       */
138      private class GtkErrorImage extends Image
139      {
140        public GtkErrorImage()
141        {
142        }
143    
144        public int getWidth(ImageObserver observer)
145        {
146          return -1;
147        }
148    
149        public int getHeight(ImageObserver observer)
150        {
151          return -1;
152        }
153    
154        public ImageProducer getSource()
155        {
156    
157          return new ImageProducer()
158            {          
159              HashSet consumers = new HashSet();          
160              public void addConsumer(ImageConsumer ic)
161              {
162                consumers.add(ic);
163              }
164    
165              public boolean isConsumer(ImageConsumer ic)
166              {
167                return consumers.contains(ic);
168              }
169    
170              public void removeConsumer(ImageConsumer ic)
171              {
172                consumers.remove(ic);
173              }
174    
175              public void startProduction(ImageConsumer ic)
176              {
177                consumers.add(ic);
178                Iterator i = consumers.iterator();
179                while(i.hasNext())
180                  {
181                    ImageConsumer c = (ImageConsumer) i.next();
182                    c.imageComplete(ImageConsumer.IMAGEERROR);
183                  }
184              }
185              public void requestTopDownLeftRightResend(ImageConsumer ic)
186              {
187                startProduction(ic);
188              }        
189            };
190        }
191    
192        public Graphics getGraphics()
193        {
194          return null;
195        }
196    
197        public Object getProperty(String name, ImageObserver observer)
198        {
199          return null;
200        }
201        public Image getScaledInstance(int width, int height, int flags)
202        {
203          return new GtkErrorImage();
204        }
205    
206        public void flush()
207        {
208        }
209      }
210    
211    
212      /**
213       * Helper to return either a BufferedImage -- the argument -- or a
214       * GtkErrorImage if the argument is null.
215       */
216    
217      private Image bufferedImageOrError(BufferedImage b)
218      {
219        if (b == null)
220          return new GtkErrorImage();
221        else
222          return b;
223      }
224    
225    
226    public Image createImage (String filename)    public Image createImage (String filename)
227    {    {
228      if (useGraphics2D())      if (useGraphics2D())
229        return GdkPixbufDecoder.createBufferedImage (filename);        return bufferedImageOrError(GdkPixbufDecoder.createBufferedImage (filename));
230      else      else
231        {        {
232          GdkPixbufDecoder d = new GdkPixbufDecoder (filename);          GdkPixbufDecoder d = new GdkPixbufDecoder (filename);
# Line 143  public class GtkToolkit extends gnu.java Line 239  public class GtkToolkit extends gnu.java
239    public Image createImage (URL url)    public Image createImage (URL url)
240    {    {
241      if (useGraphics2D())      if (useGraphics2D())
242        return GdkPixbufDecoder.createBufferedImage (url);        return bufferedImageOrError(GdkPixbufDecoder.createBufferedImage (url));
243      else      else
244        {        {
245          GdkPixbufDecoder d = new GdkPixbufDecoder (url);          GdkPixbufDecoder d = new GdkPixbufDecoder (url);
# Line 156  public class GtkToolkit extends gnu.java Line 252  public class GtkToolkit extends gnu.java
252    public Image createImage (ImageProducer producer)    public Image createImage (ImageProducer producer)
253    {    {
254      if (useGraphics2D())      if (useGraphics2D())
255        return GdkPixbufDecoder.createBufferedImage (producer);        return bufferedImageOrError(GdkPixbufDecoder.createBufferedImage (producer));
256      else      else
257        {        {
258          GtkImage image = new GtkImage (producer, null);          GtkImage image = new GtkImage (producer, null);
# Line 169  public class GtkToolkit extends gnu.java Line 265  public class GtkToolkit extends gnu.java
265                              int imagelength)                              int imagelength)
266    {    {
267      if (useGraphics2D())      if (useGraphics2D())
268        return GdkPixbufDecoder.createBufferedImage (imagedata,        return bufferedImageOrError(GdkPixbufDecoder.createBufferedImage (imagedata,
269                                                     imageoffset,                                                     imageoffset,
270                                                     imagelength);                                                                          imagelength));
271      else      else
272        {        {
273          GdkPixbufDecoder d = new GdkPixbufDecoder (imagedata,          GdkPixbufDecoder d = new GdkPixbufDecoder (imagedata,

Legend:
Removed from v.1.52  
changed lines
  Added in v.1.53

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