summaryrefslogtreecommitdiff
path: root/paper.h
diff options
context:
space:
mode:
authorSimon Tatham <anakin@pobox.com>2004-04-13 15:05:03 +0000
committerSimon Tatham <anakin@pobox.com>2004-04-13 15:05:03 +0000
commit7f9a818c2187960bda0cf3cae515ee8a7ad91481 (patch)
treed96b5c2e50bd83ffde685f0bf9a14c9eab229d28 /paper.h
parent5737b1da42ad79dae7f9a4fdcda9ea716846019c (diff)
downloadhalibut-7f9a818c2187960bda0cf3cae515ee8a7ad91481.zip
halibut-7f9a818c2187960bda0cf3cae515ee8a7ad91481.tar.gz
halibut-7f9a818c2187960bda0cf3cae515ee8a7ad91481.tar.bz2
halibut-7f9a818c2187960bda0cf3cae515ee8a7ad91481.tar.xz
Implement PDF link annotations: both internal hyperlinks within the
document, and references to external URLs for which acroread will start a web browser. [originally from svn r4060]
Diffstat (limited to 'paper.h')
-rw-r--r--paper.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/paper.h b/paper.h
index 3b4a944..4ba0908 100644
--- a/paper.h
+++ b/paper.h
@@ -17,6 +17,8 @@ typedef struct line_data_Tag line_data;
typedef struct page_data_Tag page_data;
typedef struct subfont_map_entry_Tag subfont_map_entry;
typedef struct text_fragment_Tag text_fragment;
+typedef struct xref_Tag xref;
+typedef struct xref_dest_Tag xref_dest;
/*
* This data structure represents the overall document, in the form
@@ -215,6 +217,11 @@ struct page_data_Tag {
text_fragment *first_text;
text_fragment *last_text;
/*
+ * Cross-references.
+ */
+ xref *first_xref;
+ xref *last_xref;
+ /*
* This spare pointer field is for use by the client backends.
*/
void *spare;
@@ -228,6 +235,18 @@ struct text_fragment_Tag {
char *text;
};
+struct xref_dest_Tag {
+ enum { NONE, PAGE, URL } type;
+ page_data *page;
+ char *url;
+};
+
+struct xref_Tag {
+ xref *next;
+ int lx, rx, ty, by;
+ xref_dest dest;
+};
+
/*
* Functions and data exported from psdata.c.
*/