-// Copyright 2004 Adam Megacz, see the COPYING file for licensing [GPL]
+// Copyright 2000-2005 the Contributors, as shown in the revision logs.
+// Licensed under the GNU General Public License version 2 ("the License").
+// You may not use this file except in compliance with the License.
+
package org.ibex.graphics;
import java.io.*;
import org.ibex.js.*;
public Picture() { this.stream = null; }
public Picture(JS r) { this.stream = r; }
- private static Cache cache = new Cache(100); ///< Picture, keyed by the Stream that loaded them
+ private static Cache cache = new Cache(100, true); ///< Picture, keyed by the Stream that loaded them
public JS stream = null; ///< the stream we were loaded from
public int width = -1; ///< the width of the image
protected void loaded() { isLoaded = true; }
/** turns a stream into a Picture.Source and passes it to the callback */
- public static Picture load(final JS stream, final Task callback) {
+ public static Picture load(final JS stream, final Callable callback) {
if(stream == null) throw new NullPointerException();
Picture ret = (Picture)cache.get(stream);
if (ret == null) {
new java.lang.Thread() { public void run() {
InputStream in = null;
try {
- in = b == null ? Stream.getInputStream(stream) : b.getImage();
- } catch (IOException e) { Log.error(Picture.class, e);
+ in = b == null ? JSU.getInputStream(stream) : b.getImage();
+ //} catch (IOException e) { Log.error(Picture.class, e);
} catch (JSExn e) { Log.error(Picture.class, e);
}
if (in == null) { Log.warn(Picture.class, "couldn't load image for stream " + stream.unclone()); return; }