summaryrefslogtreecommitdiff
path: root/source/pdf/pdf-xref.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/pdf/pdf-xref.c')
-rw-r--r--source/pdf/pdf-xref.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/source/pdf/pdf-xref.c b/source/pdf/pdf-xref.c
index 19b1f4f7..82fe7db1 100644
--- a/source/pdf/pdf-xref.c
+++ b/source/pdf/pdf-xref.c
@@ -2698,9 +2698,24 @@ pdf_obj *pdf_progressive_advance(fz_context *ctx, pdf_document *doc, int pagenum
return doc->linear_page_refs[pagenum];
}
+pdf_document *pdf_document_from_fz_document(fz_context *ctx, fz_document *ptr)
+{
+ return (pdf_document *)((ptr && ptr->count_pages == (void*)pdf_count_pages) ? ptr : NULL);
+}
+
+pdf_page *pdf_page_from_fz_page(fz_context *ctx, fz_page *ptr)
+{
+ return (pdf_page *)((ptr && ptr->bound_page == (void*)pdf_bound_page) ? ptr : NULL);
+}
+
+pdf_annot *pdf_annot_from_fz_annot(fz_context *ctx, fz_annot *ptr)
+{
+ return (pdf_annot *)((ptr && ptr->bound_annot == (void*)pdf_bound_annot) ? ptr : NULL);
+}
+
pdf_document *pdf_specifics(fz_context *ctx, fz_document *doc)
{
- return (pdf_document *)((doc && doc->close == (fz_document_close_fn *)pdf_close_document) ? doc : NULL);
+ return pdf_document_from_fz_document(ctx, doc);
}
pdf_obj *