[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[cp-patches] GtkToolkit createImage() returning ErrorImages
From: |
Mark Wielaard |
Subject: |
[cp-patches] GtkToolkit createImage() returning ErrorImages |
Date: |
Sat, 03 Sep 2005 21:56:31 +0200 |
Hi,
Is there a reason why the GtkToolkit createImage() methods only return
an ErrorImage on failure in the case of Graphics2D/BufferedImage
availability? This patch makes them behave similar:
2005-09-03 Mark Wielaard <address@hidden>
* gnu/java/awt/peer/gtk/GtkToolkit.java (bufferedImageOrError):
Renamed to ...
(imageOrError): Renamed from bufferedImageOrError, takes Image.
(createImage(String)): Always use imageOrError.
(createImage(URL)): Likewise.
(createImage(ImageProducer)): Likewise.
(createImage(byte[],int,int)): Likewise.
Does that makes sense?
Cheers,
Mark
Index: gnu/java/awt/peer/gtk/GtkToolkit.java
===================================================================
RCS file: /cvsroot/classpath/classpath/gnu/java/awt/peer/gtk/GtkToolkit.java,v
retrieving revision 1.79
diff -u -r1.79 GtkToolkit.java
--- gnu/java/awt/peer/gtk/GtkToolkit.java 2 Sep 2005 09:15:22 -0000
1.79
+++ gnu/java/awt/peer/gtk/GtkToolkit.java 3 Sep 2005 19:54:24 -0000
@@ -237,11 +237,10 @@
/**
- * Helper to return either a BufferedImage -- the argument -- or a
+ * Helper to return either a Image -- the argument -- or a
* GtkErrorImage if the argument is null.
*/
-
- private Image bufferedImageOrError(BufferedImage b)
+ private Image imageOrError(Image b)
{
if (b == null)
return new GtkErrorImage();
@@ -249,47 +248,82 @@
return b;
}
-
public Image createImage (String filename)
{
if (filename.length() == 0)
return new GtkImage ();
-
- if (useGraphics2D())
- return bufferedImageOrError(GdkPixbufDecoder.createBufferedImage
(filename));
- else
- return new GtkImage (filename);
+
+ Image image;
+ try
+ {
+ if (useGraphics2D())
+ image = GdkPixbufDecoder.createBufferedImage(filename);
+ else
+ image = new GtkImage(filename);
+ }
+ catch (IllegalArgumentException iae)
+ {
+ image = null;
+ }
+ return imageOrError(image);
}
public Image createImage (URL url)
{
- if (useGraphics2D())
- return bufferedImageOrError(GdkPixbufDecoder.createBufferedImage (url));
- else
- return new GtkImage (url);
+ Image image;
+ try
+ {
+ if (useGraphics2D())
+ image = GdkPixbufDecoder.createBufferedImage(url);
+ else
+ image = new GtkImage(url);
+ }
+ catch (IllegalArgumentException iae)
+ {
+ image = null;
+ }
+ return imageOrError(image);
}
public Image createImage (ImageProducer producer)
{
- if (useGraphics2D())
- return bufferedImageOrError(GdkPixbufDecoder.createBufferedImage
(producer));
- else
- return new GtkImage (producer);
+ Image image;
+ try
+ {
+ if (useGraphics2D())
+ image = GdkPixbufDecoder.createBufferedImage(producer);
+ else
+ image = new GtkImage(producer);
+ }
+ catch (IllegalArgumentException iae)
+ {
+ image = null;
+ }
+ return imageOrError(image);
}
public Image createImage (byte[] imagedata, int imageoffset,
int imagelength)
{
- if (useGraphics2D())
- return bufferedImageOrError(GdkPixbufDecoder.createBufferedImage
(imagedata,
- imageoffset,
-
imagelength));
- else
+ Image image;
+ try
+ {
+ if (useGraphics2D())
+ image = GdkPixbufDecoder.createBufferedImage(imagedata,
+ imageoffset,
+ imagelength);
+ else
+ {
+ byte[] datacopy = new byte[imagelength];
+ System.arraycopy(imagedata, imageoffset, datacopy, 0, imagelength);
+ return new GtkImage(datacopy);
+ }
+ }
+ catch (IllegalArgumentException iae)
{
- byte[] datacopy = new byte[imagelength];
- System.arraycopy (imagedata, imageoffset, datacopy, 0, imagelength);
- return new GtkImage (datacopy);
+ image = null;
}
+ return imageOrError(image);
}
/**
signature.asc
Description: This is a digitally signed message part
- [cp-patches] GtkToolkit createImage() returning ErrorImages,
Mark Wielaard <=