37 lines
823 B
Java
37 lines
823 B
Java
package mindustry.ui.layout;
|
|
|
|
import arc.struct.*;
|
|
|
|
public class RowTreeLayout implements TreeLayout{
|
|
|
|
@Override
|
|
public void layout(TreeNode root){
|
|
layout(root, 0, new IntSeq());
|
|
|
|
/*
|
|
def minimum_ws(tree, depth=0):
|
|
tree.x = nexts[depth]
|
|
tree.y = depth
|
|
nexts[depth] += 1
|
|
for c in tree.children:
|
|
minimum_ws(tree, c)
|
|
*/
|
|
}
|
|
|
|
void layout(TreeNode node, int depth, IntSeq nexts){
|
|
float size = node.height * 5f;
|
|
|
|
if(nexts.size < depth + 1){
|
|
nexts.ensureCapacity(depth + 1);
|
|
nexts.size = depth + 1;
|
|
}
|
|
|
|
node.x = size * nexts.get(depth);
|
|
node.y = size * depth;
|
|
nexts.incr(depth, 1);
|
|
for(TreeNode child : node.children){
|
|
layout(child, depth + 1, nexts);
|
|
}
|
|
}
|
|
}
|