summaryrefslogtreecommitdiff
path: root/render
diff options
context:
space:
mode:
authorTor Andersson <tor@ghostscript.com>2004-10-05 07:23:36 +0200
committerTor Andersson <tor@ghostscript.com>2004-10-05 07:23:36 +0200
commit7ad0eac4b8c81c5123ef5a62b23ba2895dd997c8 (patch)
tree09d5530e86be7e7b9da37dff2668e31d18a78fb5 /render
parent00905a4e2b959ccc3b79381acbf1d3b8e5319e8e (diff)
downloadmupdf-7ad0eac4b8c81c5123ef5a62b23ba2895dd997c8.tar.xz
refactor and rename node types
Diffstat (limited to 'render')
-rw-r--r--render/fill.c2
-rw-r--r--render/render.c24
-rw-r--r--render/stroke.c35
3 files changed, 35 insertions, 26 deletions
diff --git a/render/fill.c b/render/fill.c
index 4605726d..fdb12205 100644
--- a/render/fill.c
+++ b/render/fill.c
@@ -65,7 +65,7 @@ bezier(fz_gel *gel, fz_matrix *ctm, float flatness,
}
fz_error *
-fz_fillpath(fz_gel *gel, fz_path *path, fz_matrix ctm, float flatness)
+fz_fillpath(fz_gel *gel, fz_pathnode *path, fz_matrix ctm, float flatness)
{
fz_error *error;
float x1, y1, x2, y2, x3, y3;
diff --git a/render/render.c b/render/render.c
index 64856dd2..bb875ee3 100644
--- a/render/render.c
+++ b/render/render.c
@@ -60,12 +60,12 @@ fz_freerenderer(fz_renderer *gc)
}
fz_error *
-fz_renderover(fz_renderer *gc, fz_over *over, fz_matrix ctm, fz_pixmap *out)
+fz_renderover(fz_renderer *gc, fz_overnode *over, fz_matrix ctm, fz_pixmap *out)
{
fz_error *error;
fz_node *node;
- for (node = over->child; node; node = node->next)
+ for (node = over->super.child; node; node = node->next)
{
error = fz_rendernode(gc, node, ctm, out);
if (error)
@@ -76,12 +76,12 @@ fz_renderover(fz_renderer *gc, fz_over *over, fz_matrix ctm, fz_pixmap *out)
}
fz_error *
-fz_rendermask(fz_renderer *gc, fz_mask *mask, fz_matrix ctm, fz_pixmap *out)
+fz_rendermask(fz_renderer *gc, fz_masknode *mask, fz_matrix ctm, fz_pixmap *out)
{
fz_error *error;
fz_node *node;
- for (node = mask->child; node; node = node->next)
+ for (node = mask->super.child; node; node = node->next)
{
error = fz_rendernode(gc, node, ctm, out);
if (error)
@@ -92,10 +92,10 @@ fz_rendermask(fz_renderer *gc, fz_mask *mask, fz_matrix ctm, fz_pixmap *out)
}
fz_error *
-fz_rendertransform(fz_renderer *gc, fz_transform *xform, fz_matrix ctm, fz_pixmap *out)
+fz_rendertransform(fz_renderer *gc, fz_transformnode *transform, fz_matrix ctm, fz_pixmap *out)
{
- ctm = fz_concat(ctm, xform->m);
- return fz_rendernode(gc, xform->child, ctm, out);
+ ctm = fz_concat(ctm, transform->m);
+ return fz_rendernode(gc, transform->super.child, ctm, out);
}
@@ -124,7 +124,7 @@ void composite(fz_pixmap *out, fz_glyph *gl, int xo, int yo)
}
fz_error *
-fz_rendertext(fz_renderer *gc, fz_text *text, fz_matrix ctm, fz_pixmap *out)
+fz_rendertext(fz_renderer *gc, fz_textnode *text, fz_matrix ctm, fz_pixmap *out)
{
fz_error *error;
fz_glyph gl;
@@ -169,13 +169,13 @@ fz_rendernode(fz_renderer *gc, fz_node *node, fz_matrix ctm, fz_pixmap *out)
switch (node->kind)
{
case FZ_NOVER:
- return fz_renderover(gc, (fz_over*)node, ctm, out);
+ return fz_renderover(gc, (fz_overnode*)node, ctm, out);
case FZ_NMASK:
- return fz_rendermask(gc, (fz_mask*)node, ctm, out);
+ return fz_rendermask(gc, (fz_masknode*)node, ctm, out);
case FZ_NTRANSFORM:
- return fz_rendertransform(gc, (fz_transform*)node, ctm, out);
+ return fz_rendertransform(gc, (fz_transformnode*)node, ctm, out);
case FZ_NTEXT:
- return fz_rendertext(gc, (fz_text*)node, ctm, out);
+ return fz_rendertext(gc, (fz_textnode*)node, ctm, out);
default:
return nil;
}
diff --git a/render/stroke.c b/render/stroke.c
index 1203f71b..cd4f5a13 100644
--- a/render/stroke.c
+++ b/render/stroke.c
@@ -8,7 +8,10 @@ struct sctx
fz_matrix *ctm;
float flatness;
- fz_stroke *stroke;
+ int linecap;
+ int linejoin;
+ float linewidth;
+ float miterlimit;
fz_point beg[2];
fz_point seg[2];
int sn, bn;
@@ -43,7 +46,7 @@ arc(struct sctx *s,
float ox, oy, nx, ny;
int n, i;
- r = fabs(s->stroke->linewidth);
+ r = fabs(s->linewidth);
theta = 2 * M_SQRT2 * sqrt(s->flatness / r);
th0 = atan2(y0, x0);
th1 = atan2(y1, x1);
@@ -87,7 +90,7 @@ linestroke(struct sctx *s, fz_point a, fz_point b)
float dx = b.x - a.x;
float dy = b.y - a.y;
- float scale = s->stroke->linewidth / sqrt(dx * dx + dy * dy);
+ float scale = s->linewidth / sqrt(dx * dx + dy * dy);
float dlx = dy * scale;
float dly = -dx * scale;
@@ -104,9 +107,9 @@ static fz_error *
linejoin(struct sctx *s, fz_point a, fz_point b, fz_point c)
{
fz_error *error;
- float miterlimit = s->stroke->miterlimit;
- float linewidth = s->stroke->linewidth;
- int linejoin = s->stroke->linejoin;
+ float miterlimit = s->miterlimit;
+ float linewidth = s->linewidth;
+ int linejoin = s->linejoin;
float dx0, dy0;
float dx1, dy1;
float dlx0, dly0;
@@ -208,8 +211,8 @@ linecap(struct sctx *s, fz_point a, fz_point b)
{
fz_error *error;
float flatness = s->flatness;
- float linewidth = s->stroke->linewidth;
- int linecap = s->stroke->linecap;
+ float linewidth = s->linewidth;
+ int linecap = s->linecap;
float dx = b.x - a.x;
float dy = b.y - a.y;
@@ -268,7 +271,7 @@ linedot(struct sctx *s, fz_point a)
{
fz_error *error;
float flatness = s->flatness;
- float linewidth = s->stroke->linewidth;
+ float linewidth = s->linewidth;
int n = ceil(M_PI / (M_SQRT2 * sqrt(flatness / linewidth)));
float ox = a.x - linewidth;
float oy = a.y;
@@ -453,7 +456,7 @@ strokebezier(struct sctx *s,
}
fz_error *
-fz_strokepath(fz_gel *gel, fz_path *path, fz_matrix ctm, float flatness)
+fz_strokepath(fz_gel *gel, fz_pathnode *path, fz_matrix ctm, float flatness)
{
fz_error *error;
struct sctx s;
@@ -464,7 +467,10 @@ fz_strokepath(fz_gel *gel, fz_path *path, fz_matrix ctm, float flatness)
s.ctm = &ctm;
s.flatness = flatness;
- s.stroke = path->stroke;
+ s.linecap = path->linecap;
+ s.linejoin = path->linejoin;
+ s.linewidth = path->linewidth;
+ s.miterlimit = path->miterlimit;
s.sn = 0;
s.bn = 0;
s.dot = 0;
@@ -645,7 +651,7 @@ dashbezier(struct sctx *s,
}
fz_error *
-fz_dashpath(fz_gel *gel, fz_path *path, fz_matrix ctm, float flatness)
+fz_dashpath(fz_gel *gel, fz_pathnode *path, fz_matrix ctm, float flatness)
{
fz_error *error;
struct sctx s;
@@ -656,7 +662,10 @@ fz_dashpath(fz_gel *gel, fz_path *path, fz_matrix ctm, float flatness)
s.ctm = &ctm;
s.flatness = flatness;
- s.stroke = path->stroke;
+ s.linecap = path->linecap;
+ s.linejoin = path->linejoin;
+ s.linewidth = path->linewidth;
+ s.miterlimit = path->miterlimit;
s.sn = 0;
s.bn = 0;
s.dot = 0;