summaryrefslogtreecommitdiff
path: root/source/svg
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2017-12-07 15:15:26 +0100
committerTor Andersson <tor.andersson@artifex.com>2017-12-13 15:01:05 +0100
commiteacd070190d0c7a7fbc905a2a292f38e282b5a82 (patch)
tree57971ec5acec6b5867cc313c3d2f6f6f619e35fe /source/svg
parentfa9cd085533f68367c299e058ab3fbb7ad8a2dc6 (diff)
downloadmupdf-eacd070190d0c7a7fbc905a2a292f38e282b5a82.tar.xz
Parse XML using pool allocator.
This needs adding a fz_xml_doc type to hold the pool.
Diffstat (limited to 'source/svg')
-rw-r--r--source/svg/svg-doc.c14
-rw-r--r--source/svg/svg-imp.h2
2 files changed, 8 insertions, 8 deletions
diff --git a/source/svg/svg-doc.c b/source/svg/svg-doc.c
index d89093a3..a651c9ae 100644
--- a/source/svg/svg-doc.c
+++ b/source/svg/svg-doc.c
@@ -14,7 +14,7 @@ svg_drop_document(fz_context *ctx, fz_document *doc_)
{
svg_document *doc = (svg_document*)doc_;
fz_drop_tree(ctx, doc->idmap, NULL);
- fz_drop_xml(ctx, doc->root);
+ fz_drop_xml(ctx, doc->xml);
}
static int
@@ -29,7 +29,7 @@ svg_bound_page(fz_context *ctx, fz_page *page_, fz_rect *rect)
svg_page *page = (svg_page*)page_;
svg_document *doc = page->doc;
- svg_parse_document_bounds(ctx, doc, doc->root);
+ svg_parse_document_bounds(ctx, doc, fz_xml_root(doc->xml));
rect->x0 = 0;
rect->y0 = 0;
@@ -43,7 +43,7 @@ svg_run_page(fz_context *ctx, fz_page *page_, fz_device *dev, const fz_matrix *c
{
svg_page *page = (svg_page*)page_;
svg_document *doc = page->doc;
- svg_run_document(ctx, doc, doc->root, dev, ctm);
+ svg_run_document(ctx, doc, fz_xml_root(doc->xml), dev, ctm);
}
static void
@@ -87,19 +87,19 @@ static fz_document *
svg_open_document_with_buffer(fz_context *ctx, fz_buffer *buf)
{
svg_document *doc;
- fz_xml *root;
+ fz_xml_doc *xml;
- root = fz_parse_xml(ctx, buf, 0);
+ xml = fz_parse_xml(ctx, buf, 0);
doc = fz_new_derived_document(ctx, svg_document);
doc->super.drop_document = svg_drop_document;
doc->super.count_pages = svg_count_pages;
doc->super.load_page = svg_load_page;
- doc->root = root;
+ doc->xml = xml;
doc->idmap = NULL;
- svg_build_id_map(ctx, doc, root);
+ svg_build_id_map(ctx, doc, fz_xml_root(xml));
return (fz_document*)doc;
}
diff --git a/source/svg/svg-imp.h b/source/svg/svg-imp.h
index 45566074..ad86b536 100644
--- a/source/svg/svg-imp.h
+++ b/source/svg/svg-imp.h
@@ -6,7 +6,7 @@ typedef struct svg_document_s svg_document;
struct svg_document_s
{
fz_document super;
- fz_xml *root;
+ fz_xml_doc *xml;
fz_tree *idmap;
float width;
float height;