diff options
Diffstat (limited to 'tree/node2.c')
-rw-r--r-- | tree/node2.c | 338 |
1 files changed, 0 insertions, 338 deletions
diff --git a/tree/node2.c b/tree/node2.c deleted file mode 100644 index f21ebf36..00000000 --- a/tree/node2.c +++ /dev/null @@ -1,338 +0,0 @@ -#include <fitz.h> - -/* - * Over - */ - -fz_error * -fz_newovernode(fz_node **nodep) -{ - fz_node *node; - - node = *nodep = fz_malloc(sizeof (fz_overnode)); - if (!node) - return fz_outofmem; - - fz_initnode(node, FZ_NOVER); - - return nil; -} - -fz_rect -fz_boundovernode(fz_overnode *node, fz_matrix ctm) -{ - fz_node *child; - fz_rect bbox; - fz_rect temp; - - child = node->super.first; - if (!child) - return fz_emptyrect; - - bbox = fz_boundnode(child, ctm); - - child = child->next; - while (child) - { - temp = fz_boundnode(child, ctm); - bbox = fz_mergerects(temp, bbox); - child = child->next; - } - - return bbox; -} - -/* - * Mask - */ - -fz_error * -fz_newmasknode(fz_node **nodep) -{ - fz_node *node; - - node = *nodep = fz_malloc(sizeof (fz_masknode)); - if (!node) - return fz_outofmem; - - fz_initnode(node, FZ_NMASK); - - return nil; -} - -fz_rect -fz_boundmasknode(fz_masknode *node, fz_matrix ctm) -{ - fz_node *shape; - fz_node *color; - fz_rect one, two; - - shape = node->super.first; - color = shape->next; - - one = fz_boundnode(shape, ctm); - two = fz_boundnode(color, ctm); - return fz_intersectrects(one, two); -} - -/* - * Blend - */ - -fz_error * -fz_newblendnode(fz_node **nodep, fz_colorspace *cs, fz_blendkind b, int k, int i) -{ - fz_blendnode *node; - - node = fz_malloc(sizeof (fz_blendnode)); - if (!node) - return fz_outofmem; - *nodep = (fz_node*)node; - - fz_initnode((fz_node*)node, FZ_NBLEND); - node->cs = fz_keepcolorspace(cs); - node->mode = b; - node->knockout = k; - node->isolated = i; - - return nil; -} - -fz_rect -fz_boundblendnode(fz_blendnode *node, fz_matrix ctm) -{ - fz_node *child; - fz_rect bbox; - fz_rect temp; - - child = node->super.first; - if (!child) - return fz_emptyrect; - - bbox = fz_boundnode(child, ctm); - - child = child->next; - while (child) - { - temp = fz_boundnode(child, ctm); - bbox = fz_mergerects(temp, bbox); - child = child->next; - } - - return bbox; -} - -void -fz_dropblendnode(fz_blendnode *node) -{ - fz_dropcolorspace(node->cs); -} - -/* - * Transform - */ - -fz_error * -fz_newtransformnode(fz_node **nodep, fz_matrix m) -{ - fz_transformnode *node; - - node = fz_malloc(sizeof (fz_transformnode)); - if (!node) - return fz_outofmem; - *nodep = (fz_node*)node; - - fz_initnode((fz_node*)node, FZ_NTRANSFORM); - node->m = m; - - return nil; -} - -fz_rect -fz_boundtransformnode(fz_transformnode *node, fz_matrix ctm) -{ - if (!node->super.first) - return fz_emptyrect; - return fz_boundnode(node->super.first, fz_concat(node->m, ctm)); -} - -/* - * Meta info - */ - -fz_error * -fz_newmetanode(fz_node **nodep, fz_obj *name, fz_obj *dict) -{ - fz_metanode *node; - - node = fz_malloc(sizeof (fz_metanode)); - if (!node) - return fz_outofmem; - *nodep = (fz_node*)node; - - fz_initnode((fz_node*)node, FZ_NMETA); - node->name = nil; - node->dict = nil; - - if (name) - node->name = fz_keepobj(name); - if (dict) - node->dict = fz_keepobj(dict); - - return nil; -} - -void -fz_dropmetanode(fz_metanode *node) -{ - if (node->name) - fz_dropobj(node->name); - if (node->dict) - fz_dropobj(node->dict); -} - -fz_rect -fz_boundmetanode(fz_metanode *node, fz_matrix ctm) -{ - if (!node->super.first) - return fz_emptyrect; - return fz_boundnode(node->super.first, ctm); -} - -/* - * Link to tree - */ - -fz_error * -fz_newlinknode(fz_node **nodep, fz_tree *subtree) -{ - fz_linknode *node; - - node = fz_malloc(sizeof (fz_linknode)); - if (!node) - return fz_outofmem; - *nodep = (fz_node*)node; - - fz_initnode((fz_node*)node, FZ_NLINK); - node->tree = fz_keeptree(subtree); - - return nil; -} - -void -fz_droplinknode(fz_linknode *node) -{ - fz_droptree(node->tree); -} - -fz_rect -fz_boundlinknode(fz_linknode *node, fz_matrix ctm) -{ - return fz_boundtree(node->tree, ctm); -} - -/* - * Solid color - */ - -fz_error * -fz_newcolornode(fz_node **nodep, fz_colorspace *cs, int n, float *v) -{ - fz_colornode *node; - int i; - - node = fz_malloc(sizeof(fz_colornode) + sizeof(float) * n); - if (!node) - return fz_outofmem; - *nodep = (fz_node*)node; - - fz_initnode((fz_node*)node, FZ_NCOLOR); - node->cs = fz_keepcolorspace(cs); - node->n = n; - for (i = 0; i < n; i++) - node->samples[i] = v[i]; - - return nil; -} - -fz_rect -fz_boundcolornode(fz_colornode *node, fz_matrix ctm) -{ - return fz_infiniterect; -} - -void -fz_dropcolornode(fz_colornode *node) -{ - fz_dropcolorspace(node->cs); -} - -/* - * Image node - */ - -fz_error * -fz_newimagenode(fz_node **nodep, fz_image *image) -{ - fz_imagenode *node; - - node = fz_malloc(sizeof (fz_imagenode)); - if (!node) - return fz_outofmem; - *nodep = (fz_node*)node; - - fz_initnode((fz_node*)node, FZ_NIMAGE); - node->image = fz_keepimage(image); - - return nil; -} - -void -fz_dropimagenode(fz_imagenode *node) -{ - fz_dropimage(node->image); -} - -fz_rect -fz_boundimagenode(fz_imagenode *node, fz_matrix ctm) -{ - fz_rect bbox; - bbox.min.x = 0; - bbox.min.y = 0; - bbox.max.x = 1; - bbox.max.y = 1; - return fz_transformaabb(ctm, bbox); -} - -/* - * Shade node - */ - -fz_error * -fz_newshadenode(fz_node **nodep, fz_shade *shade) -{ - fz_shadenode *node; - - node = fz_malloc(sizeof (fz_shadenode)); - if (!node) - return fz_outofmem; - *nodep = (fz_node*)node; - - fz_initnode((fz_node*)node, FZ_NSHADE); - node->shade = fz_keepshade(shade); - - return nil; -} - -void -fz_dropshadenode(fz_shadenode *node) -{ - fz_dropshade(node->shade); -} - -fz_rect -fz_boundshadenode(fz_shadenode *node, fz_matrix ctm) -{ - return fz_boundshade(node->shade, ctm); -} - |