summaryrefslogtreecommitdiff
path: root/tree
diff options
context:
space:
mode:
Diffstat (limited to 'tree')
-rw-r--r--tree/cmap.c2
-rw-r--r--tree/colorspace.c4
-rw-r--r--tree/debug.c1
-rw-r--r--tree/node1.c5
-rw-r--r--tree/node2.c22
-rw-r--r--tree/text.c31
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;
}