diff options
Diffstat (limited to 'tree')
-rw-r--r-- | tree/cmap.c | 2 | ||||
-rw-r--r-- | tree/colorspace.c | 4 | ||||
-rw-r--r-- | tree/debug.c | 1 | ||||
-rw-r--r-- | tree/node1.c | 5 | ||||
-rw-r--r-- | tree/node2.c | 22 | ||||
-rw-r--r-- | tree/text.c | 31 |
6 files changed, 15 insertions, 50 deletions
diff --git a/tree/cmap.c b/tree/cmap.c index 1d1b3e6d..577ba7c0 100644 --- a/tree/cmap.c +++ b/tree/cmap.c @@ -389,7 +389,7 @@ fz_lookupcid(fz_cmap *cmap, int cpt) return -1; } -char * +unsigned char * fz_decodecpt(fz_cmap *cmap, unsigned char *buf, int *cpt) { int i, k; diff --git a/tree/colorspace.c b/tree/colorspace.c index af0239f5..2a3e8e87 100644 --- a/tree/colorspace.c +++ b/tree/colorspace.c @@ -39,14 +39,10 @@ fz_stdconvcolor(fz_colorspace *srcs, float *srcv, fz_colorspace *dsts, float *ds int i; if (srcs != dsts) { -//printf("convert color from %s to %s\n ", srcs->name, dsts->name); -//for(i=0;i<srcs->n;i++)printf("%g ", srcv[i]);printf("\n"); srcs->toxyz(srcs, srcv, xyz); -//printf(" %g %g %g\n ", xyz[0], xyz[1], xyz[2]); dsts->fromxyz(dsts, xyz, dstv); for (i = 0; i < dsts->n; i++) dstv[i] = CLAMP(dstv[i], 0.0, 1.0); -//for(i=0;i<dsts->n;i++)printf("%g ", dstv[i]);printf("\n"); } else { diff --git a/tree/debug.c b/tree/debug.c index e55d56e7..58cb35a1 100644 --- a/tree/debug.c +++ b/tree/debug.c @@ -165,7 +165,6 @@ static void lispnode(fz_node *node, int level) case FZ_NPATH: lisppath((fz_pathnode*)node, level); break; case FZ_NTEXT: lisptext((fz_textnode*)node, level); break; case FZ_NIMAGE: lispimage((fz_imagenode*)node, level); break; - case FZ_NSHADE: break;//lispshade((fz_shadenode*)node, level); break; case FZ_NLINK: lisplink((fz_linknode*)node, level); break; } } diff --git a/tree/node1.c b/tree/node1.c index 2d98d63d..eb29391f 100644 --- a/tree/node1.c +++ b/tree/node1.c @@ -52,9 +52,6 @@ fz_dropnode(fz_node *node) case FZ_NIMAGE: fz_dropimagenode((fz_imagenode *) node); break; - case FZ_NSHADE: - // XXX fz_dropshadenode((fz_shadenode *) node); - break; case FZ_NLINK: fz_droplinknode((fz_linknode *) node); break; @@ -87,8 +84,6 @@ fz_boundnode(fz_node *node, fz_matrix ctm) return fz_boundtextnode((fz_textnode *) node, ctm); case FZ_NIMAGE: return fz_boundimagenode((fz_imagenode *) node, ctm); - case FZ_NSHADE: - // XXX return fz_boundshadenode((fz_shadenode *) node, ctm); case FZ_NLINK: return fz_boundlinknode((fz_linknode *) node, ctm); case FZ_NMETA: diff --git a/tree/node2.c b/tree/node2.c index 0af3ab7d..542b1590 100644 --- a/tree/node2.c +++ b/tree/node2.c @@ -287,25 +287,17 @@ fz_newimagenode(fz_node **nodep, fz_image *image) void fz_dropimagenode(fz_imagenode *node) { - // XXX fz_dropimage(node->image); + fz_dropimage(node->image); } fz_rect fz_boundimagenode(fz_imagenode *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; + fz_rect bbox; + bbox.min.x = 0; + bbox.min.y = 0; + bbox.max.x = 1; + bbox.max.y = 1; + return fz_transformaabb(ctm, bbox); } diff --git a/tree/text.c b/tree/text.c index 951fdada..a7581cf9 100644 --- a/tree/text.c +++ b/tree/text.c @@ -30,7 +30,6 @@ fz_rect fz_boundtextnode(fz_textnode *text, fz_matrix ctm) { fz_matrix trm; - fz_point ul, ur, ll, lr; fz_rect bbox; fz_rect fbox; int i; @@ -51,15 +50,7 @@ fz_boundtextnode(fz_textnode *text, fz_matrix ctm) bbox.max.y = MAX(bbox.max.y, text->els[i].y); } - ll.x = bbox.min.x; ll.y = bbox.min.y; ll = fz_transformpoint(ctm, ll); - ul.x = bbox.min.x; ul.y = bbox.max.y; ul = fz_transformpoint(ctm, ul); - ur.x = bbox.max.x; ur.y = bbox.max.y; ur = fz_transformpoint(ctm, ur); - lr.x = bbox.max.x; lr.y = bbox.min.y; lr = fz_transformpoint(ctm, lr); - - bbox.min.x = MIN4(ll.x, ul.x, ur.x, lr.x); - bbox.min.y = MIN4(ll.y, ul.y, ur.y, lr.y); - bbox.max.x = MAX4(ll.x, ul.x, ur.x, lr.x); - bbox.max.y = MAX4(ll.y, ul.y, ur.y, lr.y); + bbox = fz_transformaabb(ctm, bbox); /* find bbox of font in trm * ctm space */ @@ -72,22 +63,14 @@ fz_boundtextnode(fz_textnode *text, fz_matrix ctm) fbox.max.x = text->font->bbox.max.x * 0.001; fbox.max.y = text->font->bbox.max.y * 0.001; - ll.x = fbox.min.x; ll.y = fbox.min.y; ll = fz_transformpoint(trm, ll); - ul.x = fbox.min.x; ul.y = fbox.max.y; ul = fz_transformpoint(trm, ul); - ur.x = fbox.max.x; ur.y = fbox.max.y; ur = fz_transformpoint(trm, ur); - lr.x = fbox.max.x; lr.y = fbox.min.y; lr = fz_transformpoint(trm, lr); - - fbox.min.x = MIN4(ll.x, ul.x, ur.x, lr.x); - fbox.min.y = MIN4(ll.y, ul.y, ur.y, lr.y); - fbox.max.x = MAX4(ll.x, ul.x, ur.x, lr.x); - fbox.max.y = MAX4(ll.y, ul.y, ur.y, lr.y); + fbox = fz_transformaabb(trm, fbox); - bbox.min.x += MIN4(ll.x, ul.x, ur.x, lr.x); - bbox.min.y += MIN4(ll.y, ul.y, ur.y, lr.y); - bbox.max.x += MAX4(ll.x, ul.x, ur.x, lr.x); - bbox.max.y += MAX4(ll.y, ul.y, ur.y, lr.y); + /* expand glyph origin bbox by font bbox */ -// printf("text [ %g %g %g %g ]\n", bbox.min.x, bbox.min.y, bbox.max.x, bbox.max.y); + bbox.min.x += fbox.min.x; + bbox.min.y += fbox.min.y; + bbox.max.x += fbox.max.x; + bbox.max.y += fbox.max.y; return bbox; } |