2003/11/19 06:18:45
authormegacz <megacz@xwt.org>
Fri, 30 Jan 2004 07:41:57 +0000 (07:41 +0000)
committermegacz <megacz@xwt.org>
Fri, 30 Jan 2004 07:41:57 +0000 (07:41 +0000)
darcs-hash:20040130074157-2ba56-0f491d3eebb2796240e6eb04b95d1a16d2135220.gz

src/org/xwt/Font.java
src/org/xwt/Res.java
src/org/xwt/Template.java
src/org/xwt/XWT.java

index c9f7566..0de8204 100644 (file)
@@ -85,6 +85,7 @@ public class Font {
         }
         if (!latinCharsPreloaded || encounteredUnrenderedGlyph) Scheduler.add(glyphRenderingTask);
         latinCharsPreloaded = true;
+        if (encounteredUnrenderedGlyph) return -1;
         return ((((long)width) << 32) | (long)(height & 0xffffffffL));
     }
 
index ae2b50f..7da19ce 100644 (file)
@@ -19,7 +19,6 @@ public abstract class Res extends JS {
     /** so that we get the same subresource each time */
     private Hash refCache = null;
 
-    /** FIXME: needed? good idea? */
     public Template t = null;
 
     public final InputStream getInputStream() throws IOException { return getInputStream(""); }
@@ -50,7 +49,6 @@ public abstract class Res extends JS {
     /** if it makes sense to cache a resource, the resource must return a unique key */
     public String getCacheKey() throws NotCacheableException { throw notCacheable; }
 
-    // FIXME: general cleanup
     /** subclass from this if you want a CachedInputStream for each path */
     public static class CachedRes extends Res {
         private Res parent;
index 90f5565..a4cf686 100644 (file)
@@ -69,8 +69,7 @@ public class Template {
     public static Res resolveStringToResource(String str, XWT xwt, boolean permitAbsolute) {
         // URL
         if (str.indexOf("://") != -1) {
-            // FIXME
-            //if (permitAbsolute) return Res.fromString(str);
+            if (permitAbsolute) return (Res)xwt.callMethod("res.url", str, null, null, null, 1);
             Log.log(Template.class, "absolute URL " + str + " not permitted here");
             return null;
         }
index 4e3b3e1..d3c53fd 100644 (file)
@@ -117,11 +117,7 @@ public final class XWT extends JS {
     }
 
     public Object callMethod(Object name, Object a, Object b, Object c, Object[] rest, int nargs) throws JSExn {
-        if (name.equals("date")) {
-            JSArray args = new JSArray();
-            for(int i=0; i<nargs; i++) args.addElement(i==0?a:i==1?b:i==2?c:rest[i-3]);
-            return new org.xwt.js.JSDate(args);
-        }
+        if (name.equals("date")) return new JSDate(a, b, c, rest, nargs);
         else if (nargs == 0 && name.equals("thread.yield")) { sleep(0); return null; }
         else if (nargs == 2) {
             //#switch(name)
@@ -132,17 +128,9 @@ public final class XWT extends JS {
                 return a;
             //#end
         } else if (nargs == 3 && name.equals("soap")) {
-            if (name.equals("soap")) {
+            if (name.equals("soap"))
                 return new SOAP((String)a, "", (String)b, (String)c);
-                /* FIXME
-            } else if (name.equals("graft")) {
-                if (a instanceof Box) throw new JSExn("can't graft onto Boxes (yet)");
-                if (a instanceof Number) throw new JSExn("can't graft onto Numbers (yet)");
-                if (a instanceof String) throw new JSExn("can't graft onto Strings (yet)");
-                if (a instanceof Res) return new Res.Graft((Res)a, b, c);
-                return new JS.Graft((JS)a, b, c);
-                */
-            }
+
         } else if (nargs == 1) {
             //#switch(name)
             case "ui.browser": Platform.newBrowserWindow((String)a); return null;