summaryrefslogtreecommitdiff
path: root/gnu/java/awt/image/ImageDecoder.java
diff options
context:
space:
mode:
authorPaul Fisher <rao@gnu.org>1999-11-16 01:20:55 +0000
committerPaul Fisher <rao@gnu.org>1999-11-16 01:20:55 +0000
commit18e94d9c101de1d16a61e649d908277d915b5999 (patch)
treeaa6a91d709be406ead69707541c17cefcc5ef92c /gnu/java/awt/image/ImageDecoder.java
parentde629bc23bc2c1c4e2482e3e67221cf785bc21cc (diff)
downloadclasspath-18e94d9c101de1d16a61e649d908277d915b5999.tar.gz
Change framework to allow for proper reloading of image data.
Diffstat (limited to 'gnu/java/awt/image/ImageDecoder.java')
-rw-r--r--gnu/java/awt/image/ImageDecoder.java22
1 files changed, 17 insertions, 5 deletions
diff --git a/gnu/java/awt/image/ImageDecoder.java b/gnu/java/awt/image/ImageDecoder.java
index 82d035777..a665e4946 100644
--- a/gnu/java/awt/image/ImageDecoder.java
+++ b/gnu/java/awt/image/ImageDecoder.java
@@ -4,14 +4,22 @@ import java.awt.*;
import java.awt.image.*;
import java.util.*;
import java.io.*;
+import java.net.URL;
public abstract class ImageDecoder implements ImageProducer
{
- Vector consumers;
+ Vector consumers = new Vector ();
+ String filename;
+ URL url;
- public ImageDecoder ()
+ public ImageDecoder (String filename)
{
- consumers = new Vector ();
+ this.filename = filename;
+ }
+
+ public ImageDecoder (URL url)
+ {
+ this.url = url;
}
public void addConsumer (ImageConsumer ic)
@@ -35,7 +43,10 @@ public abstract class ImageDecoder implements ImageProducer
Vector list = (Vector) consumers.clone ();
try
{
- produce (list);
+ FileInputStream is = (url == null) ? new FileInputStream (filename) :
+ (FileInputStream) url.openStream();
+
+ produce (list, is);
}
catch (IOException e)
{
@@ -51,5 +62,6 @@ public abstract class ImageDecoder implements ImageProducer
{
}
- public abstract void produce (Vector v) throws IOException;
+ public abstract void produce (Vector v, FileInputStream is)
+ throws IOException;
}