示例#1
0
  public Resource getcurs(Coord c) {
    Resource ret;

    for (Widget wdg = lchild; wdg != null; wdg = wdg.prev) {
      if (!wdg.visible) continue;
      Coord cc = xlate(wdg.c, true);
      if (c.isect(cc, wdg.sz)) {
        if ((ret = wdg.getcurs(c.add(cc.inv()))) != null) return (ret);
      }
    }
    try {
      return ((cursor == null) ? null : cursor.get());
    } catch (Loading l) {
      return (null);
    }
  }
示例#2
0
 public static Factory gettype2(String name) throws InterruptedException {
   if (name.indexOf('/') < 0) {
     synchronized (types) {
       return (types.get(name));
     }
   } else {
     int ver = -1, p;
     if ((p = name.indexOf(':')) > 0) {
       ver = Integer.parseInt(name.substring(p + 1));
       name = name.substring(0, p);
     }
     Indir<Resource> res = Resource.remote().load(name, ver);
     while (true) {
       try {
         return (res.get().getcode(Factory.class, true));
       } catch (Loading l) {
         l.waitfor();
       }
     }
   }
 }