summaryrefslogtreecommitdiff
path: root/pdf/pdf_xobject.c
diff options
context:
space:
mode:
authorPaul Gardiner <paulg.artifex@glidos.net>2012-10-29 11:22:29 +0000
committerPaul Gardiner <paulg.artifex@glidos.net>2012-10-29 11:28:03 +0000
commitc16cadec123f6150cee4008aa4836fbb8ffb0db6 (patch)
treeac0bb7787e37045e69ed7ad64e1a0e9d95e311e4 /pdf/pdf_xobject.c
parent246d59d7c4a41bda9ef28ca38eba3be5f67726cc (diff)
downloadmupdf-c16cadec123f6150cee4008aa4836fbb8ffb0db6.tar.xz
Add fz_update_page
Regenerate dirty appearance streams and report changed annotations since last call. Also include a partial revert of changes in 96f335bc, that turn out not to be necessary. fz_update_page must now be called between each document-changing event and the next render. pdfapp.c and the android app have been updated to do so, but do not yet take advantage of the possibility to render only the updated areas of the screen.
Diffstat (limited to 'pdf/pdf_xobject.c')
-rw-r--r--pdf/pdf_xobject.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/pdf/pdf_xobject.c b/pdf/pdf_xobject.c
index 19de0363..4d7243b6 100644
--- a/pdf/pdf_xobject.c
+++ b/pdf/pdf_xobject.c
@@ -52,6 +52,7 @@ pdf_load_xobject(pdf_document *xref, pdf_obj *dict)
form->contents = NULL;
form->colorspace = NULL;
form->me = NULL;
+ form->iteration = 0;
/* Store item immediately, to avoid possible recursion if objects refer back to this one */
pdf_store_item(ctx, dict, form, pdf_xobject_size(form));
@@ -182,6 +183,7 @@ pdf_new_xobject(pdf_document *xref, fz_rect *bbox, fz_matrix *mat)
form->contents = NULL;
form->colorspace = NULL;
form->me = NULL;
+ form->iteration = 0;
form->bbox = *bbox;
@@ -235,6 +237,7 @@ void pdf_update_xobject_contents(pdf_document *xref, pdf_xobject *form, fz_buffe
pdf_dict_dels(form->contents, "Filter");
pdf_dict_puts(form->contents, "Length", len);
pdf_update_stream(xref, pdf_to_num(form->contents), buffer);
+ form->iteration ++;
}
fz_always(ctx)
{