summaryrefslogtreecommitdiff
path: root/tree/form.c
diff options
context:
space:
mode:
Diffstat (limited to 'tree/form.c')
-rw-r--r--tree/form.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/tree/form.c b/tree/form.c
new file mode 100644
index 00000000..dd45aad9
--- /dev/null
+++ b/tree/form.c
@@ -0,0 +1,30 @@
+#include <fitz.h>
+
+fz_error *
+fz_newform(fz_node **nodep, fz_tree *child)
+{
+ fz_form *node;
+
+ node = fz_malloc(sizeof (fz_form));
+ if (!node)
+ return fz_outofmem;
+ *nodep = (fz_node*)node;
+
+ fz_initnode((fz_node*)node, FZ_NFORM);
+ node->tree = child;
+
+ return nil;
+}
+
+void
+fz_freeform(fz_form *node)
+{
+ fz_free(node);
+}
+
+fz_rect
+fz_boundform(fz_form *node, fz_matrix ctm)
+{
+ return fz_boundtree(node->tree, ctm);
+}
+