diff options
| author | Simon Tatham <anakin@pobox.com> | 2004-04-13 15:05:03 +0000 |
|---|---|---|
| committer | Simon Tatham <anakin@pobox.com> | 2004-04-13 15:05:03 +0000 |
| commit | 7f9a818c2187960bda0cf3cae515ee8a7ad91481 (patch) | |
| tree | d96b5c2e50bd83ffde685f0bf9a14c9eab229d28 /paper.h | |
| parent | 5737b1da42ad79dae7f9a4fdcda9ea716846019c (diff) | |
| download | halibut-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.h | 19 |
1 files changed, 19 insertions, 0 deletions
@@ -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. */ |