diff options
author | Robin Watts <robin.watts@artifex.com> | 2011-11-14 18:22:13 +0000 |
---|---|---|
committer | Robin Watts <robin.watts@artifex.com> | 2011-11-15 15:20:54 +0000 |
commit | 9c0a49060475b2dea1e4c2668bebd1d566113a7b (patch) | |
tree | 49e45a691cf105f4266d5c6b7242a4a3256c1200 /xps/muxps.h | |
parent | 60c0544742931da63db623ad7a79ba3758704cc1 (diff) | |
parent | fd6def85f22b598d4c278e76138ab7dccbb84c36 (diff) | |
download | mupdf-9c0a49060475b2dea1e4c2668bebd1d566113a7b.tar.xz |
Merge branch 'master' into context
Mostly redoing the xps_context to xps_document change and adding
contexts to newly written code.
Conflicts:
apps/pdfapp.c
apps/pdfapp.h
apps/x11_main.c
apps/xpsdraw.c
draw/draw_device.c
draw/draw_scale.c
fitz/base_object.c
fitz/fitz.h
pdf/mupdf.h
pdf/pdf_interpret.c
pdf/pdf_outline.c
pdf/pdf_page.c
xps/muxps.h
xps/xps_doc.c
xps/xps_xml.c
Diffstat (limited to 'xps/muxps.h')
-rw-r--r-- | xps/muxps.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/xps/muxps.h b/xps/muxps.h index 48ad2ae0..18ca528e 100644 --- a/xps/muxps.h +++ b/xps/muxps.h @@ -15,6 +15,8 @@ typedef struct xps_document_s xps_document; #define REL_START_PART \ "http://schemas.microsoft.com/xps/2005/06/fixedrepresentation" +#define REL_DOC_STRUCTURE \ + "http://schemas.microsoft.com/xps/2005/06/documentstructure" #define REL_REQUIRED_RESOURCE \ "http://schemas.microsoft.com/xps/2005/06/required-resource" #define REL_REQUIRED_RESOURCE_RECURSIVE \ @@ -70,22 +72,32 @@ void xps_free_part(xps_document *doc, xps_part *part); typedef struct xps_fixdoc_s xps_fixdoc; typedef struct xps_page_s xps_page; +typedef struct xps_target_s xps_target; struct xps_fixdoc_s { char *name; + char *outline; xps_fixdoc *next; }; struct xps_page_s { char *name; + int number; int width; int height; xml_element *root; xps_page *next; }; +struct xps_target_s +{ + char *name; + int page; + xps_target *next; +}; + int xps_read_page_list(xps_document *doc); void xps_debug_page_list(xps_document *doc); void xps_free_page_list(xps_document *doc); @@ -94,6 +106,10 @@ int xps_count_pages(xps_document *doc); xps_page *xps_load_page(xps_document *doc, int number); void xps_free_page(xps_document *doc, xps_page *page); +fz_outline *xps_load_outline(xps_document *doc); + +int xps_find_link_target(xps_document *doc, char *target_uri); + /* * Images, fonts, and colorspaces. */ @@ -207,6 +223,9 @@ struct xps_document_s xps_fixdoc *last_fixdoc; /* last fixed document */ xps_page *first_page; /* first page of document */ xps_page *last_page; /* last page of document */ + int page_count; + + xps_target *target; /* link targets */ char *base_uri; /* base uri for parsing XML and resolving relative paths */ char *part_uri; /* part uri for parsing metadata relations */ |