From e54d4225e2d16d2b5cc928294009fce0a5b30718 Mon Sep 17 00:00:00 2001 From: Tor Andersson Date: Fri, 11 May 2012 14:51:11 +0200 Subject: Split part of fz_document interface for pdf_document into separate file. Make a separate constructor function that does not link in the interpreter, so we can save space in the mubusy binary by not including the font and cmap resources. --- pdf/pdf_xref_aux.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 pdf/pdf_xref_aux.c (limited to 'pdf/pdf_xref_aux.c') diff --git a/pdf/pdf_xref_aux.c b/pdf/pdf_xref_aux.c new file mode 100644 index 00000000..2d760334 --- /dev/null +++ b/pdf/pdf_xref_aux.c @@ -0,0 +1,31 @@ +#include "fitz-internal.h" +#include "mupdf-internal.h" + +/* + These functions have been split out of pdf_xref.c to allow tools + to be linked without pulling in the interpreter. The interpreter + references the built-in font and cmap resources which are quite + big. Not linking those into the tools saves roughly 6MB in the + resulting executables. +*/ + +static void pdf_run_page_shim(fz_document *doc, fz_page *page, fz_device *dev, fz_matrix transform, fz_cookie *cookie) +{ + pdf_run_page((pdf_document*)doc, (pdf_page*)page, dev, transform, cookie); +} + +pdf_document * +pdf_open_document_with_stream(fz_stream *file) +{ + pdf_document *doc = pdf_open_document_no_run_with_stream(file); + doc->super.run_page = pdf_run_page_shim; + return doc; +} + +pdf_document * +pdf_open_document(fz_context *ctx, const char *filename) +{ + pdf_document *doc = pdf_open_document_no_run(ctx, filename); + doc->super.run_page = pdf_run_page_shim; + return doc; +} -- cgit v1.2.3