diff options
author | Tor Andersson <tor@ghostscript.com> | 2004-10-05 07:23:36 +0200 |
---|---|---|
committer | Tor Andersson <tor@ghostscript.com> | 2004-10-05 07:23:36 +0200 |
commit | 7ad0eac4b8c81c5123ef5a62b23ba2895dd997c8 (patch) | |
tree | 09d5530e86be7e7b9da37dff2668e31d18a78fb5 /render | |
parent | 00905a4e2b959ccc3b79381acbf1d3b8e5319e8e (diff) | |
download | mupdf-7ad0eac4b8c81c5123ef5a62b23ba2895dd997c8.tar.xz |
refactor and rename node types
Diffstat (limited to 'render')
-rw-r--r-- | render/fill.c | 2 | ||||
-rw-r--r-- | render/render.c | 24 | ||||
-rw-r--r-- | render/stroke.c | 35 |
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; |