示例#1
0
  public Rectangle getItemBounds(TreeMap subtree) {
    Rectangle rect = getClientArea();
    int x = rect.x - (int) frame.offsetX;
    int y = rect.y - (int) frame.offsetY;
    int extent = (int) (Math.min(rect.width, rect.height) * frame.scale);

    TreeMap tree = treeMap;
    while (!tree.getNetblock().equals(subtree.getNetblock())) {
      int h = curve.getIndex(tree.getNetblock(), subtree.getNetblock());
      int xi = h % 16;
      int yi = h / 16;
      x = x + (xi * extent / 16);
      y = y + (yi * extent / 16);
      extent = extent / 16;
      tree = tree.getSubTree(subtree.getNetblock());
    }
    return new Rectangle(x, y, extent, extent);
  }