summaryrefslogtreecommitdiff
path: root/source/pdf/pdf-appearance.c
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2016-07-07 13:40:30 +0200
committerTor Andersson <tor.andersson@artifex.com>2016-07-08 12:04:51 +0200
commit048948c9705c47b0ccd4ebf835d4612496ce6eb0 (patch)
treef8ee62da63fcca7d3f698b43f563ebf516fa0d8e /source/pdf/pdf-appearance.c
parent5f11fd5eb7096d15f92abbb9d7d84d0c35eb8f53 (diff)
downloadmupdf-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.c21
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);