summaryrefslogtreecommitdiff
path: root/gnu/java/awt/peer
diff options
context:
space:
mode:
authorMark Wielaard <mark@klomp.org>2005-11-21 22:46:49 +0000
committerMark Wielaard <mark@klomp.org>2005-11-21 22:46:49 +0000
commitf125b2420673c979752d4d66b530a1c6bb286366 (patch)
tree530116f5f9828733c743aeaed16d90d3d5931440 /gnu/java/awt/peer
parent56f5a070e394ccc44d04de92499eab17745f8e5c (diff)
downloadclasspath-f125b2420673c979752d4d66b530a1c6bb286366.tar.gz
* gnu/java/awt/image/ImageDecoder.java (datainput): New field.
(ImageDecoder(DataInput)): New constructor. (startProduction): Create DataInputStreamWrapper when datainput set. (DataInputStreamWrapper): New private static helper class. * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java (GdkPixbufDecoder(DataInput)): New constructor. (setInput): Check whether getInput() results in an InputStream or DataInput.
Diffstat (limited to 'gnu/java/awt/peer')
-rw-r--r--gnu/java/awt/peer/gtk/GdkPixbufDecoder.java15
1 files changed, 14 insertions, 1 deletions
diff --git a/gnu/java/awt/peer/gtk/GdkPixbufDecoder.java b/gnu/java/awt/peer/gtk/GdkPixbufDecoder.java
index 85cb1e47a..054ebaaae 100644
--- a/gnu/java/awt/peer/gtk/GdkPixbufDecoder.java
+++ b/gnu/java/awt/peer/gtk/GdkPixbufDecoder.java
@@ -47,6 +47,7 @@ import java.awt.image.ImageConsumer;
import java.awt.image.ImageProducer;
import java.awt.image.Raster;
import java.awt.image.RenderedImage;
+import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
import java.io.InputStream;
@@ -102,6 +103,11 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder
0x00ff0000,
0x0000ff00,
0x000000ff);
+ public GdkPixbufDecoder (DataInput datainput)
+ {
+ super (datainput);
+ }
+
public GdkPixbufDecoder (InputStream in)
{
super (in);
@@ -630,7 +636,14 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder
boolean ignoreMetadata)
{
super.setInput(input, seekForwardOnly, ignoreMetadata);
- dec = new GdkPixbufDecoder((InputStream) getInput());
+ Object get = getInput();
+ if (get instanceof InputStream)
+ dec = new GdkPixbufDecoder((InputStream) get);
+ else if (get instanceof DataInput)
+ dec = new GdkPixbufDecoder((DataInput) get);
+ else
+ throw new IllegalArgumentException("input object not supported: "
+ + get);
}
public BufferedImage read(int imageIndex, ImageReadParam param)