summaryrefslogtreecommitdiff
path: root/xps/xpsglyphs.c
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2011-04-01 14:51:57 +0200
committerTor Andersson <tor.andersson@artifex.com>2011-04-01 14:51:57 +0200
commit706c332d78120675f26164c93f59f8f16b3a885e (patch)
tree9ebffb1d1b8ef6582597cc6965f4e4634174f2e2 /xps/xpsglyphs.c
parent324d663baa86f9355f7a336b60f706ce31d4f9ca (diff)
downloadmupdf-706c332d78120675f26164c93f59f8f16b3a885e.tar.xz
xps: Repeat enough tiles to cover the shape being filled.
Diffstat (limited to 'xps/xpsglyphs.c')
-rw-r--r--xps/xpsglyphs.c6
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);
}