summaryrefslogtreecommitdiff
path: root/xps
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2012-01-11 23:50:12 +0100
committerTor Andersson <tor.andersson@artifex.com>2012-01-11 23:50:12 +0100
commited625b85feb08e0aa60e27494e72f7487e9b05a5 (patch)
tree160ea690429333c90c2796b929656dfbd2eac394 /xps
parent8f94cb1c9a9d59177326348cfd8f79ae441b9803 (diff)
downloadmupdf-ed625b85feb08e0aa60e27494e72f7487e9b05a5.tar.xz
Add xps_run_page function.
Diffstat (limited to 'xps')
-rw-r--r--xps/muxps.h3
-rw-r--r--xps/xps_tile.c10
2 files changed, 13 insertions, 0 deletions
diff --git a/xps/muxps.h b/xps/muxps.h
index 188935c8..95b68860 100644
--- a/xps/muxps.h
+++ b/xps/muxps.h
@@ -173,6 +173,8 @@ void xps_debug_resource_dictionary(xps_resource *dict);
* Fixed page/graphics parsing.
*/
+void xps_run_page(xps_document *doc, xps_page *page, fz_device *dev, fz_matrix ctm, fz_cookie *cookie);
+
void xps_parse_fixed_page(xps_document *doc, fz_matrix ctm, xps_page *page);
void xps_parse_canvas(xps_document *doc, fz_matrix ctm, fz_rect area, char *base_uri, xps_resource *dict, xml_element *node);
void xps_parse_path(xps_document *doc, fz_matrix ctm, char *base_uri, xps_resource *dict, xml_element *node);
@@ -244,6 +246,7 @@ struct xps_document_s
float alpha;
/* Current device */
+ fz_cookie *cookie;
fz_device *dev;
};
diff --git a/xps/xps_tile.c b/xps/xps_tile.c
index 1acdd369..842e4cda 100644
--- a/xps/xps_tile.c
+++ b/xps/xps_tile.c
@@ -356,3 +356,13 @@ xps_parse_fixed_page(xps_document *doc, fz_matrix ctm, xps_page *page)
if (dict)
xps_free_resource_dictionary(doc, dict);
}
+
+void
+xps_run_page(xps_document *doc, xps_page *page, fz_device *dev, fz_matrix ctm, fz_cookie *cookie)
+{
+ doc->cookie = cookie;
+ doc->dev = dev;
+ xps_parse_fixed_page(doc, ctm, page);
+ doc->cookie = NULL;
+ doc->dev = NULL;
+}