diff options
author | Tor Andersson <tor.andersson@artifex.com> | 2016-07-07 13:40:30 +0200 |
---|---|---|
committer | Tor Andersson <tor.andersson@artifex.com> | 2016-07-08 12:04:51 +0200 |
commit | 048948c9705c47b0ccd4ebf835d4612496ce6eb0 (patch) | |
tree | f8ee62da63fcca7d3f698b43f563ebf516fa0d8e /source/pdf/pdf-appearance.c | |
parent | 5f11fd5eb7096d15f92abbb9d7d84d0c35eb8f53 (diff) | |
download | mupdf-048948c9705c47b0ccd4ebf835d4612496ce6eb0.tar.xz |
Slim pdf_annot struct: remove cached rect field.
Diffstat (limited to 'source/pdf/pdf-appearance.c')
-rw-r--r-- | source/pdf/pdf-appearance.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/source/pdf/pdf-appearance.c b/source/pdf/pdf-appearance.c index e073a1db..1e74fa15 100644 --- a/source/pdf/pdf-appearance.c +++ b/source/pdf/pdf-appearance.c @@ -1564,11 +1564,6 @@ void pdf_update_text_markup_appearance(fz_context *ctx, pdf_document *doc, pdf_a pdf_set_markup_appearance(ctx, doc, annot, color, alpha, line_thickness, line_height); } -static void update_rect(fz_context *ctx, pdf_annot *annot) -{ - pdf_to_rect(ctx, pdf_dict_get(ctx, annot->obj, PDF_NAME_Rect), &annot->rect); -} - void pdf_set_annot_appearance(fz_context *ctx, pdf_document *doc, pdf_annot *annot, fz_rect *rect, fz_display_list *disp_list) { pdf_obj *obj = annot->obj; @@ -1629,8 +1624,6 @@ void pdf_set_annot_appearance(fz_context *ctx, pdf_document *doc, pdf_annot *ann } doc->dirty = 1; - - update_rect(ctx, annot); } fz_catch(ctx) { @@ -2172,8 +2165,10 @@ void pdf_update_free_text_annot_appearance(fz_context *ctx, pdf_document *doc, p { char *contents = pdf_to_str_buf(ctx, pdf_dict_get(ctx, obj, PDF_NAME_Contents)); char *da = pdf_to_str_buf(ctx, pdf_dict_get(ctx, obj, PDF_NAME_DA)); - fz_rect rect = annot->rect; fz_point pos; + fz_rect rect; + + pdf_to_rect(ctx, pdf_dict_get(ctx, annot->obj, PDF_NAME_Rect), &rect); get_font_info(ctx, doc, dr, da, &font_rec); @@ -2358,10 +2353,14 @@ void pdf_set_signature_appearance(fz_context *ctx, pdf_document *doc, pdf_annot fz_try(ctx) { char *da = pdf_to_str_buf(ctx, pdf_dict_get(ctx, obj, PDF_NAME_DA)); - fz_rect rect = annot->rect; + fz_rect annot_rect; fz_rect logo_bounds; fz_matrix logo_tm; unsigned char *bufstr; + fz_rect rect; + + pdf_to_rect(ctx, pdf_dict_get(ctx, annot->obj, PDF_NAME_Rect), &annot_rect); + rect = annot_rect; dlist = fz_new_display_list(ctx, NULL); dev = fz_new_list_device(ctx, dlist); @@ -2399,12 +2398,12 @@ void pdf_set_signature_appearance(fz_context *ctx, pdf_document *doc, pdf_annot if (date) fz_buffer_printf(ctx, fzbuf, "\nDate: %s", date); (void)fz_buffer_storage(ctx, fzbuf, &bufstr); - rect = annot->rect; + rect = annot_rect; rect.x0 = (rect.x0 + rect.x1)/2.0f; text = fit_text(ctx, &font_rec, (char *)bufstr, &rect); fz_fill_text(ctx, dev, text, page_ctm, cs, font_rec.da_rec.col, 1.0f); - rect = annot->rect; + rect = annot_rect; fz_transform_rect(&rect, page_ctm); pdf_set_annot_appearance(ctx, doc, annot, &rect, dlist); |