diff options
author | Robin Watts <robin.watts@artifex.com> | 2016-06-28 16:03:29 +0100 |
---|---|---|
committer | Robin Watts <robin.watts@artifex.com> | 2016-06-28 16:27:57 +0100 |
commit | cd100e900b4bd5de4fd9b5971a00fa7c280bcd7d (patch) | |
tree | 501eb15974698a14cbc044d23deb14daf857991b | |
parent | 5c41dcd3f3458f7e1562a9493b4cba0da83f4188 (diff) | |
download | mupdf-cd100e900b4bd5de4fd9b5971a00fa7c280bcd7d.tar.xz |
Mudraw: Fix interation with banding and display list.
We had moved the ctm into the display device, which meant it
no longer transformed the bounds given to the list device to
do scissoring. Move it back.
Same fix for muraster.
-rw-r--r-- | source/tools/mudraw.c | 6 | ||||
-rw-r--r-- | source/tools/muraster.c | 6 |
2 files changed, 6 insertions, 6 deletions
diff --git a/source/tools/mudraw.c b/source/tools/mudraw.c index 4912bd52..0521a9b0 100644 --- a/source/tools/mudraw.c +++ b/source/tools/mudraw.c @@ -545,15 +545,15 @@ static void drawband(fz_context *ctx, fz_page *page, fz_display_list *list, cons else fz_clear_pixmap_with_value(ctx, pix, 255); - dev = fz_new_draw_device(ctx, ctm, pix); + dev = fz_new_draw_device(ctx, NULL, pix); if (lowmemory) fz_enable_device_hints(ctx, dev, FZ_NO_CACHE); if (alphabits_graphics == 0) fz_enable_device_hints(ctx, dev, FZ_DONT_INTERPOLATE_IMAGES); if (list) - fz_run_display_list(ctx, list, dev, &fz_identity, tbounds, cookie); + fz_run_display_list(ctx, list, dev, ctm, tbounds, cookie); else - fz_run_page(ctx, page, dev, &fz_identity, cookie); + fz_run_page(ctx, page, dev, ctm, cookie); fz_drop_device(ctx, dev); dev = NULL; diff --git a/source/tools/muraster.c b/source/tools/muraster.c index c74b1e3b..e5d886f4 100644 --- a/source/tools/muraster.c +++ b/source/tools/muraster.c @@ -703,13 +703,13 @@ static int drawband(fz_context *ctx, fz_page *page, fz_display_list *list, const { fz_clear_pixmap_with_value(ctx, pix, 255); - dev = fz_new_draw_device(ctx, ctm, pix); + dev = fz_new_draw_device(ctx, NULL, pix); if (alphabits_graphics == 0) fz_enable_device_hints(ctx, dev, FZ_DONT_INTERPOLATE_IMAGES); if (list) - fz_run_display_list(ctx, list, dev, &fz_identity, tbounds, cookie); + fz_run_display_list(ctx, list, dev, ctm, tbounds, cookie); else - fz_run_page(ctx, page, dev, &fz_identity, cookie); + fz_run_page(ctx, page, dev, ctm, cookie); fz_drop_device(ctx, dev); dev = NULL; |