package org.iplantc.phyloviewer.shared.scene; import org.iplantc.phyloviewer.shared.layout.ILayoutData; import org.iplantc.phyloviewer.shared.model.IDocument; import org.iplantc.phyloviewer.shared.model.INode; public interface IDrawableBuilder { /** * Build drawables for a node. * @param node * @param document * @param layout * @return */ public Drawable[] buildNode(INode node, IDocument document, ILayoutData layout); /** * Build drawables for a branch from parent to child. * @param parent * @param child * @param layout * @return */ public Drawable[] buildBranch(INode parent, INode child, IDocument document, ILayoutData layout); /** * * @param node * @param document * @param layout * @return */ public Drawable buildText(INode node, IDocument document, ILayoutData layout); /** * * @param node * @param document * @param layout * @return */ public Drawable[] buildNodeAbstraction(INode node, IDocument document, ILayoutData layout); }