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); } }
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(); } } } }