own treelayout class
diff --git a/demo/treelayout.cpp b/demo/treelayout.cpp
new file mode 100644
index 0000000..0a40484
--- /dev/null
+++ b/demo/treelayout.cpp
@@ -0,0 +1,20 @@
+#include "treelayout.h"
+
+void
+OneLevelTreeLayout::setOneLevelLayout(std::vector<Coordinate> &childNodesCo)
+{
+  if (childNodesCo.empty())
+  {
+    return;
+  }
+  double y = getLevelDistance();
+  double sd = getSiblingDistance();
+  int n = childNodesCo.size();
+  double x = - (n - 1) * sd / 2;
+  for (int i = 0; i < n; i++)
+  {
+    childNodesCo[i].x = x;
+    childNodesCo[i].y = y;
+    x += sd;
+  }
+}