diff options
author | Tor Andersson <tor.andersson@artifex.com> | 2013-06-12 21:08:58 +0200 |
---|---|---|
committer | Robin Watts <robin.watts@artifex.com> | 2013-06-12 20:11:29 +0100 |
commit | f9ff77036a2a85ab990244191e1b7ba4b1a1665e (patch) | |
tree | 1b755daa943779afe1e768219641442c3d47dd26 | |
parent | b0246ddffd10b60dd1f3013b1d236cbe539ae0e4 (diff) | |
download | mupdf-f9ff77036a2a85ab990244191e1b7ba4b1a1665e.tar.xz |
Call begin/end page in pdfapp.
-rw-r--r-- | apps/pdfapp.c | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/apps/pdfapp.c b/apps/pdfapp.c index 6e6e5920..13d51a30 100644 --- a/apps/pdfapp.c +++ b/apps/pdfapp.c @@ -536,6 +536,16 @@ static void pdfapp_recreate_annotationslist(pdfapp_t *app) app->errored = errored; } +static void pdfapp_runpage(pdfapp_t *app, fz_device *dev, const fz_matrix *ctm, const fz_rect *rect, fz_cookie *cookie) +{ + fz_begin_page(dev, rect, ctm); + if (app->page_list) + fz_run_display_list(app->page_list, dev, ctm, rect, cookie); + if (app->annotations_list) + fz_run_display_list(app->annotations_list, dev, ctm, rect, cookie); + fz_end_page(dev); +} + #define MAX_TITLE 256 static void pdfapp_updatepage(pdfapp_t *app) @@ -557,12 +567,7 @@ static void pdfapp_updatepage(pdfapp_t *app) fz_rect_from_irect(&bounds, fz_round_rect(&ibounds, &bounds)); fz_clear_pixmap_rect_with_value(app->ctx, app->image, 255, &ibounds); idev = fz_new_draw_device_with_bbox(app->ctx, app->image, &ibounds); - - if (app->page_list) - fz_run_display_list(app->page_list, idev, &ctm, &bounds, NULL); - if (app->annotations_list) - fz_run_display_list(app->annotations_list, idev, &ctm, &bounds, NULL); - + pdfapp_runpage(app, idev, &ctm, &bounds, NULL); fz_free_device(idev); } @@ -606,10 +611,7 @@ static void pdfapp_showpage(pdfapp_t *app, int loadpage, int drawpage, int repai if (app->page_list || app->annotations_list) { tdev = fz_new_text_device(app->ctx, app->page_sheet, app->page_text); - if (app->page_list) - fz_run_display_list(app->page_list, tdev, &fz_identity, &fz_infinite_rect, &cookie); - if (app->annotations_list) - fz_run_display_list(app->annotations_list, tdev, &fz_identity, &fz_infinite_rect, &cookie); + pdfapp_runpage(app, tdev, &fz_identity, &fz_infinite_rect, &cookie); fz_free_device(tdev); } } @@ -650,10 +652,7 @@ static void pdfapp_showpage(pdfapp_t *app, int loadpage, int drawpage, int repai if (app->page_list || app->annotations_list) { idev = fz_new_draw_device(app->ctx, app->image); - if (app->page_list) - fz_run_display_list(app->page_list, idev, &ctm, &bounds, &cookie); - if (app->annotations_list) - fz_run_display_list(app->annotations_list, idev, &ctm, &bounds, &cookie); + pdfapp_runpage(app, idev, &ctm, &bounds, &cookie); fz_free_device(idev); } if (app->invert) |