From f125b2420673c979752d4d66b530a1c6bb286366 Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Mon, 21 Nov 2005 22:46:49 +0000 Subject: * 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. --- gnu/java/awt/peer/gtk/GdkPixbufDecoder.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'gnu/java/awt/peer') 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) -- cgit v1.2.1