From 6ddde92a3a45e970b05770633dc6a337d5d013c5 Mon Sep 17 00:00:00 2001 From: Tor Andersson Date: Mon, 27 Sep 2004 02:15:04 +0200 Subject: Initial import --- tree/image.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 tree/image.c (limited to 'tree/image.c') diff --git a/tree/image.c b/tree/image.c new file mode 100644 index 00000000..7991ded3 --- /dev/null +++ b/tree/image.c @@ -0,0 +1,49 @@ +#include + +fz_error * +fz_newimage(fz_node **nodep, int w, int h, int n, int bpc, int cs) +{ + fz_image *node; + + node = fz_malloc(sizeof (fz_image)); + if (!node) + return fz_outofmem; + *nodep = (fz_node*)node; + + fz_initnode((fz_node*)node, FZ_NIMAGE); + node->w = w; + node->h = h; + node->n = n; + node->bpc = bpc; + node->cs = cs; + node->data = nil; + + return nil; +} + +void +fz_freeimage(fz_image *node) +{ + fz_free(node->data); + fz_free(node); +} + +fz_rect +fz_boundimage(fz_image *node, fz_matrix ctm) +{ + fz_point ll, lr, ul, ur; + fz_rect r; + + ll = fz_transformpoint(ctm, (fz_point){0,0}); + lr = fz_transformpoint(ctm, (fz_point){1,0}); + ul = fz_transformpoint(ctm, (fz_point){0,1}); + ur = fz_transformpoint(ctm, (fz_point){1,1}); + + r.min.x = MIN4(ll.x, lr.x, ul.x, ur.x); + r.min.y = MIN4(ll.y, lr.y, ul.y, ur.y); + r.max.x = MAX4(ll.x, lr.x, ul.x, ur.x); + r.max.y = MAX4(ll.y, lr.y, ul.y, ur.y); + + return r; +} + -- cgit v1.2.3