diff options
author | Tor Andersson <tor.andersson@artifex.com> | 2016-07-07 13:33:38 +0200 |
---|---|---|
committer | Tor Andersson <tor.andersson@artifex.com> | 2016-07-08 12:04:51 +0200 |
commit | 5f11fd5eb7096d15f92abbb9d7d84d0c35eb8f53 (patch) | |
tree | 45850a97e5d251decba95c77a0b0cce2c967a29a /source/pdf/pdf-form.c | |
parent | e82910771b7896b0cfff98b04d2ffe0a56cae0b4 (diff) | |
download | mupdf-5f11fd5eb7096d15f92abbb9d7d84d0c35eb8f53.tar.xz |
Slim pdf_annot struct: remove cached pagerect field.
Diffstat (limited to 'source/pdf/pdf-form.c')
-rw-r--r-- | source/pdf/pdf-form.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/source/pdf/pdf-form.c b/source/pdf/pdf-form.c index 6889e07f..3e39409e 100644 --- a/source/pdf/pdf-form.c +++ b/source/pdf/pdf-form.c @@ -583,14 +583,16 @@ int pdf_pass_event(fz_context *ctx, pdf_document *doc, pdf_page *page, pdf_ui_ev pdf_hotspot *hp = &doc->hotspot; fz_point *pt = &(ui_event->event.pointer.pt); int changed = 0; + fz_rect bbox; if (page == NULL) return 0; for (annot = page->annots; annot; annot = annot->next) { - if (pt->x >= annot->pagerect.x0 && pt->x <= annot->pagerect.x1) - if (pt->y >= annot->pagerect.y0 && pt->y <= annot->pagerect.y1) + pdf_bound_annot(ctx, annot, &bbox); + if (pt->x >= bbox.x0 && pt->x <= bbox.x1) + if (pt->y >= bbox.y0 && pt->y <= bbox.y1) break; } @@ -1166,11 +1168,9 @@ void pdf_field_set_text_color(fz_context *ctx, pdf_document *doc, pdf_obj *field fz_rect *pdf_bound_widget(fz_context *ctx, pdf_widget *widget, fz_rect *rect) { pdf_annot *annot = (pdf_annot *)widget; - - if (rect == NULL) - return NULL; - *rect = annot->pagerect; - + pdf_obj *obj = pdf_dict_get(ctx, annot->obj, PDF_NAME_Rect); + pdf_to_rect(ctx, obj, rect); + fz_transform_rect(rect, &annot->page_ctm); return rect; } |