import org.ibex.util.*;
import org.ibex.plat.*;
import org.ibex.graphics.*;
+import org.ibex.core.builtin.*;
/** Entry point for the Ibex Engine; handles splash screen, initial xwar loading, and argument processing */
public class Main {
final Ibex ibex = new Ibex(rr);
org.ibex.graphics.Surface.scarImage =
- Picture.load(Main.builtin.get(JS.S("org/ibex/core/builtin/scar.png")),
+ Picture.load(new Stream.FromInputStream(Encode.JavaSourceCode.decode(Scar.data)),
new Task() { public void perform() throws JSExn, UnknownHostException {
if (Log.on) Log.info(Main.class, "invoking initial template");
ibex.resolveString(startupTemplate, false).call(new Box(), null, null, null, 1);
public InputStream getInputStream() throws IOException { return Platform.getBuiltinInputStream(); }
}
+ /** the Builtin resource */
+ public static class FromInputStream extends Stream {
+ private final InputStream is;
+ public FromInputStream(InputStream is) { this.is = is; }
+ public String getCacheKey() throws NotCacheableException { throw new NotCacheableException(); }
+ public InputStream getInputStream() throws IOException { return is; }
+ }
+
/** shadow resource which replaces the graft */
public static class ProgressWatcher extends Stream {
final Stream watchee;