From: megacz Date: Fri, 30 Jan 2004 07:35:36 +0000 (+0000) Subject: 2003/09/15 20:24:42 X-Git-Tag: RC3~616 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=1e651bf5d79cc35fa6212766ed4a958cb265fad0;p=org.ibex.core.git 2003/09/15 20:24:42 darcs-hash:20040130073536-2ba56-57c00deda62b6c557f13bacda0f56a87f2d1667d.gz --- diff --git a/src/org/xwt/Platform.java b/src/org/xwt/Platform.java index fcdc9d9..e5768f0 100644 --- a/src/org/xwt/Platform.java +++ b/src/org/xwt/Platform.java @@ -211,15 +211,12 @@ public class Platform { /** returns an InputStream to the builtin xwar */ protected InputStream _getBuiltinInputStream() { - try { - return new FileInputStream("builtin.xwar"); - /* - return new ByteArrayInputStream(org.bouncycastle.util.encoders.Base64.decode(org.xwt.Builtin.encoded)); - */ - } catch (Exception e) { - Log.log(this, e); - return null; - } + return this.getClass().getClassLoader().getResourceAsStream("org/xwt/builtin.xwar"); + } + + /** returns an InputStream to the builtin xwar */ + protected InputStream _getFreetypeInputStream() { + return this.getClass().getClassLoader().getResourceAsStream("org/xwt/freetype.mips"); } /** returns the value of the environment variable key, or null if no such key exists */ @@ -315,6 +312,9 @@ public class Platform { /** returns an InputStream to the builtin xwar */ public static InputStream getBuiltinInputStream() { return platform._getBuiltinInputStream(); } + /** returns an InputStream to the freetype mips binary */ + public static InputStream getFreetypeInputStream() { return platform._getFreetypeInputStream(); } + /** creates and returns a picture */ public static Picture createPicture(ImageDecoder i) { return platform._createPicture(i.getData(), i.getWidth(), i.getHeight()); } diff --git a/src/org/xwt/plat/GCJ.cc b/src/org/xwt/plat/GCJ.cc index f53fae2..c9d336d 100644 --- a/src/org/xwt/plat/GCJ.cc +++ b/src/org/xwt/plat/GCJ.cc @@ -23,6 +23,32 @@ extern "C" { +// builtin.xwar ///////////////////////////////////////////////////////// + +extern unsigned char builtin_xwar[]; +extern int builtin_xwar_length; + +java::io::InputStream* org::xwt::plat::GCJ::_getBuiltinInputStream() { + jbyteArray ret = JvNewByteArray(builtin_xwar_length); + memcpy(elements(ret), builtin_xwar, builtin_xwar_length); + return new java::io::ByteArrayInputStream(ret); +} + + +// freetype.mips ///////////////////////////////////////////////////////// + +extern unsigned char freetype_mips[]; +extern int freetype_mips_length; + +java::io::InputStream* org::xwt::plat::GCJ::_getFreetypeInputStream() { + jbyteArray ret = JvNewByteArray(freetype_mips_length); + memcpy(elements(ret), freetype_mips, freetype_mips_length); + return new java::io::ByteArrayInputStream(ret); +} + + + + // JPEG //////////////////////////////////////////////////////////////// #define INPUT_BUF_SIZE (1024 * 16) diff --git a/src/org/xwt/plat/GCJ.java b/src/org/xwt/plat/GCJ.java index 98f3d9b..f923516 100644 --- a/src/org/xwt/plat/GCJ.java +++ b/src/org/xwt/plat/GCJ.java @@ -21,6 +21,9 @@ public abstract class GCJ extends Platform { protected org.xwt.Weak _getWeak(Object o) { return new Java2Weak(o); } + protected native InputStream _getBuiltinInputStream(); + protected native InputStream _getFreetypeInputStream(); + private static class Java2Weak extends java.lang.ref.WeakReference implements org.xwt.Weak { public Java2Weak(Object o) { super(o); } }