summaryrefslogtreecommitdiff
path: root/source/pdf/pdf-form.c
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2016-07-07 13:33:38 +0200
committerTor Andersson <tor.andersson@artifex.com>2016-07-08 12:04:51 +0200
commit5f11fd5eb7096d15f92abbb9d7d84d0c35eb8f53 (patch)
tree45850a97e5d251decba95c77a0b0cce2c967a29a /source/pdf/pdf-form.c
parente82910771b7896b0cfff98b04d2ffe0a56cae0b4 (diff)
downloadmupdf-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.c14
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;
}