]> git.sur5r.net Git - i3/i3/blobdiff - render-tree/Con.pm
add proof-of-concept perl script to render the tree to SVG
[i3/i3] / render-tree / Con.pm
diff --git a/render-tree/Con.pm b/render-tree/Con.pm
new file mode 100644 (file)
index 0000000..1830caf
--- /dev/null
@@ -0,0 +1,21 @@
+# vim:ts=4:sw=4:expandtab
+package Con;
+
+use Moose;
+use MooseX::AttributeHelpers;
+use v5.10;
+
+has 'name' => (is => 'ro', isa => 'Str');
+has 'width' => (is => 'rw', isa => 'Int', default => 100);
+has '_nodes' => (is => 'ro', metaclass => 'Collection::Array', isa => 'ArrayRef[Con]',
+    default => sub { [] },
+    provides => {
+        'push' => 'add_node',
+        elements => 'nodes',
+    }
+);
+has 'parent' => (is => 'rw', isa => 'Con', predicate => 'has_parent');
+
+__PACKAGE__->meta->make_immutable;
+
+1