package org.xwt.translators;
-import org.xwt.*;
-import org.xwt.util.*;
+import org.ibex.*;
+import org.ibex.util.*;
import java.io.*;
-import java.util.zip.*;
-import java.util.*;
-import org.bouncycastle.util.encoders.Base64;
import org.xwt.mips.Runtime;
loadedStream = res;
InputStream is = Stream.getInputStream(res);
byte[] fontstream = InputStreamToByteArray.convert(is);
- vm = new MIPSApps();
+ vm = (Runtime)Class.forName("org.xwt.translators.MIPSApps").newInstance();
int baseAddr = vm.sbrk(fontstream.length);
vm.copyout(fontstream, baseAddr, fontstream.length);
vm.setUserInfo(0, baseAddr);
public synchronized void renderGlyph(Font.Glyph glyph) throws IOException {
try {
- if (loadedStream != glyph.font.res) loadFontByteStream(glyph.font.res);
+ Log.debug(this, "rasterizing glyph " + glyph.c + " of font " + glyph.font);
+ if (loadedStream != glyph.font.stream) loadFontByteStream(glyph.font.stream);
vm.setUserInfo(2, (int)glyph.c);
vm.setUserInfo(3, (int)glyph.c);
vm.setUserInfo(4, glyph.font.pointsize);
glyph.data = new byte[glyph.width * glyph.height];
int addr = vm.getUserInfo(5);
vm.copyin(addr, glyph.data, glyph.width * glyph.height);
+ glyph.isLoaded = true;
} catch (Exception e) {
Log.info(this, e);