diff options
author | Tor Andersson <tor.andersson@artifex.com> | 2011-04-01 14:51:57 +0200 |
---|---|---|
committer | Tor Andersson <tor.andersson@artifex.com> | 2011-04-01 14:51:57 +0200 |
commit | 706c332d78120675f26164c93f59f8f16b3a885e (patch) | |
tree | 9ebffb1d1b8ef6582597cc6965f4e4634174f2e2 /xps/xpsglyphs.c | |
parent | 324d663baa86f9355f7a336b60f706ce31d4f9ca (diff) | |
download | mupdf-706c332d78120675f26164c93f59f8f16b3a885e.tar.xz |
xps: Repeat enough tiles to cover the shape being filled.
Diffstat (limited to 'xps/xpsglyphs.c')
-rw-r--r-- | xps/xpsglyphs.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/xps/xpsglyphs.c b/xps/xpsglyphs.c index 372cf222..05b12ed3 100644 --- a/xps/xpsglyphs.c +++ b/xps/xpsglyphs.c @@ -328,6 +328,8 @@ xps_parse_glyphs(xps_context *ctx, fz_matrix ctm, int is_sideways = 0; int bidi_level = 0; + fz_rect area; + /* * Extract attributes and extended attributes. */ @@ -498,11 +500,13 @@ xps_parse_glyphs(xps_context *ctx, fz_matrix ctm, atof(origin_x_att), atof(origin_y_att), is_sideways, bidi_level, indices_att, unicode_att, 1); + area = fz_boundtext(ctx->text, ctm); + ctx->dev->cliptext(ctx->dev->user, ctx->text, ctm, 0); fz_freetext(ctx->text); ctx->text = nil; - xps_parse_brush(ctx, ctm, fill_uri, dict, fill_tag); + xps_parse_brush(ctx, ctm, area, fill_uri, dict, fill_tag); ctx->dev->popclip(ctx->dev->user); } |