public static RenderNode ConvertFromNode(Node root) { RenderNode newNode = MakeNode(root, 0, 0); newNode.isRoot = true; newNode.EstimateXBounds(); newNode.Arrange(); newNode.ApplyXOffset(); return(newNode); }
private void ApplyXOffset(int offsetStack) { x += offsetStack; xMin += offsetStack; xMax += offsetStack; if (left != null) { left.ApplyXOffset(offsetStack + left.xOffset); MergeBounds(left, false); } if (right != null) { right.ApplyXOffset(offsetStack + right.xOffset); MergeBounds(right, false); } }